Contribute
Register

[Guide] Disabling discrete graphics in dual-GPU laptops

I assume you also added a correct SortedOrder to config.plist/ACPI/SortedOrder.
Yes actually I meant to quote post #1506 but made a mistake.
Sleep causes restart now so I'll try to fix it.
 
I assume you also added a correct SortedOrder to config.plist/ACPI/SortedOrder.

sorry for my bad English,

I have installed Mac OS Sierra and now wanted to upgrade to Mac OS High Sierra with the following error message: "com.apple.WindowServer with ran for 0 seconds and that it will respawn in 10sec."

I get it with this guide but not there, can give me a hints?
 
sorry for my bad English,

I have installed Mac OS Sierra and now wanted to upgrade to Mac OS High Sierra with the following error message: "com.apple.WindowServer with ran for 0 seconds and that it will respawn in 10sec."

I get it with this guide but not there, can give me a hints?

Your profile is not filled out as per FAQ. Please fix.
http://www.tonymacx86.com/el-capita...faq-read-first-laptop-frequent-questions.html

As for disabling your discrete graphics, read post #1.
 
Yes actually I meant to quote post #1506 but made a mistake.
Sleep causes restart now so I'll try to fix it.
I fixed sleep issue but now after waking from sleep my device works normally for like 5 minutes and then reboots. Did that happen to any one before?
Also my touchpad stops functioning so the problem could be caused by the VoodooI2C kext.
 
I fixed sleep issue but now after waking from sleep my device works normally for like 5 minutes and then reboots. Did that happen to any one before?

No "Problem Reporting" files attached.
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/

Also my touchpad stops functioning so the problem could be caused by the VoodooI2C kext.

Easy way to find out: Remove the VoodooI2C kext.
 
I got these results with grep
Code:
SHAIZUs-MacBook-Pro:patched shaizu$ grep -l Method.*_OFF *.dsl
SSDT-10.dsl
SSDT-3.dsl
SHAIZUs-MacBook-Pro:patched shaizu$ grep -l Method.*_INI *.dsl
DSDT.dsl
SSDT-10.dsl
SSDT-9.dsl
SSDT-PNLF.dsl
SSDT-UIAC.dsl
SSDT.dsl
should I apply this patch from your repo on SSDT-10.dsl to disable discrete graphics?
Code:
#Maintained by: RehabMan for: HP Probook 4x30s/4x40s
# 11a_Radeon_OFF_SSDT.txt

# To disable the Radeon chipset
# Apply these patches to SSDT containing the secondary graphics routines
# "SgTabl" (SSDT-5)
# Include patched version as SSDT-1.aml

# Known issue: Restarting your computer may cause shutdown instead.

# syntax fixes
into scope label \_SB.PCI0.GFX0 code_regex (OperationRegion.*)VRMB\s+\(VRMS\s+\(\)\), replace_matched begin %1VRMB(),VRMS())\n end;
into scope label \_SB.PCI0.GFX0 code_regex (Field\s+\(REVD,[^\}]*\})\) replace_matched begin %1 end;

into scope label \_SB.PCI0.PEGP code_regex (OperationRegion.*)\\XBAS\s+\((.*)\), replace_matched begin %1\\XBAS,%2)\n end;
into scope label \_SB.PCI0.PEGP code_regex (Field\s+\(RPCX,[^\}]*\})\) replace_matched begin %1 end;
into scope label \_SB.PCI0.PEGP.DGFX code_regex (OperationRegion.*)\\GBAS\s+\((.*)\), replace_matched begin %1\\GBAS,%2)\n end;
into scope label \_SB.PCI0.PEGP.DGFX code_regex (Field\s+\(GPIO,[^\}]*\})\) replace_matched begin %1 end;
into scope label \_SB.PCI0.PEGP.DGFX code_regex (OperationRegion.*)\\EECP\s+\((.*)\), replace_matched begin %1\\EECP,%2)\n end;
into scope label \_SB.PCI0.PEGP.DGFX code_regex (Field\s+\(PCAP,[^\}]*\})\) replace_matched begin %1 end;
into definitionblock code_regex External\s+\((.*_SB_\.PCI0\.GFX0\.DD02\._BCM),\s+IntObj\) replace_matched begin External(%1, MethodObj) end;
into method label _BCM parent_label DD02 code_regex Return\s+\(([^\)]*)\)\n.*Arg0 replace_matched begin Return(%1(Arg0)) end;

