Contribute
Register

[Guide] Patching LAPTOP DSDT/SSDTs

Thanks, that fixed almost all errors, but there is still one. When I click on it, it does not refer to any specific line, just an area.

It is from this code in SBRN:
Code:
        Method (SBRN, 0, Serialized)
        {
            If (^^^GFX0.PRST)
            {
                Store (^^^GFX0.GCBL, ^^^GFX0.CBLV)
                Local0
                Subtract (0x0A, Local0, Local1)
                If (LNotEqual (Local1, LBTN))
                {
                    Store (Local1, LBTN)
                }
            }
        }

No "Problem Reporting" files attached (need at least ACPI/origin DSDT.aml + SSDT*.aml)
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
 
Patched SSDTs are SSDTs that came from ACPI/origin and have been changed or recompiled.
Add-on SSDTs are those SSDTs that were created from scratch... content did not exist in ACPI/origin.
SSDT-XOSI.aml and SSDT.aml (from ssdtPRgen.sh) are both examples of add-on SSDTs.
Very clear. Noted.
Recommended configuration with current Clover is always:
DropOem=false
AutoMerge=true
In first post, neither Full/Partial hotpatch has that AutoMerge flag set to true.
I assume, this flag will do nothing when there is no patched SSDT files and will merge when there is, so it is fine to set AutoMerge flag to true, correct?
 
Last edited:
In first post, neither Full/Partial hotpatch has that AutoMerge flag set to true.

That's because its value does not matter (and as you'll note I left it unspecified). Both true or false will work in three of the scenarios.
It is when you start adding patched SSDTs into ACPI/patched without DropOem=true that it matters.

I assume, this flag will do nothing when there is no patched SSDT files and will merge when there is, so it is fine to set AutoMerge flag to true, correct?

Yes.
Presence of patched SSDTs is detected mostly on file name (secondary check for OEM table id).
 
Your ACPI configuration is wrong.
Based on ACPI/origin, you should have in ACPI/patched:
DSDT.aml
SSDT-PNLF.aml
SSDT-DiscreteSpoof.aml (keep in mind that is only for short term use, usually during the installer only)
SSDT-0-SataTabl.aml
SSDT-1-Ther_Rvp.aml
SSDT-2-Cpu0Ist.aml
SSDT-3-CpuSsdt.aml
SSDT-4-DptfTabl.aml
SSDT-5-SaSsdt.aml
SSDT-6-SgPch.aml
SSDT-7-AmdTabl.aml
SSDT-8-IsctTabl.aml

Then config.plist settings:
config.plist/ACPI/SSDT/DropOem=false
config.plist/ACPI/SSDT/Generate/PluginType=true
config.plist/ACPI/AutoMerge=true

SSDT-DiscretSpoof.aml should be removed after you disable the AMD card.
Read this guide:
https://www.tonymacx86.com/threads/guide-disabling-discrete-graphics-in-dual-gpu-laptops.163772/



No idea without "problem reporting" files.
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/
 

Attachments

  • Dell 7548 new problem reporting.zip
    2.7 MB · Views: 70

You are missing some files I mentioned for ACPI/patched.
Also, due to (my) bug in Clover, AutoMerge=true is not working correctly when SSDTs have a unique OEM table ID.
Try attached Clover.
Clover attachment removed. The fix is now in my official build on bitbucket.
 
Last edited:
Just extracted native ACPI files using Clover F4 (v2.4k r4297) and used the latest iasl to disassemble in Sierra 10.12.6. I also loaded the DSDT.dsl file using the latest fork of MaciASL but I'm having trouble compiling because of only just 1 syntax error, unexpected PARSEOP_STORE. I never tried applying any patch at the moment. Hope you can help me with this. Thanks
 

Attachments

  • Origin.zip
    63.4 KB · Views: 67
  • Screen Shot 2017-11-24 at 12.24.45 PM.png
    Screen Shot 2017-11-24 at 12.24.45 PM.png
    753.8 KB · Views: 130
Last edited:
Just extracted native ACPI files using Clover F4 (v2.4k r4297) and used the latest iasl to disassemble in Sierra 10.12.6. I also loaded the DSDT.dsl file using the latest fork of MaciASL but I'm having trouble compiling because of only just 1 syntax error, unexpected PARSEOP_STORE. I never tried applying any patch at the moment. Hope you can help me with this. Thanks

When I load your DSDT.aml in MaciASL, this is the code I have for HPME:
Code:
                Method (HPME, 0, Serialized)
                {
                    If (LAnd (LNotEqual (VDID, 0xFFFFFFFF), LEqual (PMSX, One)))
                    {
                        Notify (PXSX, 0x02)
                        Store (One, PMSX)
                        Store (One, PSPX)
                    }
                }
 
You are missing some files I mentioned for ACPI/patched.
Also, due to (my) bug in Clover, AutoMerge=true is not working correctly when SSDTs have a unique OEM table ID.
Try attached Clover.

This build of Clover now updated to fix a problem if AutoMerge=true, patched SSDTs, and SSDTs dropped with DropTables also used.
The attached build is just an interim testing/beta build. Official build to follow on bitbucket after more cleanup/testing.
Clover attachment removed. The fix is now in my official build on bitbucket.
 
Last edited:
I tried to make a clean install of your attached clover in my USB EFI partition and made an extraction once more. I still got the same error. I'm using MaciASL RM-1.31 (252.3), should I use a different version? I'm attaching my extracted and disassembled copies of DSDT.
 

Attachments

  • DSDT.aml
    172.9 KB · Views: 219
  • DSDT.dsl
    1.3 MB · Views: 226
I tried to make a clean install of your attached clover in my USB EFI partition and made an extraction once more. I still got the same error. I'm using MaciASL RM-1.31 (252.3), should I use a different version? I'm attaching my extracted and disassembled copies of DSDT.

No errors in the attached DSDT.dsl after you apply "Fix PARSEOP_ZERO Error (agressive)".
 
Back
Top