Shift/Reduce
cp /proc/acpi/dsdt DSDT
And disassemble it:
iasl -d DSDT
In this two DSDTs there is a section like this:
If (CondRefOf (_OSI, Local0))
{
If (_OSI ("Linux"))
{
Store (0x03E8, OSYS)
}
If (_OSI (”Windows 2001″))
{
Store (0×07D1, OSYS)
}
If (_OSI (”Windows 2001 SP1″))
{
Store (0×07D1, OSYS)
}
If (_OSI (”Windows 2001 SP2″))
{
Store (0×07D2, OSYS)
}
If (_OSI (”Windows 2006″))
{
Store (0×07D6, OSYS)
}
}
So we just change
If (_OSI ("Linux"))
{
Store (0x03E8, OSYS)
}
to
If (_OSI ("Linux"))
{
Store (0x07D6, OSYS)
}
Do this on both DSDTs. And now we can compile them.
./iasl -tc DSDT
This will generate two files. One of them has the extension .aml (which is the one want).
Now here is the thing…He have to use just one DSDT at a time. Like, if we want to use the Intel we have to use the changed Nvidia DSDT, and if we want to use the Nvidia we have to use the changed Intel DSDT (Yeah that’s right, Nvidia DSDT for Intel and Intel DSDT for Nvidia).
Copy this changed DSDT to initrd and reconfigure it (This commands are for Ubuntu, so please check your distro documentation for specif instructions on how to do this).
cp DSDT.aml /etc/initramfs-tools/DSDT.aml
sudo dpkg-reconfigure linux-image-$(uname -r)
Now reboot/supend/shutdown and if we have the DSDT for the card you want and have the card itself enabled it should work! But you still have to go to XP to switch form one card to another, which is not that bad I think…I’ll be using the Intel for like 99% of the time :)
If you have any doubt just ask, I asure you this is working great! :)
Btw, here are my changed DSDTs just in case (just compile them and put them into initrd as above).
http://dl.getdropbox.com/u/563152/DSDT_Intel_changed.dsl
http://dl.getdropbox.com/u/563152/DSDT_Nvidia_changed.dsl
Edit: Just added the missing command to disassemble the DSDT before changing it.
No comments:
Post a Comment