Contribute
Register

[Guide] Disabling discrete graphics in dual-GPU laptops

If I use the following:

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()
}

I get a compile error at line 185, code 6084 "Object does not exist (_OFF)

As per guide, you must use External to reach symbols that are not in the same SSDT.
You have it commented out...
Must read carefully.
 
Ay yi yi, so many moving parts and so much information!

That did it. I took out the commenting, put back the _OFF(), and it compiled perfectly.

I've attached reporting file for a final check (at least for this part!) Hopefully sleep/wake, etc. will work now.
 
Ay yi yi, so many moving parts and so much information!

That did it. I took out the commenting, put back the _OFF(), and it compiled perfectly.

I've attached reporting file for a final check (at least for this part!) Hopefully sleep/wake, etc. will work now.

Looks good.
 
I found _INI in SSDT-4*.aml,

Code:
Method (_INI, 0, NotSerialized)  // _INI: Initialize
        {
            Store (Zero, \_SB.PCI0.PEG0.PEGP._ADR)
            Store (SVID, HVID)
            Store (SDID, HDID)

However the _OFF is pretty confusing since it's very different from the guide :(

Code:
Method (_OFF, 0, Serialized)  // _OFF: Power Off
        {
            Store (LCTL, ELCT)
            Store (SVID, HVID)
            Store (SDID, HDID)
            Store (EMLW, DMLW)
            SPP0 ()
            Store (One, LNKD)
            Store (Zero, TCNT)
            While (LLess (TCNT, LDLY))
            {
                If (LEqual (LNKS, Zero))
                {
                    Break
                }

                Sleep (0x10)
                Add (TCNT, 0x10, TCNT)
            }

            Store (0x02, AFES)
            If (LGreaterEqual (And (PNHM, 0x0F), 0x03))
            {
                Store (GMXB (), MBDL)
                PDUB (MBDL)
            }

            If (LGreaterEqual (PCSL, 0x04))
            {
                If (LEqual (SC7A, One))
                {
                    C7OK (One)
                }
            }

            SGPO (HLRS, One)
            SGPO (PWEN, Zero)
            Notify (\_SB.PCI0.PEG0, Zero)
            Return (Zero)
        }

Any help would be appreciated..
 

Attachments

  • SSDT-4-1976.dsl
    70 KB · Views: 65
Last edited by a moderator:
I found _INI in SSDT-4*.aml,

Code:
Method (_INI, 0, NotSerialized)  // _INI: Initialize
        {
            Store (Zero, \_SB.PCI0.PEG0.PEGP._ADR)
            Store (SVID, HVID)
            Store (SDID, HDID)

Yes.

However the _OFF is pretty confusing since it's very different from the guide :(

Code:
Method (_OFF, 0, Serialized)  // _OFF: Power Off
        {
            Store (LCTL, ELCT)
            Store (SVID, HVID)
            Store (SDID, HDID)
            Store (EMLW, DMLW)
            SPP0 ()
            Store (One, LNKD)
            Store (Zero, TCNT)
            While (LLess (TCNT, LDLY))
            {
                If (LEqual (LNKS, Zero))
                {
                    Break
                }

                Sleep (0x10)
                Add (TCNT, 0x10, TCNT)
            }

            Store (0x02, AFES)
            If (LGreaterEqual (And (PNHM, 0x0F), 0x03))
            {
                Store (GMXB (), MBDL)
                PDUB (MBDL)
            }

            If (LGreaterEqual (PCSL, 0x04))
            {
                If (LEqual (SC7A, One))
                {
                    C7OK (One)
                }
            }

            SGPO (HLRS, One)
            SGPO (PWEN, Zero)
            Notify (\_SB.PCI0.PEG0, Zero)
            Return (Zero)
        }

Any help would be appreciated..

Nothing unusual there.
 
Could you please tell me how to patch _OFF? I don't quite understand it..

No need to patch _OFF as it has no EC references.
Just call _OFF from _INI... as written in the guide.
 
No need to patch _OFF as it has no EC references.
Just call _OFF from _INI... as written in the guide.
Thank you very much~ Really appreciate it, I've been struggling for hours now before I post it here.. btw Have a beautiful day! :)
 
Can someone help me to disable dedicated nvidia?
Thanks
 

Attachments

  • huaweipatched.zip
    52.8 KB · Views: 64
Back
Top