# rename GFX0
into_all all code_regex \.GFX0 replaceall_matched begin .IGPU end;
into_all all label \_SB.PCI0.GFX0 set_label begin \_SB.PCI0.IGPU end;

# remove wait for LNKS (while loop) (not necessary, commented out for now)
#into method label _OFF parent_label \_SB.PCI0.PEGP.DGFX code_regex While\s+\([^\}]*\} remove_matched;

# call _OFF from _SB.PCI0.DGFX._INI
into method label _INI parent_label \_SB.PCI0.PEGP.DGFX code_regex . insert begin _OFF()\n end;

# some patches specific to 4530s w/ Radeon

into method label _DSM parent_label \_SB.PCI0.IGPU remove_entry;
into scope label \_SB.PCI0.PEGP code_regex (Field\s+\(RPCX,[^\}]*\})\) replace_matched begin %1 end;
into definitionblock code_regex External\s+\((_SB_\.PCI0\.GFX0\.DD02\._BCM),\s+IntObj\) replace_matched begin External(%1, MethodObj)
 

Attachments

  • Archive.zip
    2.4 MB · Views: 76
I got these results with grep
Code:
SHAIZUs-MacBook-Pro:patched shaizu$ grep -l Method.*_OFF *.dsl
SSDT-10.dsl
SSDT-3.dsl
SHAIZUs-MacBook-Pro:patched shaizu$ grep -l Method.*_INI *.dsl
DSDT.dsl
SSDT-10.dsl
SSDT-9.dsl
SSDT-PNLF.dsl
SSDT-UIAC.dsl
SSDT.dsl
should I apply this patch from your repo on SSDT-10.dsl to disable discrete graphics?
Code:
#Maintained by: RehabMan for: HP Probook 4x30s/4x40s
# 11a_Radeon_OFF_SSDT.txt

# To disable the Radeon chipset
# Apply these patches to SSDT containing the secondary graphics routines
# "SgTabl" (SSDT-5)
# Include patched version as SSDT-1.aml

# Known issue: Restarting your computer may cause shutdown instead.

# syntax fixes
into scope label \_SB.PCI0.GFX0 code_regex (OperationRegion.*)VRMB\s+\(VRMS\s+\(\)\), replace_matched begin %1VRMB(),VRMS())\n end;
into scope label \_SB.PCI0.GFX0 code_regex (Field\s+\(REVD,[^\}]*\})\) replace_matched begin %1 end;

into scope label \_SB.PCI0.PEGP code_regex (OperationRegion.*)\\XBAS\s+\((.*)\), replace_matched begin %1\\XBAS,%2)\n end;
into scope label \_SB.PCI0.PEGP code_regex (Field\s+\(RPCX,[^\}]*\})\) replace_matched begin %1 end;
into scope label \_SB.PCI0.PEGP.DGFX code_regex (OperationRegion.*)\\GBAS\s+\((.*)\), replace_matched begin %1\\GBAS,%2)\n end;
into scope label \_SB.PCI0.PEGP.DGFX code_regex (Field\s+\(GPIO,[^\}]*\})\) replace_matched begin %1 end;
into scope label \_SB.PCI0.PEGP.DGFX code_regex (OperationRegion.*)\\EECP\s+\((.*)\), replace_matched begin %1\\EECP,%2)\n end;
into scope label \_SB.PCI0.PEGP.DGFX code_regex (Field\s+\(PCAP,[^\}]*\})\) replace_matched begin %1 end;
into definitionblock code_regex External\s+\((.*_SB_\.PCI0\.GFX0\.DD02\._BCM),\s+IntObj\) replace_matched begin External(%1, MethodObj) end;
into method label _BCM parent_label DD02 code_regex Return\s+\(([^\)]*)\)\n.*Arg0 replace_matched begin Return(%1(Arg0)) end;

