Contribute
Register

[Guide] Disabling discrete graphics in dual-GPU laptops

Which version of Mac you're using? Did you save the .dsl after you do patched at Decompile folder? I don't see any changes.

This is my debug information (currently i use DGPU spoofing)
 

Attachments

  • debug_5424.zip
    7.9 MB · Views: 105
This is my debug information (currently i use DGPU spoofing)
I uploaded debug information in post #1844. I read the post #1, as i know i did all as expected

Your ACPI configuration is wrong. (should be AutoMerge=true, DropOem=false, no SortedOrder, some of your ACPI/DSDT/Fixes are not recommended).
See guide for good starter plists with correct config.plist/ACPI settings:
https://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/

Also, covered in the ACPI patching guide, "Recommended configurations"
https://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/

Also, you can delete SSDT.aml and set config.plist/ACPI/SSDT/Generate/PluginType=true
(this is default/recommended configuration in laptop Clover guide plists)
Details here:
https://www.tonymacx86.com/threads/guide-native-power-management-for-laptops.175801/
 
Your ACPI configuration is wrong. (should be AutoMerge=true, DropOem=false, no SortedOrder, some of your ACPI/DSDT/Fixes are not recommended).
See guide for good starter plists with correct config.plist/ACPI settings:
https://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/

Also, covered in the ACPI patching guide, "Recommended configurations"
https://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/

Also, you can delete SSDT.aml and set config.plist/ACPI/SSDT/Generate/PluginType=true
(this is default/recommended configuration in laptop Clover guide plists)
Details here:
https://www.tonymacx86.com/threads/guide-native-power-management-for-laptops.175801/

Fix some config.plist issues you mentioned. Added calls to _ON/_OFF an SPIN (but SPIN in example of post uses two arguments, my version uses 3 ones, i found some call with 8,8,8 and used these values) - IORegistryExplorer shows no PEG0 - so it is disabled, but FAN is working as "mad" - and also black screen after display wake up.
 

Attachments

  • debug_26038.zip
    7.9 MB · Views: 85
Fix some config.plist issues you mentioned. Added calls to _ON/_OFF an SPIN (but SPIN in example of post uses two arguments, my version uses 3 ones, i found some call with 8,8,8 and used these values) - IORegistryExplorer shows no PEG0 - so it is disabled, but FAN is working as "mad" - and also black screen after display wake up.

