Contribute
Register

[Guide] Disabling discrete graphics in dual-GPU laptops

when my computer hibernates, the dual gpu is reactivated
 
Thought I'd give this guide a try. Was able to boot like normal after placing patched files in efi/clover/acpi/patched. But I don't know how to verify.

Rehabman - would you mind taking a look at my files. what's the easiest way to verify that it went ok?
 

Attachments

  • jacknick_report_disabledualgpu.zip
    2.5 MB · Views: 60
Thought I'd give this guide a try. Was able to boot like normal after placing patched files in efi/clover/acpi/patched. But I don't know how to verify.

Rehabman - would you mind taking a look at my files. what's the easiest way to verify that it went ok?

There might be an issue...
_OFF calls HGOF, and HGOF has EC references (the calls to WRAM) you didn't patch.
Looking at WRAM, you see it does nothing if ECAV() returns zero.
So, those writes to the EC will not happen.
Read post #1 regarding moving EC related code to _REG.

Also, don't forget to remove SSDT-DiscreteSpoof.aml when you're ready to test (or drop it from the Clover GUI during testing, then remove it when working 100%).

BTW, your ACPI files and Clover setup expose a few Clover bugs. A bug in ACPI/DSDT/FixHeaders is exposing a couple of other bugs in AutoMerge. Without your specific OEM headers and the bug in FixHeaders, the bug with AutoMerge would not have been detected (I'm looking at your Clover bootlog and seeing problems).

I'd like you to try a new build of Clover to correct the bugs once it is ready. Will keep you posted.

Edit... New build of Clover available on bitbucket: Clover_v2.4k_r4359.RM-4503.86e25a09.zip
 
Last edited:
There might be an issue...
_OFF calls HGOF, and HGOF has EC references (the calls to WRAM) you didn't patch.
Looking at WRAM, you see it does nothing if ECAV() returns zero.
So, those writes to the EC will not happen.
Read post #1 regarding moving EC related code to _REG.

Also, don't forget to remove SSDT-DiscreteSpoof.aml when you're ready to test (or drop it from the Clover GUI during testing, then remove it when working 100%).

BTW, your ACPI files and Clover setup expose a few Clover bugs. A bug in ACPI/DSDT/FixHeaders is exposing a couple of other bugs in AutoMerge. Without your specific OEM headers and the bug in FixHeaders, the bug with AutoMerge would not have been detected (I'm looking at your Clover bootlog and seeing problems).

I'd like you to try a new build of Clover to correct the bugs once it is ready. Will keep you posted.

Edit... New build of Clover available on bitbucket: Clover_v2.4k_r4359.RM-4503.86e25a09.zip

Ok. Will try new build tonight.

Is it a straight forward process to reinstall the new clover? Do I just reinstall over the old one? I know it makes a backup of the old EFI folder.

And then do I restart the patching process from the beginning as far as dumping acpi files (f4 at boot), diassembling, etc?

I also have windows installed and don’t want to mess with its ‘bootablity’.

Just little worried I might do it wrong and have to start from scratch. So any tips would be greatly appreciated.
 
A thing that would come in handy in your case is to either try the new clover on a usb pen drive or backup your current clover to the pen drive and then install the new clover on the SSD :)
 
Is it a straight forward process to reinstall the new clover? Do I just reinstall over the old one?

Yes/Yes.

And then do I restart the patching process from the beginning as far as dumping acpi files (f4 at boot), diassembling, etc?

No need to repatch, but do make a new copy of "Problem Reporting" files as per FAQ.
 
My laptop has intel hd520 and GT 940MX. I patched like your guide and after patching, my discrete GPU disappeared in the system information like in the attached picture. Does it mean i have succesfully disabled my discrete graphics card?
 

Attachments

  • upload_2017-12-16_11-21-0.png
    upload_2017-12-16_11-21-0.png
    96.5 KB · Views: 100
A thing that would come in handy in your case is to either try the new clover on a usb pen drive or backup your current clover to the pen drive and then install the new clover on the SSD :)

thanks for the suggestion. But just took a chance a straight installed over the old. No problems.;)

There might be an issue...
_OFF calls HGOF, and HGOF has EC references (the calls to WRAM) you didn't patch.
Looking at WRAM, you see it does nothing if ECAV() returns zero.
So, those writes to the EC will not happen.
Read post #1 regarding moving EC related code to _REG.

This really hurt my brain.:crazy: But my understanding of it from reading the guide, is that I needed to open the DSDT and apply the Disable from _REG patch. I added the \_SB.PCI0.HGOF path to the patch. It compiled with no errors. here's the modified DSDT code.
Code:
Method (_REG, 2, NotSerialized)  // _REG: Region Availability
            {
                If (LEqual (Arg0, 0x03))
                {
                    Store (Arg1, ECFL)
                }
                //added to turn nvidia/radeon off
                If (LAnd(LEqual(Arg0,3),LEqual(Arg1,1)))
                {
                    External(\_SB.PCI0.RP01.PEGP._OFF, MethodObj)
                    \_SB.PCI0.RP01.PEGP._OFF()
                }
                //added to turn nvidia/radeon off
                If (LAnd(LEqual(Arg0,3),LEqual(Arg1,1)))
                {
                    External(\_SB.PCI0.HGOF , MethodObj)
                    \_SB.PCI0.HGOF ()
Is that right? If not, could you please provide some steps and additional info. THANKS!

Also, don't forget to remove SSDT-DiscreteSpoof.aml when you're ready to test (or drop it from the Clover GUI during testing, then remove it when working 100%).

Did this too before testing/rebooting. I just moved it from patched folder. my laptop booted just fine without it! Does that mean the patch worked?

BTW, your ACPI files and Clover setup expose a few Clover bugs. A bug in ACPI/DSDT/FixHeaders is exposing a couple of other bugs in AutoMerge. Without your specific OEM headers and the bug in FixHeaders, the bug with AutoMerge would not have been detected (I'm looking at your Clover bootlog and seeing problems).

I'd like you to try a new build of Clover to correct the bugs once it is ready. Will keep you posted.

Edit... New build of Clover available on bitbucket: Clover_v2.4k_r4359.RM-4503.86e25a09.zip

Got it and installed it before doing any of the things i just mentioned above. My machine booted fine! Hope this fixes the bugs you found!

attaching fresh reporting files. thanks for the help Rehabman!
 

Attachments

  • jacknick_report_clover4359.RM-4506.zip
    2.5 MB · Views: 60
My laptop has intel hd520 and GT 940MX. I patched like your guide and after patching, my discrete GPU disappeared in the system information like in the attached picture. Does it mean i have succesfully disabled my discrete graphics card?

No "Problem Reporting" files attached.
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
Use the tool mentioned in the FAQ, that way it is less likely you'll omit something.
 
Back
Top