Contribute
Register

Compiled SSDT Examples for macOS

tonymacx86

Administrator
Staff member
Joined
Nov 18, 2009
Messages
8,685
Motherboard
PRIME Z490-A
CPU
Core i5 10600K
Graphics
Vega 56
Mac
  1. MacBook Air
Classic Mac
  1. Apple
  2. PowerBook
Mobile Phone
  1. iOS
To help those in need of example compiled SSDT files.

Source:
 

Attachments

  • SSDT-AWAC.aml
    73 bytes · Views: 153
  • SSDT-CPUR.aml
    1.4 KB · Views: 77
  • SSDT-EC-DESKTOP.aml
    6.3 KB · Views: 145
  • SSDT-EC-LAPTOP.aml
    190 bytes · Views: 97
  • SSDT-EC-USBX-DESKTOP.aml
    6.4 KB · Views: 152
  • SSDT-EC-USBX-LAPTOP.aml
    335 bytes · Views: 80
  • SSDT-IMEI-S.aml
    80 bytes · Views: 80
  • SSDT-IMEI.aml
    197 bytes · Views: 89
  • SSDT-PLUG-DRTNIA.aml
    693 bytes · Views: 121
  • SSDT-PMC.aml
    414 bytes · Views: 98
  • SSDT-PNLF-CFL.aml
    125 bytes · Views: 60
  • SSDT-PNLF.aml
    1.1 KB · Views: 68
  • SSDT-RHUB.aml
    325 bytes · Views: 70
  • SSDT-XOSI.aml
    323 bytes · Views: 92
Joined
Dec 10, 2010
Messages
160
Motherboard
Gigabyte Z390 Aorus Elite
CPU
i3-9100
Graphics
RX 580
Mac
  1. iMac
Mobile Phone
  1. iOS
To help those in need of example compiled SSDT files...

Thanks @tonymacx86. It may be interesting to write a short comment about each SSDT.
  • SSDT-AWAC: to fix errors with system clock on Z390, B460, Z490 motherboards. This file is equivalent to SSDT-RTC0.aml, SSDT-AWAC tries to activate the old macOS compatible RTC clock and SSDT-RTC0 creates a fake compatible RTC clock if it does not exist.
  • SSDT-CPUR: to boot systems with AMD B550 and A520.
  • SSDT-EC-DESKTOP and SSDT-EC-LAPTOP: fake Embedded Controller for macOS Catalina on Broadwell and earlier systems.
  • SSDT-EC-USBX-DESKTOP and SSDT-EC-USBX-LAPTOP: fake Embedded Controller for macOS Catalina on Skylake and later and AMD systems, also fix USB power.
  • SSDT-IMEI-S and SSDT-IMEI: required in systems with Sandy Bridge CPU + 7 series motherboard or systems with Ivy Bridge CPU + 6 series motherboard, to verify if there is an IMEI device and, if not, create a new device.
  • SSDT-PLUG-DRTNIA: power management on Haswell and newer CPUs, not required on AMD; to configure the plugin-type=1 parameter on the first processor.
  • SSDT-PMC: native NVRAM support on systems that lack it, for example Z390 chipsets. It is equivalent to SSDT-NVRAM, both have the same function; 10th gen motherboards do not need this SSDT.
  • SSDT-PNLF-CFL and SSDT-PNLF: screen brightness on notebooks, CFL for Coffe Lake and later.
  • SSDT-RHUB: for 10th generation ASUS motherboards, to turn off the RHUB device and force macOS to manually rebuild the ports.
  • SSDT-XOSI: Windows features on I2C type Trackpads, not needed on PS2 Trackpads.
Source: Dortania Getting Started with ACPI.

(To be improved or completed with contributions from other users).
 
Last edited:
Joined
Mar 3, 2014
Messages
836
Motherboard
Gigabyte Z390 I AORUS PRO WIFI
CPU
i9-9900K
Graphics
RX 580
Mac
  1. MacBook Air
Classic Mac
  1. Power Mac
It may be interesting to write a short comment about each SSDT.
More than just interesting to those of us who are ignorant of their functions; thanks much both for the listing and for the comments!
 
