Current support and roadmap for discrete graphics card hot switching

Stephane Marchesin marchesin at icps.u-strasbg.fr
Thu Jan 15 04:04:07 PST 2009


On Thu, Jan 15, 2009 at 12:22, Albert Vilella <avilella at gmail.com> wrote:
>>> There is no support, and AFAIK no roadmap either. There are many
>>> technical reasons why this is not possible today. In short, I wouldn't
>>> suggest getting a dual GPU laptop with the purpose of using it under
>>> linux, as one of the GPUs will probably stay unused.
>
> Just to clarify the current situation: in some laptops, like Sony Vaio
> models (SZ-series, Z-series), this feature is "partially" working:
>
> One can do a cold reboot: using the hardware stamina/speed switch in the
> laptop to switch off the discrete
> graphics card (Nvidia) at BIOS time. But the latest models (Z-series) allow
> for a hot switch, right now only in Windows Vista.
> If one installs Linux on these, both the Nvidia and the Intel will appear in
> lspci, but xorg will not be able to handle both,
> and the Nvidia hardware will be wasting battery and not being used.
> Some people has managed to revert back to the cold reboot feature by
> installing Windows XP on the laptop,
> then switching on/off the discrete graphics card at BIOS time.

This is not what you'd call support. This is just the bios exposing a
single graphics card. As far as X.Org is concerned, there is only one
graphics card at a time.

>
> So the next step is the hot switch. My hunch is that Windows Vista does some
> sort of "gdm restart" equivalent,
> by the looks of this video on computer.tv:
>
> Jump to 4:10 for the switching bit:
>
> http://www.youtube.com/watch?v=Qcvu2Aluy7g
>
> This machine is the successor of the SZ premium series, and has a Dynamic
> Hybrid Graphics system that will enable/disable the nvidia graphics card
> using a software "hot" switch instead of a hardware "cold" switch (SZ
> series).
>
> http://vaio-online.sony.com/prod_info/series1/z/interview_Z/index_05.html
>
> Can I ask someone who is expert enough in xorg to give a list of
> blockers/things to try for this to happen, so that people can play with?
> For example, people has been investigating BiosBase on the Nvidia side of
> things:
>
> http://avilella.googlepages.com/vaioz (look for BiosBase)
> http://bugs.freedesktop.org/show_bug.cgi?id=2597#c37
>

Basically, we lack :
- documentation on how to switch GPUs at the laptop level (i.e. do
what the bios does at boot when you choose the card in the bios)
- documentation on cold booting the nvidia GPU
- driver support on both sides implementing proper GPU power up/shut down
(we're talking about something big here)

and if you want to keep your session in between, we lack
- X.Org infrastructure to hand a session from a graphics driver to
another (there are a million of possible problems here)
- drivers supporting said infrastructure
(we're talking about something real huge here)

IMO all this is not very likely to happen. When you buy a laptop on
which you want to run linux, I really suggest you check hardware
compatibility. This is no different than unsupported wifi chips.

Stephane



More information about the xorg mailing list