> > To sum up, and if we take the above patches into consideration: > - on boot, one or more GPUs are powered on, an init script would queue > a GPU switch to the integrated one. The other GPU would be switched off > (automatically?) > - when X/wayland is running, queue the requests using DIGD or DDIS. If > the integrated GPU is used, allow offloading to the discrete GPU with > DRI_PRIME (which will again power up automatically thanks to the > runtime PM patches above). > My concerns here would be: > - Do we know how to turn off the integrated GPU automatically, if the > user only used the internal screen and wanted to use the discrete GPU? > - If only the discrete GPU is powered on, do we know how to power on > the integrated GPU so it can drive the external screen when plugged in? > - While plymouth is short-lived at boot, Wayland and X11 GNOME sessions > use the GPU. The first user session will run on a VT that's separate > from the greeter to implement fast-user switching. So, if we wanted to > force using the other GPU for future sessions, we'd need to tell gdm to > kill its graphical session and to respawn it so it doesn't hog the GPU > and avoid the switch happening. Correct? > > FWIW, this is what I had written down a couple of months ago, about > supporting dual-GPU computers with GNOME: > https://wiki.gnome.org/Design/OS/DualGPU > > Those use-cases are a lot simpler than what could be achieved with the > vga_switcheroo sub-system, but they probably cover the "90%" use cases > we're interested in. > > Once I've managed to get the MacBook Pro into a good state, I also have > a Lenovo machine around with dual GPU, though I couldn't tell you what > the discrete one is. Okay so I'm not sure you are heading in the best direction here. My first suggestion is to stop using the MBP, start using the Lenovo. At least from a Fedora perspective, that is the hw we have more installs of and care more about. Apple HW is not the same as PC hw in this case and we aren't going to achieve the same level of integration that OSX has, not without some serious rewrites of mutter and the whole X stack. You shouldn't be caring about the MUX. MUXed hw apart from the MBP is pretty much gone since Windows 7 timeframes. So I don't think we should be putting too much effort into the MUX yet. With the current way we keep gdm running, we can't do MUX switch on logout anymore. It was only ever a hack. So I'd just not send commands to vga switcheroo at all. So I'm missing what the overall goal here is. To provide better support for dual-gpu laptops and hotpluggable USB devices in the DE? Under X, Fedora carries a server patch to autoconfigure providers, we'd need to drop that and have something in the DE notice when a new provider shows up and configures it, perhaps something to allow removal of providers that are already bound (so we could detach a secondary GPU for boxes to passthrough). Then we need something in the DE to allow us to launch or have some app info that would decide to launch certain 3D using apps on the more powerful processor. However since nouveau doesn't quite reclock most of the secondary GPUs that can often end up not being that much more powerful. We also want reverse prime to work properly, so if you plug in an external monitor to a port connected to the secondary GPU that we can pick it up and configure it just like all the other monitors. As for the MBP, if we want to spend time chasing the rainbow of OS X, then we've a lot of work to do. OSX can smoothly switch the compositor from rendering on the intel gpu to the nvidia gpu in a vblank. It's truly seamless. To do that we'd need to a) move to wayland, b) get mutter to be a lot smarter than mutter currently is. Dave. _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx