Monday, 30 May 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.

 

0 comments:

Labels

(Electronics) 2011: 2012: 3.4GHz 400MHz 4x512 acpi_call Adapter Alienware all-in-one Amd processors AMD's AMD’s Analysis Android Angry Announced Announcement announces Antec Apple Apple's Arctic Arrives Aspire ASRock Athlon Audio Battle Benchmarked Biostar Blackberry Blu-ray Bluetooth Bridge Broadband Browser Budget business Cache camera Chromebook Compound Computer Computers) Computex Concept Cooler Corsair Crysis Dell's Design Desktop Desktops Details Devices Diamond Digital Display Download Drive External Extreme Facebook feature features First flash Fujitsu Fusion Future Galaxy Gaming GeForce Gigabyte Honeycomb HSFPHASECM India Indian iPad iPhone Keyboard Keyboards Keypad Kingston Laptop Laptops latest Latitude launched launches Leaked Lexmark's LGA1155 LGA1366 LGA775 Light Llano Logitech M2N-SLI MacBook Master Medal Media Medion Mini-Review Mobile mobiles module Motherboard MotherBoard's Motherboards Motorola Mouse MSI's MSM8660 Multimedia National NC215S Netbook Netbooks Nexus nFORCE Nokia Non-ECC notebook Notebooks NTLDR NVIDIA NVIDIA's Offers omnia Optical Optimus Option Overclock Overclocked overview panasonic Panda Panel Patriot Pavilion PC2-5300 PC2-6400 Performance Phone Plans player PlayStation Portable Postpaid Power PowerPC Preview Preview: Price Prices ProBook Processor Processors Project Projector Propus Qosmio Quad-Core Qualcomm Quick Radeon RadTech Rates Razer Registry release Released Releases Retail Review Review: Reviews Rupees Rupess Samsung SandForce Sandy Satellite SDRAM Seagate Select Sensitive Series Series™ Server shutdown Shuttle Silent Silicon Silver Single Small Smartphone Smartphones Socket SODIMM Solar Solid Speakers special Specifications Specs Speed Store Super tablet Tablets takes Tariff Technology Tegra Testing Thermal ThinkPad Thunderbolt Toshiba touch TouchPad Touchscreen TouchSmart toughbook Tower Troubleshooting Tutorial: Ultimate Ultra unveils Update Verizon Vertex ViewSonic Viliv Vista Vodafone Voodoo webOS Western white Wi-Drive Wi-Fi WiMax Windows Wireless Workstations: World Writer www.phoronix.com Xperia Zotac

About This Blog

Blog Archive

  © Blogger templates The Professional Template by Ourblogtemplates.com 2008

Back to TOP