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

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.

Monday, 11 October 2010

Howto Linux hybrid graphics on Asus Eee 1215N

One of the hybrid-graphics Launchpad team members has reported about the use of a modified version of acpi_call to swich on/off the nvidia optimus card on the Asus Eee 1215N models:

[Hybrid-graphics-linux] Asus 1215N success

I successfully powered down the Nvidia device in my Asus 1215N.  I modified the apci_call module and created a script to power it off and on.  Here is the github fork:

I owe a huge thanks to Mkottman for acpi_call and George Shearer for m11xr2hack.  Those sources were excellent for learning about acpi and buffers.

I modified the acpi_call module to allow byte buffers to be passed as parameters, and also to return the acpi_object result in /proc/acpi/call.  Being able to see the result helped me figure out some of the state in the acpi methods.

The 1215N is similar to the m11x r2 in that it requires a special method (_DSM) being called with buffer arguments before the _PS3 method will turn the power off.   I also found that the _PS0 method turns the power back on.  After turning off the power, the power state appears to be set in the _PSC object: 0x0 when on, and 0x3 when off.  Except this isn't accurate after the system has been put in standby - the power is on (according to the battery rate) but the_PSC is still 0x3.  I have to use the script to turn the power off again after coming out of standby.