For more information, join the team subscribe to the mailing list 
at the bottom of the Launchpad page

    http://launchpad.net/~hybrid-graphics-linux 

Please join this team if you are new by clicking on the "Join 
Team" link at the right of the Launchpad page. It's important to 
have as many users in the community as possible to request for 
appropriate support.

Friday 22 April 2011

github.com/awilliam module explained

An updated README for this module now provides a theory of operation for the vga switcheroo:

https://github.com/awilliam/asus-switcheroo/blob/master/README

To switch between the integrated and discrete cards, a vga switcher subsystem exists in recent Linux kernels that takes into account different clients - the cards - and handles them according to what the user wants - with the handler.

Right now a client has to be associated to an X session, so to switch clients, one has to logout, switch and login again. The Optimus PRIME project for multi-GPU support aims at a more seamless use of both cards at the same time (see http://xorg.freedesktop.org/wiki/SummerOfCodeIdeas).

Back to the awilliam's module, the handler primarily manages the multiplexing of for the displays between the devices using ACPI. This module is an ACPI based handler that makes the right ACPI calls to notify the cards to the X session.

Now one of the tricky bits is that one has to make use of the available ACPI calls, and these are sometimes vendor-specific. A bunch of ASUS models and a few other laptop models have the MXMX-MXDS ACPI method, which works like this: the handler first calls the MXMX method followed by the MXDS method to produce the right hardware switch. The parameters don't seem to matter much for the tested laptops so far, but we might find that this is different for other laptop models. This vendor-specific ACPI calling is not ideal, and it would be better to have the details of the more generic WMI MXM interface, that extends ACPI.

More on this soon.

 

Followers