Contribute
Register

[Guide] Patching LAPTOP DSDT/SSDTs

Edit: Recently discovered an updated tutorial for Sierra 10.12.4+. I reverted all of the things I have edited here.

Good day sir, I have successfully disassembled my DSDT/SSDT files.
I found out that the one I wanted to fix (Brightness Slider) is located at SSDT-7 (based on your tutorial, that is where GFX0 is located)
I patched it using the code found in MaciASL (the Haswell fix, Intel HD 4400).

Should I save only the patched SSDT to /EFI/Clover/ACPI/patched or include all of the SSDT/DSDT files that I didn't patch? And do I need to enable DropOEM in config.plist for my configuration? (I'm using Clover)

Thank you for your help.
Screen Shot 2017-06-11 at 6.23.43 PM.png
Screen Shot 2017-06-11 at 6.26.16 PM.png


I'm using Sierra 10.12.5
 
Last edited:
Edit: Recently discovered an updated tutorial for Sierra 10.12.4+. I reverted all of the things I have edited here.

Good day sir, I have successfully disassembled my DSDT/SSDT files.
I found out that the one I wanted to fix (Brightness Slider) is located at SSDT-7 (based on your tutorial, that is where GFX0 is located)
I patched it using the code found in MaciASL (the Haswell fix, Intel HD 4400).

Should I save only the patched SSDT to /EFI/Clover/ACPI/patched or include all of the SSDT/DSDT files that I didn't patch? And do I need to enable DropOEM in config.plist for my configuration? (I'm using Clover)

Thank you for your help.View attachment 260732 View attachment 260733

I'm using Sierra 10.12.5

Brightness guide for Sierra:
https://www.tonymacx86.com/threads/...rol-using-applebacklightinjector-kext.218222/
 
I had three error following the guide.
15547, 6126, syntax error, unexpected PARSEOP_IF
15566, 6126, syntax error, unexpected PARSEOP_IF
15583, 6126, syntax error, unexpected '}', expecting $end and premature End-Of-File

I have read a lot of post and can't find a solution, please help.
 

Attachments

  • DSDT.zip
    155 KB · Views: 87
I had three error following the guide.
15547, 6126, syntax error, unexpected PARSEOP_IF
15566, 6126, syntax error, unexpected PARSEOP_IF
15583, 6126, syntax error, unexpected '}', expecting $end and premature End-Of-File

I have read a lot of post and can't find a solution, please help.

There are no errors in DSDT.dsl you attached.
You must be using the wrong version of MaciASL or wrong settings (must use ACPI 6.1).
Correct MaciASL is linked from post #1... Read it carefully.
 
The guide says "The original order of the SSDTs must be maintained in the patched set", but it doesn't describe how to determine the original order.
 
The guide says "The original order of the SSDTs must be maintained in the patched set", but it doesn't describe how to determine the original order.

Obviously, the numbers attached to each from the Clover F4 extract is the order.
 
Obviously, the numbers attached to each from the Clover F4 extract is the order.
That was the most likely method, but I think it needs to be stated explicitly that the numbers used in the file names of the SSDTs are in fact the order that they were loaded by the system, and not just a number to give each SSDT a unique name.

You later explain how Chameleon loads them in numerical order, but it still doesn't follow that Clover, a different boot loader, would number the SSDTs in that order.

You guide doesn't say the reader should read the Clover source code or the ACPI spec, so you should not assume the reader knows how those SSDTs are numbered.
 
That was the most likely method, but I think it needs to be stated explicitly that the numbers used in the file names of the SSDTs are in fact the order that they were loaded by the system, and not just a number to give each SSDT a unique name.

You later explain how Chameleon loads them in numerical order, but it still doesn't follow that Clover, a different boot loader, would number the SSDTs in that order.

You guide doesn't say the reader should read the Clover source code or the ACPI spec, so you should not assume the reader knows how those SSDTs are numbered.

Seems super obvious (I mean... what other order could they be?), but I added a note in post #1.
 
Seems super obvious (I mean... what other order could they be?), but I added a note in post #1.
Without knowing ACPI or how Clover gets the SSDTs, one could guess that the SSDTs could be ordered by anything: date, GUID or other internal ID, memory address, etc. For example, what if Clover scanned a memory range for a certain byte signature to find SSDTs and output them in that order, but the actual load order is defined by some other data structure or code that Clover ignores?
 
Without knowing ACPI or how Clover gets the SSDTs, one could guess that the SSDTs could be ordered by anything: date, GUID or other internal ID, memory address, etc. For example, what if Clover scanned a memory range for a certain byte signature to find SSDTs and output them in that order, but the actual load order is defined by some other data structure or code that Clover ignores?

SSDTs are in a table of pointers.
Those that are curious should read the ACPI spec.
 
Back
Top