Contribute
Register

[Guide] Disabling discrete graphics in dual-GPU laptops

Here you go,

By definition an AML is without errors.
I opened this file in MaciASL and it compiles without error.
You must not have attached the actual file you're trying to compile.
(this file appears to be native, not patched).
 
By definition an AML is without errors.
I opened this file in MaciASL and it compiles without error.
You must not have attached the actual file you're trying to compile.
(this file appears to be native, not patched).

Of course it compiles without error. I don't know what do you mean. What file you need then? I don't need any other patch on SSDT-14.I also cannot save the file with the errors on MaciASL to show you right?
 
Of course it compiles without error. I don't know what do you mean. What file you need then? I don't need any other patch on SSDT-14.I also cannot save the file with the errors on MaciASL to show you right?

You should save the file you're trying to compile as .dsl and attach.
I cannot be expected to know what you're doing if you don't provide the file that represents the problem.
 
You should save the file you're trying to compile as .dsl and attach.
I cannot be expected to know what you're doing if you don't provide the file that represents the problem.

You are extremely right. I missed that .dsl point. Sorry. So this is the file which still contains EC0 line however, I already called _OFF method as you have suggested.
 

Attachments

  • SSDT-14.dsl
    69.4 KB · Views: 104
You are extremely right. I missed that .dsl point. Sorry. So this is the file which still contains EC0 line however, I already called _OFF method as you have suggested.

Your edits to the file are incorrect.
For some reason, you renamed _INI to _OFF and this has led to the duplicate definitions of _OFF.
I renamed it back, and made _INI call _OFF:
Code:
        Method (_INI, 0, NotSerialized)  // _OFF: Initialize
        {
            Store (Zero, \_SB.PCI0.RP09.PXSX._ADR)
            _OFF()
        }

The file then compiled without error.

Of course, you still need to remove the EC related line from _OFF (and add it to DSDT _REG).
 
I got it! Thank you. Moving to the next step. Now no errors without EC0 line too!
 
Last edited:
Also this one EC0 related code deleted still contains only one error.

Why did you make edits to HGON?
The edits are to HGOF...
From:
Code:
        Method (HGOF, 0, Serialized)
        {
            H2OP (0xE6)
            If (LEqual (ECON, One))
            {
                Store (Zero, \_SB.PCI0.LPCB.EC0.GATY)
            }

            Sleep (0x0A)
//... rest of original code follows

To:
Code:
        Method (HGOF, 0, Serialized)
        {
            H2OP (0xE6)
            If (LEqual (ECON, One))
            {
            }

            Sleep (0x0A)
//... rest of original code follows

Or:
Code:
        Method (HGOF, 0, Serialized)
        {
            H2OP (0xE6)

            Sleep (0x0A)
//... rest of original code follows
 
Why did you make edits to HGON?
The edits are to HGOF...
From:
Code:
        Method (HGOF, 0, Serialized)
        {
            H2OP (0xE6)
            If (LEqual (ECON, One))
            {
                Store (Zero, \_SB.PCI0.LPCB.EC0.GATY)
            }

            Sleep (0x0A)
//... rest of original code follows

To:
Code:
        Method (HGOF, 0, Serialized)
        {
            H2OP (0xE6)
            If (LEqual (ECON, One))
            {
            }

            Sleep (0x0A)
//... rest of original code follows

Or:
Code:
        Method (HGOF, 0, Serialized)
        {
            H2OP (0xE6)

            Sleep (0x0A)
//... rest of original code follows

So is this right? _OFF + removed EC0 which contains no error.

or I should remove this entire line?

Code:
 If (LEqual (ECON, One))
            {
                Store (Zero, \_SB.PCI0.LPCB.EC0.GATY)
            }
 

Attachments

  • SSDT-14.dsl
    69.4 KB · Views: 113
So is this right? _OFF + removed EC0 which contains no error.

or I should remove this entire line?

Code:
 If (LEqual (ECON, One))
            {
                Store (Zero, \_SB.PCI0.LPCB.EC0.GATY)
            }

You will need to continue through the guide and test it.
If it is not working, read post #1, "Problem Reporting" and attach the required files.
 
You will need to continue through the guide and test it.
If it is not working, read post #1, "Problem Reporting" and attach the required files.

This is a wrap!! Nvidia finally has disappeared. Thank you for all your helps man. I am so grateful!

Those who needed, I wanna share because it was not that easy on Lenovo especially.

SSDT-14

Code:
 Method (_INI, 0, NotSerialized)  // _INI: Initialize
        {
            Store (Zero, \_SB.PCI0.RP09.PXSX._ADR)
            _OFF ()
        }

and

Code:
 Method (HGOF, 0, Serialized)
        {
            H2OP (0xE6)
            If (LEqual (ECON, One))
            {
            }

DSDT

Code:
 If (LEqual (LSTE, One))
                    {
                        Store (0x03, ^^^IGPU.CLID)
                    }

                    Store (LSTE, LIDS)
                }
                //added to turn nvidia/radeon off
                If (LAnd(LEqual(Arg0,3),LEqual(Arg1,1)))
                {
                Store (0x02, \_SB.PCI0.LPCB.EC0.GATY)

                }
            }

            Method (CMFC, 0, Serialized)
            {
                Return (EDID)
            }


CHEERS!
 
Back
Top