Contribute
Register

[Guide] Disabling discrete graphics in dual-GPU laptops

Hi, Rehabman.
My device doesn't have an EC, so I followed the thread and add "SSDT-DDGPU.aml" call _OFF from _INI. I can't see my NVIDIA in my ioreg after doing that.

However, I still get a high overall voltage when my CPU only consumes a little. Can you have a look on my troubleshooting files and check that whether I have to do more to completely stop my NVIDIA? Thanks.
 

Attachments

  • Trouble Shooting.zip
    5.6 MB · Views: 102
Hi, Rehabman.
My device doesn't have an EC, so I followed the thread and add "SSDT-DDGPU.aml" call _OFF from _INI. I can't see my NVIDIA in my ioreg after doing that.

However, I still get a high overall voltage when my CPU only consumes a little. Can you have a look on my troubleshooting files and check that whether I have to do more to completely stop my NVIDIA? Thanks.

It appears that your SSDT-DDGPU.aml is working to disable Nvidia.
But your profile indicates your laptop has no Nvidia.
If your profile is inaccurate, please fix it as per FAQ:
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
 
Hello, Rehabman.
I read your entire guide in the first post but I am quite confused with the provided example files.

the
grep -l Method.*_OFF *.dsl

command points me to the following files :
DSDT.dsl
SSDT-11-XMCC1701.dsl
SSDT-4-XMCC1701.dsl


I opened them in MACiasl but i am not so sure how to edit them.

Here are the _INI and _OFF methods found in the SSDT-11-XMCC1701.dsl file :

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

and

Code:
Method (_OFF, 0, Serialized)  // _OFF: Power Off
            {
                If ((OSYS != 0x07D9))
                {
                    If ((\_SB.PCI0.RP01.PXSX.TDGC == One))
                    {
                        CreateField (\_SB.PCI0.RP01.PXSX.TGPC, Zero, 0x03, GUPC)
                        If ((ToInteger (GUPC) == One))
                        {
                            \_SB.PCI0.RP01.PXSX.GC6I ()
                            _STA = Zero
                        }
                        ElseIf ((ToInteger (GUPC) == 0x02))
                        {
                            \_SB.PCI0.RP01.PXSX.GC6I ()
                            _STA = Zero
                        }
                    }
                    Else
                    {
                        \_SB.PCI0.RP01.PXSX.HGOF ()
                        _STA = Zero
                    }
                }
            }


Thanks in advance for your help
 

Attachments

  • DSDT.dsl
    1 MB · Views: 148
  • SSDT-4-XMCC1701.dsl
    10.1 KB · Views: 107
  • SSDT-11-XMCC1701.dsl
    70.5 KB · Views: 108
Last edited by a moderator:
Hello, Rehabman.
I read your entire guide in the first post but I am quite confused with the provided example files.

the
grep -l Method.*_OFF *.dsl

command points me to the following files :
DSDT.dsl
SSDT-11-XMCC1701.dsl
SSDT-4-XMCC1701.dsl


I opened them in MACiasl but i am not so sure how to edit them.

Here are the _INI and _OFF methods found in the SSDT-11-XMCC1701.dsl file :

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

and

Code:
Method (_OFF, 0, Serialized)  // _OFF: Power Off
            {
                If ((OSYS != 0x07D9))
                {
                    If ((\_SB.PCI0.RP01.PXSX.TDGC == One))
                    {
                        CreateField (\_SB.PCI0.RP01.PXSX.TGPC, Zero, 0x03, GUPC)
                        If ((ToInteger (GUPC) == One))
                        {
                            \_SB.PCI0.RP01.PXSX.GC6I ()
                            _STA = Zero
                        }
                        ElseIf ((ToInteger (GUPC) == 0x02))
                        {
                            \_SB.PCI0.RP01.PXSX.GC6I ()
                            _STA = Zero
                        }
                    }
                    Else
                    {
                        \_SB.PCI0.RP01.PXSX.HGOF ()
                        _STA = Zero
                    }
                }
            }


Thanks in advance for your help

Nothing unusual there. Although you did forget to use the "-dl" flag when you disassembled.

You should be able to simply call _OFF from _INI (as per post #1), since _OFF (and HGOF) seem to have no EC references.
 
how can i resolve sleep and wake intel gpu with hotpach?
The tutorial say that the patching is in dsdt.
 
Hy, can you help me to disable the Nvidia 740m its to complicated for me.
 

Attachments

  • DSDT.aml
    38.7 KB · Views: 170
Last edited:
Hi @RehabMan, I was wondering, is there a way to check if the discrete graphic card is actually disabled ?
 
Last edited:
Back
Top