Contribute
Register

[Guide] Disabling discrete graphics in dual-GPU laptops

Joined
Feb 16, 2016
Messages
20
Motherboard
Gigabyte-H97M-DS3P
CPU
i7-4790K
Graphics
HD 4600, RX 580 8GB
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
  3. Other
I have checked,
Code:
grep -l Method.*_OFF *.dsl
grep -l Method.*_INI *.dsl
grep -l Method.*_ON *.dsl
For all, output is same,
Code:
DSDT.dsl
SSDT-4.dsl
That puts me in both categories mentioned in "Note", and as per my understanding, all I have to do now is use "Call _OFF from _INI (SSDT)" patch from your repo on MaciASL.
Note that this example is complex and not all laptops will have the same configuration. For most, the _INI and _OFF associated with the discrete device are in the same SSDT. In that case it is not necessary to use the External declaration. You can use the "Call _OFF from _INI (SSDT)" patch directly. Some even have it in DSDT (again you can use the patch directly). And not all _OFF methods access the EC, so the movement of the EC related code to _REG is not needed.

It is also possible that the EC related code is more than one line. All such code should be moved to _REG.
However, on DSDT, and SSDT-4, that patch is greyed out.

In DSDT, "Disable from _REG (DSDT)" is apply-able, but I have not applied it yet.

What should I do? also do I need to edit patches from your repo before applying by changing BIOS Device name, as in your patches they are
Code:
into method label _INI parent_label \_SB.PCI0.PEG0.PEGP insert
but in my device they are
Code:
\_SB.PCI0.RP01.PXSX

I tried my best to keep this reply detailed yet small as I could. Thank you for your patience and time Mr. RehabMan!

Edit: Adding those DASL files. Just in case.
 

Attachments

  • patched.zip
    111.5 KB · Views: 46

RehabMan

Moderator
Joined
May 3, 2012
Messages
188,309
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
I have checked,
Code:
grep -l Method.*_OFF *.dsl
grep -l Method.*_INI *.dsl
grep -l Method.*_ON *.dsl
For all, output is same,
Code:
DSDT.dsl
SSDT-4.dsl
That puts me in both categories mentioned in "Note", and as per my understanding, all I have to do now is use "Call _OFF from _INI (SSDT)" patch from your repo on MaciASL.

However, on DSDT, and SSDT-4, that patch is greyed out.

In DSDT, "Disable from _REG (DSDT)" is apply-able, but I have not applied it yet.

What should I do? also do I need to edit patches from your repo before applying by changing BIOS Device name, as in your patches they are
Code:
into method label _INI parent_label \_SB.PCI0.PEG0.PEGP insert
but in my device they are
Code:
\_SB.PCI0.RP01.PXSX

I tried my best to keep this reply detailed yet small as I could. Thank you for your patience and time Mr. RehabMan!

Edit: Adding those DASL files. Just in case.

I had no issue applying the correct patch to SSDT-4.aml as per guide:
Code:
into method label _INI parent_label \_SB.PCI0.RP01.PXSX insert
begin
//added to turn nvidia/radeon off\n
_OFF()\n
end;
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
188,309
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
how do I know if dedicated Nvidia is disabled or not?

You will not see it in System Information->Graphics/Displays.
Also, changes in ioreg (Nvidia device will no longer be on the PCIe bus).
 
Joined
Apr 23, 2018
Messages
71
Motherboard
ASUS Prime H370M-Plus/CSM
CPU
i7-8700
Graphics
HD630, 1920x1080
Mac
  1. MacBook
Mobile Phone
  1. Android
  2. iOS
Hi. I have successfully disabled the Nvidia optimus card in my laptop, and it no longer shows at System Information > Graphics/Displays. However, the fan is going crazy now, spinning at full speed even the temperature is very low. Can I have any clues please? I am attaching the debug info and the patched ACPI files here. Thank you.
 

Attachments

  • debug_2394.zip
    1.6 MB · Views: 40
  • DSDT_SSDT_Patched.zip
    159.2 KB · Views: 39

RehabMan

Moderator
Joined
May 3, 2012
Messages
188,309
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Hi. I have successfully disabled the Nvidia optimus card in my laptop, and it no longer shows at System Information > Graphics/Displays. However, the fan is going crazy now, spinning at full speed even the temperature is very low. Can I have any clues please? I am attaching the debug info and the patched ACPI files here. Thank you.

As per guide, try calling _PS3 instead of _OFF.

Note: You still need to patch DSDT (for example, you have no accommodation for _OSI("Darwin"). Requires an "OS Check Fix" patch or at least _OSI->XOSI + SSDT-XOSI.aml.
https://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/
 
Joined
Aug 11, 2013
Messages
4
Motherboard
Asus x550jx HM86 ( CLOVER UEFI)
CPU
2,59 GHz Intel Core i7 4720HQ
Graphics
NVIDIA 950M + HD4600 / 1366 X 768
Mac
  1. MacBook Pro
I have Asus x550jx I7-4720 Wıth Nvidia 950 and hd4600 boot wıth clover UEFI. I just could not dısable optımus could you guys please have a look
 

Attachments

  • origin.zip
    50.4 KB · Views: 42
  • patched.zip
    98 KB · Views: 65
  • config.plist
    25.2 KB · Views: 146

RehabMan

Moderator
Joined
May 3, 2012
Messages
188,309
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Joined
Aug 11, 2013
Messages
4
Motherboard
Asus x550jx HM86 ( CLOVER UEFI)
CPU
2,59 GHz Intel Core i7 4720HQ
Graphics
NVIDIA 950M + HD4600 / 1366 X 768
Mac
  1. MacBook Pro

RehabMan

Moderator
Joined
May 3, 2012
Messages
188,309
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Top