Contribute
Register

[Guide] Disabling discrete graphics in dual-GPU laptops

Looks like that did it, I can't see the NVIDIA card from DPCIManager.

Removed this line from the HGOF method on SSDT-8-82C1
Code:
            Store (Zero, \_SB.PCI0.LPCB.EC0.GFXT)

left _OFF method as is on SSDT-9-82C1 and added that line to the _REG method on DSDT
Code:
Method (_REG, 2, NotSerialized)  // _REG: Region Availability
            {
                If (LAnd (LEqual (Arg0, 0x03), LEqual (Arg1, One)))
                {
                    Store (One, ECOK)
                    GBAS ()
                    ECMI ()
                    Store (Zero, \_SB.PCI0.LPCB.EC0.GFXT)

                }
            }

Thanks Rehabman

By the way is there another way to verify that the card is off and not consuming any battery?

If you compare ioreg with the patch vs. without the patch you will see differences (as related to the Nvidia device) under PCI0.
 
Good day,
Is there any way to control that the dGPU is really disabled?
Because everything worked fine, but after sleep, the gpu indicator integrated into the laptop changes color. However, I do not notice high temperatures, nor a higher battery consuption, everything seems correct.
Thank you!
 
Good day,
Is there any way to control that the dGPU is really disabled?
Because everything worked fine, but after sleep, the gpu indicator integrated into the laptop changes color. However, I do not notice high temperatures, nor a higher battery consuption, everything seems correct.
Thank you!

Refer to post #1 regarding _WAK/_PTS patching.
And no ideas without "problem reporting" files as per FAQ.
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 gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.
 
Refer to post #1 regarding _WAK/_PTS patching.
And no ideas without "problem reporting" files as per FAQ.
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 gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.

Okey, okay, I finally did it.
Use the patch on my _WAK/_PTS dsdt and the results were:
1- That the orange light does not light up after sleeping.
2- But the sleep does not work, the fan never go out.

I also have doubts about whether the ssdt that deactivates NVIDIA really disables it or just omits it at the beginning but it's still on. Originally I had created a ssdt that only omitted dGPU but then I found one on the Internet that seemed to work better and is the one I currently use.
Honestly, I find it difficult to follow this guide since I can not find a _INI method that is in a class with the same name as some _OFF method.
Also, I only have one _OFF method that is not inside a PowerResource macro and there is no _INI method for a class with the same name.
I do not know if I explain myself

Oh, and I almost forgot, this is a bonus question. If I can boot without the DVMT-prealloc patch (from config.plist) it means that my framebuffer is big enough and I do not need it?

Greetings and many thanks!!
 

Attachments

  • MSI PL62 7RC.zip
    1.9 MB · Views: 67
Okey, okay, I finally did it.
Use the patch on my _WAK/_PTS dsdt and the results were:
1- That the orange light does not light up after sleeping.
2- But the sleep does not work, the fan never go out.

I also have doubts about whether the ssdt that deactivates NVIDIA really disables it or just omits it at the beginning but it's still on. Originally I had created a ssdt that only omitted dGPU but then I found one on the Internet that seemed to work better and is the one I currently use.
Honestly, I find it difficult to follow this guide since I can not find a _INI method that is in a class with the same name as some _OFF method.
Also, I only have one _OFF method that is not inside a PowerResource macro and there is no _INI method for a class with the same name.
I do not know if I explain myself

Oh, and I almost forgot, this is a bonus question. If I can boot without the DVMT-prealloc patch (from config.plist) it means that my framebuffer is big enough and I do not need it?

Greetings and many thanks!!

No files in ACPI/origin. You forgot to press F4. Please read FAQ, "Problem Reporting" again. Carefully.
 

Attachments

  • MSI PL62 7RC.zip
    1.9 MB · Views: 66
Your SSDT-NVIDIA-Disable.aml is wrong.
Bad idea to attempt calling a bunch of unrelated _OFF methods.
Remove all but the code related to actual _OFF path.

Also, your DSDT.aml is not patched correctly.
See guide:
https://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/

Also, MacBookPro14,3 is a poor choice. Use MacBookPro14,1 or MacBookPro11,1.

OK thanks! I'm going to get to work with this.
And about the dvmt-prealloc patch I leave it disabled as long as I do not have kernel panic?
Regards RehabMan
 
- Trying to install High Sierra on an HP ENVY TouchSmart 15-j180ez
- Can't boot the USB installation (Window Server Service only ran for 0 seconds)
- Following the other guides, I believe it's because of the dual graphics (Intel 4600 + NVIDIA)
- Tried disabling the dedicated graphics following this guide and a few others (this one, the one for HP J series and SSDT-DiscreteSpoof.aml), no success, still get stuck when loading WindowServer.

Attached:
- origin.zip (original F4 dump from clover)
- config.plist I'm using
- SSDT-4-1967.dsl -> Disassembled file w/ my patches (used this guide)

Thank you in advance.
 

Attachments

  • origin.zip
    55.8 KB · Views: 82
  • config.plist
    5.1 KB · Views: 219
  • SSDT-4-1967.dsl
    88.4 KB · Views: 105
Back
Top