← Back to team overview

hybrid-graphics-linux team mailing list archive

Re: Success on Asus EeePC 1015PN

 

On Wed, 2010-12-22 at 14:27 +0100, Raphael Metzler wrote:
> I really do not understand what this tool is doing. Does it write to
> bios and simply change a flag? But why the hell is linux overwriting
> this flag?
> Does it do something with the efi-partition?
> Maybe the next thing to do is to reverese engineer this application.

What the acpi_call does is it what is in its name - it calls ACPI
methods. ACPI (Advanced Configuration and Power Interface) is a
"platform-independent interfaces for hardware discovery, configuration,
power management and monitoring".

Every GPU has its own ACPI code with various hooks and methods, and this
code is run by the Linux kernel. I am sure that ACPI methods can
overwrite BIOS settings, because this is also what it does in my case -
when I turn off the GPU in Linux, it automatically switches my BIOS
settings to integrated-only.

We already "reverse-engineered" this ACPI code (that's what the SSDT
files are), looking for the methods that turn off the GPU. There may be
side effects we do not know of. Note that this is only a temporary
solution for longer battery, not something that will enable Optimus on
your laptop - we are all waiting for that.

What will really help is if someone could trace Windows ACPI calls for
running code (you need the Debug/Checked version of Windows for that),
like starting a game/3d intensive application, or running the tool you
stated, to see what kind of calls actually start and stop the discrete
GPU.