Problems:
- why do you have entries meant for KextsToPatch (eg. patches for kexts) in ACPI/DSDT/Patches?
- missing some common/required renames (HECI->IMEI, HDAS->HDEF). Refer to reference plists.
- typically, we don't static patch _OSI->XOSI (instead do the patch from config.plist/ACPI/DSDT/Patches)
- renaming GFX0->IGPU only in ACPI/patched content breaks ACPI (because you didn't do it to all SSDTs). Avoid doing common renames with static patch (see above comment regarding common renames)
- why did you remove all the code from _PS0 within SSDT-9? same for _ON...
- the only edits you should have to SSDT-9 is to call _OFF from _INI, and to remove EC related code from _OFF
 
Problems:
- why do you have entries meant for KextsToPatch (eg. patches for kexts) in ACPI/DSDT/Patches?

Do you mean "AirPortBrcm4360 - fcvo" entry in DSDT/Patches - i just forgot to remove it?

- missing some common/required renames (HECI->IMEI, HDAS->HDEF). Refer to reference plists.

Do it only from config.plist or/and using patches from MaciASL?

- typically, we don't static patch _OSI->XOSI (instead do the patch from config.plist/ACPI/DSDT/Patches)

Do not apply patch from MaciASL? But as i know patches from config.plist are not applied to Clover/A/patched DSDT/SSDTs, maybe i am wrong?

- renaming GFX0->IGPU only in ACPI/patched content breaks ACPI (because you didn't do it to all SSDTs). Avoid doing common renames with static patch (see above comment regarding common renames)

I am disappointed - config.plist contains fix GFX0->IGPU - it does not work?

- why did you remove all the code from _PS0 within SSDT-9? same for _ON...

Strange, i did not touch the code of _ON/_OFF.

- the only edits you should have to SSDT-9 is to call _OFF from _INI, and to remove EC related code from _OFF
[/QUOTE]

I did not find EC related code in _OFF
 
This is original ACPI w/o patches. For disabling DGPU i tried to call _SB.PCIO.PEG0.PEGP._OFF from _SB.PCIO_INI and _WAK and _SB.PCIO.PEG0.PEGP._ON from _PTS - GPU was disabled, but have problems described before.
ok the problem of FAN speed, you're getting is due to SSDT-DiscreteSpoof.aml in /ACPI/patched/ (Delete this). You should not use SSDT-DiscreteSpoof.aml, this is only a spoof doesn't completely disables your graphics hence eats lot of power, and try to boot if you succeeded then Congrats you're successfully disabled the discrete graphics. if you get kernel panic then something is wrong with your DSDT. (Only For High Sierra) .
 
SMBIOS truncation is obvious from ioreg.
You need config.plist/KernelAndKextPatches/DellSMBIOSPatch=true.

Also, see here regarding sleep/wake:
https://www.tonymacx86.com/threads/readme-common-problems-in-10-13-high-sierra.233582/

No need for ACPI/patched/SSDT.aml. Remove.

Your kernel log shows:
Code:
kernel: (ACPIDebug) ACPIDebug: "EC _Q66 enter"

You will find your brightness keys are handled by _Q66, eventually by the BRT6 method.

Audio is off-topic here, but you should check that your patched AppleHDA (eg. AppleALC) components use layout-id=12 (which is what your HDEF._DSM method is injecting).
@RehabMan Struggling from the last 7 days to work wake and brightness keys, I am not able to get my brightness keys popup. Use every guide tried also new mechanism for system log using https://www.tonymacx86.com/threads/...ay-the-console-now-works.207833/#post-1375525 this guide but not working for me. I can find the EC _Q66 enter method inside DSDT but don't know what actual key from brightness is. Today I tried evtest using ubuntu and shows brightness key is 244 and 255. (screenshot attached below). My question is how can i implement this function into EC _Q66 enter ? The problem reporting files are attached here https://www.tonymacx86.com/threads/...dual-gpu-laptops.163772/page-183#post-1708025
MyDSDT _Q66 function looks:
Code:
Method (_Q66, 0, NotSerialized)  // _Qxx: EC Query
          
            {
                If (LNotEqual (ECRD, One))
                {
                    Return (Zero)
                }

                NEVT ()
                Return (Zero)
            }
For my problem if I use below code in my patch I cannot Apply changes because _Q224 and _Q255 method is not available only _Q66. So, my question is how to insert _Q244 and _Q255 inside _Q66 Method using if function?
Code:
into method label _Q224 replace_content
begin
// Brightness Down\n
    Notify(\_SB.PCI0.LPCB.PS2K, 0x0405)\n
end;
into method label _Q225 replace_content
begin
// Brightness Up\n
    Notify(\_SB.PCI0.LPCB.PS2K, 0x0406)\n
end;
 

Attachments

  • key.png
    key.png
    90.1 KB · Views: 80
Last edited:
Do you mean "AirPortBrcm4360 - fcvo" entry in DSDT/Patches - i just forgot to remove it?

Yes... complete nonsense to have kext patches in config.plist/ACPI/DSDT/Patches.

Do it only from config.plist or/and using patches from MaciASL?

Only from config.plist.

Do not apply patch from MaciASL? But as i know patches from config.plist are not applied to Clover/A/patched DSDT/SSDTs, maybe i am wrong?

Already answered above.

I am disappointed - config.plist contains fix GFX0->IGPU - it does not work?

It works just fine.

Strange, i did not touch the code of _ON/_OFF.
...
I did not find EC related code in _OFF

With no EC references in _OFF, no need to do anything to _REG.
Read the guide carefully.
 
Back
Top