Joined
Dec 10, 2010
Messages
160
Motherboard
Gigabyte Z390 Aorus Elite
CPU
i3-9100
Graphics
RX 580
Mac
  1. iMac
Mobile Phone
  1. iOS
There is an SSDT required for any of the other SSDTs to work: SSDT-DTGP.aml.
DTGP method serves to inject custom parameters to some devices (device properties), without it no patches or corrections can be applied to the DSDT table.
Someone more expert can correct me, I think that SSDT-DTGP has to be present whenever there is at least one other SSDT
> This isn't true. SSDT-DTGP isn't necessary because the Dortania SSDTs are self-contained and they can work separately. See this post below.
 
Last edited:
Joined
Feb 23, 2020
Messages
24
Motherboard
Dell Precision M4700
CPU
i7-3740QM
Graphics
M4000
There is an SSDT required for any of the other SSDTs to work: SSDT-DTGP.aml.
DTGP method serves to inject custom parameters to some devices (device properties), without it no patches or corrections can be applied to the DSDT table.
Someone more expert can correct me, I think that SSDT-DTGP has to be present whenever there is at least one other SSDT.
Do you have a link reference?
All the SSDTs from the Dortania repo should be self contained, if they need a DTGP method. Though the only one that does is SSDT-SBUS. SSDT-PLUG does contain a paired down version under a different method name though. Could probably edit SSDT-SBUS in a similar way.
 
Joined
Dec 10, 2010
Messages
160
Motherboard
Gigabyte Z390 Aorus Elite
CPU
i3-9100
Graphics
RX 580
Mac
  1. iMac
Mobile Phone
  1. iOS
Do you have a link reference?
All the SSDTs from the Dortania repo should be self contained, if they need a DTGP method. Though the only one that does is SSDT-SBUS. SSDT-PLUG does contain a paired down version under a different method name though. Could probably edit SSDT-SBUS in a similar way.

On some sites that I'm trying to locate now I had read that SSDT-DTGP was a help file for the rest of SSDT, not useful by itself. In addition, in several of the Dortania SSDTs I have not seen DTGP or equivalent method, from what I have deduced that it was necessary. The only one in which I see something similar to the DTGP method is in SSDT-PLUG where I read
Code:
  Method (PMPM, 4, NotSerialized)
     {
         If ((Arg2 == Zero))
         {
             Return (Buffer (One)
             {
                  0x03
             })
         }

         Return (Package (0x02)
         {
             "plugin-type",
             One
         })
     }
In the others I do not see equivalent code but I warn you that my knowledge about DSDT and ACPI is small so I may be confused in my conclusion.
 
Last edited:
Joined
Feb 23, 2020
Messages
24
Motherboard
Dell Precision M4700
CPU
i7-3740QM
Graphics
M4000
Basically, macOS won't actually read/merge the device properties from ACPI unless a Buffer with 0x03 in it is returned when it asks for this property (Arg0 = some random UUID I don't remember, Arg1 = 1, Arg2 = 0). DTGP is just the original ACPI Method from actual Apple DSDTs which contain this logic to figure out what to return - though it's fairly simple. None of the Dortania SSDTs need it, as they are all self-contained.
 
Joined
Dec 10, 2010
Messages
160
Motherboard
Gigabyte Z390 Aorus Elite
CPU
i3-9100
Graphics
RX 580
Mac
  1. iMac
Mobile Phone
  1. iOS
Basically, macOS won't actually read/merge the device properties from ACPI unless a Buffer with 0x03 in it is returned when it asks for this property (Arg0 = some random UUID I don't remember, Arg1 = 1, Arg2 = 0). DTGP is just the original ACPI Method from actual Apple DSDTs which contain this logic to figure out what to return - though it's fairly simple. None of the Dortania SSDTs need it, as they are all self-contained.

Understood. Thanks for the explanation. I will modify post # 5 according to it.
 
Joined
Mar 3, 2014
Messages
836
Motherboard
Gigabyte Z390 I AORUS PRO WIFI
CPU
i9-9900K
Graphics
RX 580
Mac
  1. MacBook Air
Classic Mac
  1. Power Mac
If I do not have "SSDT-AWAC" installed on my Z390 I Aorus mobo (I do not), how can I tell if there is a system clock error?
 
Top