Jump to content

hk93

hk93

Member Since 19 Jun 2009
Offline Last Active Nov 24 2012 01:50 AM
-----

Topics I've Started

Patched BIOS for native speedstep on ASUS N53SV

20 October 2012 - 02:38 PM

I patched it yesterday. My notebook is now running on a completely native AppleIntelCPUPowerManagement without any patch.

Enjoy.

[DEV] Disabling the nvidia card for battery life (optimus)

30 October 2011 - 11:05 PM

Yesterday I told myself as a n53sv owner that if there were not any way to use the DGPU (nvidia 540m in my case) there must be at least a way to disable it to save battery power.
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 disabled
The 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:
Posted Image

(yes, michyprima is my 2nd nickname)

Attached File  NoNvidia.kext.zip   9.36KB   642 downloads

Please report success or problems.
Enjoy
© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy