Contribute
Register

[Guide] Disabling discrete graphics in dual-GPU laptops

Joined
Oct 2, 2015
Messages
69
Motherboard
Yoga C930
CPU
i7- 8550U
Graphics
UHD620
GTF0, 56, //56
8 instead of 56 should be added here...
And I'm going to check the value under windows with RW-Everything

The value are both zero, slightly different from result in ACPIDebug. And I found the value of \RMDT.PUSH (BID) is "ACPIDebug: 0x2" while this is a 16-bit value.
 
Last edited:

RehabMan

Moderator
Joined
May 2, 2012
Messages
183,827
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
8 instead of 56 should be added here...

Wrong, but there is a mistake. I make corrections in the original.

Thank you for your help.

I just checked the value with ACPIDebug, and unfortunately the value of BID is 0x2 and the value of RTD3 is 0x0.

Submit your offset calculations for RTD3.
But yes, if it really is zero, then both of these SSDTs contribute nothing to ACPI namespace.
 

RehabMan

Moderator
Joined
May 2, 2012
Messages
183,827
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
1. Copy whole "Scope (\_SB.PCI0.RP05)" section in the SSDT into DSDT and add the coordinate External resources into DefinitionBlock.

It is never necessary to copy any code, except for as noted with regards to EC related code.
And I don't know what you mean by "the SSDT".

2. Under "Device (RP05)" under "Scope (_SB.PCI0)", I just found a _INI method. Sorry for the misleading.
I tried to add "\_SB.PCI0.RP05._OFF()" to the last line of this method and an error prompts that "Object does not exist (\_SB.PCI0.RP05._OFF)"
The _OFF method is in the pasted section and how can I call it?

_SB.PCI0.RP05 is not the correct scope.
You already stated it is at _SB.PCI0.RP05.PEGP.
 
Joined
Oct 2, 2015
Messages
69
Motherboard
Yoga C930
CPU
i7- 8550U
Graphics
UHD620
Submit your offset calculations for RTD3.
0xACF7CC18+0xCE=0xACF7CCE6
Code:
Offset (0x7A),
        DSEN,   8, //7b
        ECON,   8, //7c
        GPIC,   8, //7d
        CTYP,   8, //7e
        L01C,   8, //7f
        VFN0,   8, //80
        VFN1,   8, //81
        VFN2,   8, //82
        VFN3,   8, //83
        VFN4,   8, //84
        VFN5,   8, //85
        VFN6,   8, //86
        VFN7,   8, //87
        VFN8,   8, //88
        VFN9,   8, //89
        ISCT,   8, //8a
        SLDR,   32, //8b-1=8a
        WAKR,   8, //8f
        ATMC,   8, //90
        PTMC,   8, //91
        ATRA,   8, //92
        PTRA,   8, //93
        PNHM,   32, //94
        TBAB,   32, //98
        TBAH,   32, //9c
        RTIP,   8, //a0-1=9f
        TSOD,   8, //a1
        ATPC,   8, //a2
        PTPC,   8, //a3
        PFLV,   8, //a4
        BREV,   8, //a5
        PDTS,   8, //a6
        PKGA,   8, //a7
        PAMT,   8, //a8
        AC0F,   8, //a9
        AC1F,   8, //aa
        DTS3,   8, //ab
        DTS4,   8, //ac
        SHFQ,   32, //ad
        LTR1,   8, //b1-1=b0
        LTR2,   8, //b2
        LTR3,   8, //b3
        LTR4,   8, //b4
        LTR5,   8, //b5
        LTR6,   8, //b6
        LTR7,   8, //b7
        LTR8,   8, //b8
        OBF1,   8, //b9
        OBF2,   8, //ba
        OBF3,   8, //bb
        OBF4,   8, //bc
        OBF5,   8, //bd
        OBF6,   8, //be
        OBF7,   8, //bf
        OBF8,   8, //c0
        XHCI,   8, //c1
        XTUB,   32, //c2-1=c1
        XTUS,   32, //c6
        XMPB,   32, //ca
        DDRF,   8, //ce
        RTD3,   8, //cf-1=ce

I misunderstood the first address at the beginning, and then minus 1 for each address.

rw_everything_snipaste_20170403_005346.png


And I don't know what you mean by "the SSDT".

For this I mean section related to RP05 in those duplicated SSDT, 3 and 4.

So I can only add an external method of _SB.PCI0.RP05.PEGP._OFF and a Device of _SB.PCI0.RP05.PEGP._INI in DSDT which call _OFF to fix discrete graphics?
 

RehabMan

Moderator
Joined
May 2, 2012
Messages
183,827
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
0xACF7CC18+0xCE=0xACF7CCE6
Code:
Offset (0x7A),
        DSEN,   8, //7b

^^^
Wrong already.
DSEN is at 0x7A as per Offset declaration right before it.
No idea why you added one to it...

I stopped reading at that point...
 
