I never used anything programming-on-osx-related but I got Xcode and started playing with it.
I must say that it was really easy.
This is the result:
NoNvidia: NoNvidia by michyprima, init NoNvidia: got the ACPI device NoNvidia: disabling nvidia card NoNvidia: nvidia card successfully disabledThe code gets the ACPI device from the PCI device and calls the DOFF method. If your DGPU device (GFX0 in my case) has a DOFF method, you do not have to modify anything (if you don't care about the GFX led remaining white), since the ACPI device is got from the device id (0x0df410de in my case) set in the Info.plist
If your device has not a DOFF method or you want the led to turn blue, you have to do a little mod to your dsdt.
If your disabling function is not DOFF but i.e. GPUOFF is enough to replace any occurrence of GPUOFF with DOFF. (it's not the asus n53sv case)
If you want a complete disable, including the blue led (asus n53sv case) find where the DOFF function is called, in my case the _PS3 method inside the LCDD device:
Method (_PS3, 0, NotSerialized)
{
If (LEqual (^^^GFX0.P3MO, 0x03))
{
DOFF ()
SGPL (0x23, One, Zero)
Store (0x03, ^^^GFX0._PSC)
Store (One, ^^^GFX0.DGPS)
Store (0x02, ^^^GFX0.P3MO)
}
}
and move everything under the DOFF() call at the end of the DOFF method, so you will have:
Method (_PS3, 0, NotSerialized)
{
If (LEqual (^^^GFX0.P3MO, 0x03))
{
DOFF ()
}
}
[…]
Method (DOFF, 0, NotSerialized)
{
If (LNotEqual (MFTM, One))
{
_OFF ()
If (LEqual (CTBO, One))
{
OBCP (Zero)
}
}
SGPL (0x23, One, Zero)
Store (0x03, ^^^GFX0._PSC)
Store (One, ^^^GFX0.DGPS)
Store (0x02, ^^^GFX0.P3MO)
}
Congratulations, you got a better battery life, a cooler laptop, and the blue led back.Result:

(yes, michyprima is my 2nd nickname)
NoNvidia.kext.zip 9.36K
348 downloadsPlease report success or problems.
Enjoy



Sign In
Create Account










