Paolo7297 Posted September 18, 2016 Share Posted September 18, 2016 Hi to all, I'm not able to disable GPU, i've done all steps, but it's always on and I don't know why. Could you help me? I've got an asus vivobook laptop, all other patches works fine... patched.zip decompiled.zip Link to comment Share on other sites More sharing options...
Administrators Hervé Posted September 18, 2016 Administrators Share Posted September 18, 2016 An IOReg output maybe? Link to comment Share on other sites More sharing options...
Paolo7297 Posted September 18, 2016 Author Share Posted September 18, 2016 Here it is. Thank you MacBook Pro di Paolo.ioreg.zip Link to comment Share on other sites More sharing options...
Administrators Hervé Posted September 18, 2016 Administrators Share Posted September 18, 2016 So nVidia GeForce 840M defined under device PEGP within RP05@001C0004. You should modify the _WAK method so that it turns off the dGPU. Right now it wakes it so even if you disable the dGPU at startup, a wake will re-enable it. In SSDT-9.aml, you have a method EPON that must have been modified since I see it set ONOF to Zero. I would have expected it to set ONOF to One. I'd have kept it that way and created a new method called EPOF that does set ONOF to Zero. So you'd have the following code under \SB.PCI0.RP05.PEGP: Method (EPON, 0, Serialized) { Store (One, ONOF) Return (Zero) } Method (EPOF, 0, Serialized) { Store (Zero, ONOF) Return (Zero) } ` You may then modify the _WAK method in DSDT to the following: Method (_WAK, 1, Serialized) // _WAK: Wake { If (LOr (LLess (Arg0, One), LGreater (Arg0, 0x05))) { Store (0x03, Arg0) } WAK (Arg0) ADBG ("_WAK") If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04))) { // Remove those lines since there is no Device PEG0 in any BIOS tables // If (CondRefOf (\_SB.PCI0.PEG0.PEGP.EPON)) // { // \_SB.PCI0.PEG0.PEGP.EPON () // } If (CondRefOf (\_SB.PCI0.RP05.PEGP.EPON)) { \_SB.PCI0.RP05.PEGP.EPOF () // disables dGPU at Wake } [...] and make sure to add the following at the top of the DSDT under the _SB_.PCI0.RP05.PEGP.EPON external method declaration: External (_SB_.PCI0.RP05.PEGP.EPOF, MethodObj) // 0 Arguments (from opcode) ` Now, in order to load your patched SSDT files, you've got to revise the names you used because the SSDT will only load in the order SSDT, SSDT-1, SSDT-2, SSDT-3, ... Right now, only the SSDT.aml will load and I doubt any of your patched SSDT-6/-8/-9/-10 actually do do. Check through verbose mode. Link to comment Share on other sites More sharing options...
Paolo7297 Posted September 18, 2016 Author Share Posted September 18, 2016 I think that all ssdts are loaded because graphics and brightness are working (I applied patches for them in ssdt-8). In clover boot.log: 8:192 0:000 === [ ACPIPatchedAML ] ==================================== 8:192 0:000 Start: Processing Patched AML(s): Unsorted 8:192 0:000 Inserting SSDT.AML from EFI\CLOVER\ACPI\patched ... Success 8:193 0:001 Inserting SSDT-10.AML from EFI\CLOVER\ACPI\patched ... Success 8:194 0:000 Inserting SSDT-9.AML from EFI\CLOVER\ACPI\patched ... Success 8:194 0:000 Inserting SSDT-8.AML from EFI\CLOVER\ACPI\patched ... Success 8:195 0:000 Inserting SSDT-6.AML from EFI\CLOVER\ACPI\patched ... Success 8:195 0:000 End: Processing Patched AML(s) 8:195 0:000 CPUBase=0 and ApicCPUBase=1 ApicCPUNum=4 So... I tried your method but everytime I boot my vivobook it's still here... I don't know what to do... I'm going to attach patched tables with your edits and original ones... Thank you a lot EDIT: I feel like an idiot... I forced Clover to load ssdts starting from 6 to 10 and now the problem is solved... Thanks!! decompiled.zip origin.zip Link to comment Share on other sites More sharing options...
Recommended Posts