# rename GFX0
into_all all code_regex \.GFX0 replaceall_matched begin .IGPU end;
into_all all label \_SB.PCI0.GFX0 set_label begin \_SB.PCI0.IGPU end;

# remove wait for LNKS (while loop) (not necessary, commented out for now)
#into method label _OFF parent_label \_SB.PCI0.PEGP.DGFX code_regex While\s+\([^\}]*\} remove_matched;

# call _OFF from _SB.PCI0.DGFX._INI
into method label _INI parent_label \_SB.PCI0.PEGP.DGFX code_regex . insert begin _OFF()\n end;

# some patches specific to 4530s w/ Radeon

into method label _DSM parent_label \_SB.PCI0.IGPU remove_entry;
into scope label \_SB.PCI0.PEGP code_regex (Field\s+\(RPCX,[^\}]*\})\) replace_matched begin %1 end;
into definitionblock code_regex External\s+\((_SB_\.PCI0\.GFX0\.DD02\._BCM),\s+IntObj\) replace_matched begin External(%1, MethodObj)

Why are you looking at the patches in the Probook repo?
The guide in post #1 does not use them.
 
I used patch Disable Nvidia from DSDT -> System Report it ok but i boot install High Sierra error "Window Server Service only ran for 0 seconds". It can be seen that it is not completely disabled. Pls help me check it. Thanks you so much!
Code:
#Maintained by: RehabMan for: Laptop Patches
#graphics_REG-disable.txt

# The purpose of this patch is to add code to _REG in EC
# to disable nvidia/Radeon
#
# The path of _OFF may have to be customized to match your SSDTs
# The patch attempts to identify the correct _REG by using
# the ACPI PNP identifier for the EC.

into method label _REG parent_hid PNP0C09 insert
begin
//added to turn nvidia/radeon off\n
If (LAnd(LEqual(Arg0,3),LEqual(Arg1,1)))\n
{\n
    External(\_SB.PCI0.PEG0.PEGP._OFF, MethodObj)\n
    \_SB.PCI0.PEG0.PEGP._OFF()\n
}\n
end;
 

Attachments

  • Archive edit 7.zip
    3.9 MB · Views: 77
  • Screen Shot 2017-10-04 at 15.17.03.png
    Screen Shot 2017-10-04 at 15.17.03.png
    81.6 KB · Views: 94
I used patch Disable Nvidia from DSDT -> System Report it ok but i boot install High Sierra error "Window Server Service only ran for 0 seconds". It can be seen that it is not completely disabled. Pls help me check it. Thanks you so much!
Code:
#Maintained by: RehabMan for: Laptop Patches
#graphics_REG-disable.txt

# The purpose of this patch is to add code to _REG in EC
# to disable nvidia/Radeon
#
# The path of _OFF may have to be customized to match your SSDTs
# The patch attempts to identify the correct _REG by using
# the ACPI PNP identifier for the EC.

into method label _REG parent_hid PNP0C09 insert
begin
//added to turn nvidia/radeon off\n
If (LAnd(LEqual(Arg0,3),LEqual(Arg1,1)))\n
{\n
    External(\_SB.PCI0.PEG0.PEGP._OFF, MethodObj)\n
    \_SB.PCI0.PEG0.PEGP._OFF()\n
}\n
end;

Your ioreg shows the device is not disabled (so does System Information).
Your _OFF method has EC related code that must move to _REG.
 
Back
Top