Contribute
Register

[Guide] Disabling discrete graphics in dual-GPU laptops

RehabMan

Moderator
Joined
May 3, 2012
Messages
186,497
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Could not find off method and code as described it in guide.

Your _OFF is in SSDT-*-OptTabl at path _SB.PCI0.PEG0.PEGP.
It appears you have changed your BIOS settings and have an intermix of two different ACPI dumps.
Make sure you remove all ACPI files from ACPI/origin and do F4 extract again to avoid that.
 
Joined
Nov 22, 2012
Messages
2
Motherboard
Intel
CPU
i7 7700HQ
Graphics
6GB NVIDIA 1060
upload_2018-2-15_23-11-53.png


upload_2018-2-15_23-12-47.png


Does it means i have pre disabled dedicated graphics ?
 
Joined
Dec 10, 2013
Messages
161
Motherboard
Huawei Matebook D 2017
CPU
i5-7200U
Graphics
HD 620
Hi RehabMan,
i'm trying to disable my Nvidia 640 but even if i've followed your instruction in the first post it is still there.
The _OFF and _INI are in the same SSDT-5 ... i Have an EC call that i replicated in the DSDT _REG ... but i must have done a mistake somewhere ...
i attach all my files
 

Attachments

  • debug_6740.zip
    1.8 MB · Views: 55

RehabMan

Moderator
Joined
May 3, 2012
Messages
186,497
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Hi RehabMan,
i'm trying to disable my Nvidia 640 but even if i've followed your instruction in the first post it is still there.
The _OFF and _INI are in the same SSDT-5 ... i Have an EC call that i replicated in the DSDT _REG ... but i must have done a mistake somewhere ...
i attach all my files

Your ACPI configuration is wrong.
You have DropOem=true. Should be false.
Also, you should have only the SSDTs that need patching in ACPI/patched.
According to what you write above, I expect that only SSDT-5.aml is present in ACPI/patched. Remove the other SSDTs.

See "Recommended configurations" in the ACPI patching guide for details:
https://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/
 
Joined
Dec 10, 2013
Messages
161
Motherboard
Huawei Matebook D 2017
CPU
i5-7200U
Graphics
HD 620
Your ACPI configuration is wrong.
You have DropOem=true. Should be false.
Also, you should have only the SSDTs that need patching in ACPI/patched.
According to what you write above, I expect that only SSDT-5.aml is present in ACPI/patched. Remove the other SSDTs.

See "Recommended configurations" in the ACPI patching guide for details:
https://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/

Ok .. i will do that asap but even if that's true that i modified only DSDT and SSDT-5 when i disassemble all the other SSDT and check if they have errors i optimized them using MACIASL so i guess that they are better than the original ones .. Am I wrong ?
 
Joined
Dec 10, 2013
Messages
161
Motherboard
Huawei Matebook D 2017
CPU
i5-7200U
Graphics
HD 620

RehabMan

Moderator
Joined
May 3, 2012
Messages
186,497
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Ok .. i will do that asap but even if that's true that i modified only DSDT and SSDT-5 when i disassemble all the other SSDT and check if they have errors i optimized them using MACIASL so i guess that they are better than the original ones .. Am I wrong ?

Ok disabling DropEem did the job!
Thanks !

SSDTs which require no patches should NOT be placed in ACPI/patched.
It is simply not necessary.
 
Joined
Jul 26, 2017
Messages
8
Motherboard
HP Spectre x360 - 15-bl075nr
CPU
i7-7500U
Graphics
Intel HD 620 + Geforce 940MX
Mac
  1. iMac
  2. MacBook Pro
Mobile Phone
  1. iOS
Hello Rehabman,

I have been trying to disable the dedicated card on my laptop without any success.

Here is the _INI method on SSDT-7-82C1

Code:
Scope (\_SB.PCI0.RP01.PEGP)
    {
        Method (_INI, 0, NotSerialized)  // _INI: Initialize
        {
            Store (Zero, \_SB.PCI0.RP01.PEGP._ADR)
        }
    }

and the _OFF method on SSDT-9-82C1

Code:
Method (_OFF, 0, Serialized)  // _OFF: Power Off
        {
            If (LEqual (CTXT, Zero))
            {
                If (LNotEqual (GPRF, One))
                {
                    Store (VGAR, VGAB)
                }

                Store (One, CTXT)
            }

            \_SB.PCI0.HGOF (One)
        }

If I apply the patch Disable from _INI I end up with something like this.

patched _INI method from SSDT-7-82C1

Code:
Scope (\_SB.PCI0.RP01.PEGP)
    {
        Method (_INI, 0, NotSerialized)  // _INI: Initialize
        {
            Store (Zero, \_SB.PCI0.RP01.PEGP._ADR)
            //added to turn nvidia/radeon off
            External(\_SB.PCI0.RP01.PEGP._OFF, MethodObj)
            _OFF()
        }
    }

if I try to boot with the patched SSDT the system hangs and it won't boot and I can't boot without the SSDT-DiscreteSpoof

Attached my files
Thanks.

IMG_0758.JPG
 

Attachments

  • debug_29864.zip
    4.8 MB · Views: 65
Top