Joined
Apr 4, 2017
Messages
5
Motherboard
Asus UX510UW
CPU
Intel i7 7500U
Graphics
Intel HD 620 + nvidia GF GTX 960M
Dear RehabMan,
I've installed Sierra 10.12.4 successfully on my brandnew ASUS UX510U notebook. It works very smoothly and the only things that do not seem to work are sound (alc256), touchpad (elan1200), brightness controls (intel hd620). your current brightness control guide doesnt seem to work for me (maybe because in dsdt its still gfx0 instead of igpu).
I got battery display working by using your asus n55sl patch on my dsdt and got power management working (i believe) with gfx0 -> igpu in ssdt-1 and ssdt-15. when I try to do gfx0 -> igpu in dsdt, the laptop doesnt boot and glitches at the end when waiting for root. then I thought it might be due to the second nvidia card, so I followed your guide for disabling discrete graphics and patched all dsdt/ssdt successfully, eventually without compiling errors (using all the patches of the guide's list). Now when I try to boot with the new DSDT/SSDT and dropoem=true in config, the laptop shutsdown very early during the boot process, so something I changed for disabling nvidia seems to cause a kernel panic at the beginning.
is it maybe because the discrete graphics guide is not compatible with 10.12.4? or did I make any errors?
I have 10 years of experience with hackintoshing, but it is the first time I'm trying to use DSDT/SSDT patching, so excuse me for my limited knowledge.
thanks for helping in advance!
 

Attachments

  • Asus UX510UW troubleshoot.zip
    2.1 MB · Views: 66

RehabMan

Moderator
Joined
May 2, 2012
Messages
183,827
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Dear RehabMan,
I've installed Sierra 10.12.4 successfully on my brandnew ASUS UX510U notebook. It works very smoothly and the only things that do not seem to work are sound (alc256), touchpad (elan1200), brightness controls (intel hd620). your current brightness control guide doesnt seem to work for me (maybe because in dsdt its still gfx0 instead of igpu).
I got battery display working by using your asus n55sl patch on my dsdt and got power management working (i believe) with gfx0 -> igpu in ssdt-1 and ssdt-15. when I try to do gfx0 -> igpu in dsdt, the laptop doesnt boot and glitches at the end when waiting for root. then I thought it might be due to the second nvidia card, so I followed your guide for disabling discrete graphics and patched all dsdt/ssdt successfully, eventually without compiling errors (using all the patches of the guide's list). Now when I try to boot with the new DSDT/SSDT and dropoem=true in config, the laptop shutsdown very early during the boot process, so something I changed for disabling nvidia seems to cause a kernel panic at the beginning.
is it maybe because the discrete graphics guide is not compatible with 10.12.4? or did I make any errors?
I have 10 years of experience with hackintoshing, but it is the first time I'm trying to use DSDT/SSDT patching, so excuse me for my limited knowledge.
thanks for helping in advance!

Start with native ACPI files in ACPI/patched.
Then apply patches one at a time until you find your mistake.

One obvious mistake: _OFF calls HGOF. HGOF appears to contain EC related code that you did not move to _REG.
 
Joined
Apr 4, 2017
Messages
5
Motherboard
Asus UX510UW
CPU
Intel i7 7500U
Graphics
Intel HD 620 + nvidia GF GTX 960M
Thank you for the quick response, I'll try that.
Btw an additional note: I did'nt use "Fix _WAK IAOE" (new patch), as I could not find it in your dsdt patches folder (can't use the repository as my Hackintosh has no internet until the wifi stick arrives...
instead I used BOTH WAK fixes v1 & v2. could that cause problems?
Also I omitted "Brightness Fix (Haswell)" (because of your 10.12.4 backlight guide) and used "Cleanup/Fix Errors (SSDT)" only on SSDT-15.
I also had to delete a few lines of code in SSDT-11 to get it compiled.
 

RehabMan

Moderator
Joined
May 2, 2012
Messages
183,827
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Thank you for the quick response, I'll try that.
Btw an additional note: I did'nt use "Fix _WAK IAOE" (new patch), as I could not find it in your dsdt patches folder (can't use the repository as my Hackintosh has no internet until the wifi stick arrives...
instead I used BOTH WAK fixes v1 & v2. could that cause problems?
Also I omitted "Brightness Fix (Haswell)" (because of your 10.12.4 backlight guide) and used "Cleanup/Fix Errors (SSDT)" only on SSDT-15.
I also had to delete a few lines of code in SSDT-11 to get it compiled.

Only one _WAK fix makes sense.
The IAOE patch is a different patch and is probably not needed (the IAOE problem is usually caused by people unnecessarily omitting SSDTs).
No idea on "few lines of code" when you don't provide specifics.
 
Joined
Apr 4, 2017
Messages
5
Motherboard
Asus UX510UW
CPU
Intel i7 7500U
Graphics
Intel HD 620 + nvidia GF GTX 960M
Thanks, do you know if I should also use the "misc_Skylake-LPC" patch too, as my laptop has a Kaby Lake CPU? And is it correct to use the "usb_prw_0x6d_xhc_skl" patch instead of the one without skl, as I'm using SKL drivers for my HD620?

When I try to move HGOF from _OFF to _REG (DSDT) I get a compiling error for the line in _REG calling HGOF "Object does not exist (\_SB.PCI0.HGOF)"...
 
Top