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.
0 comments:
Post a Comment