SSDTs: The easy way | Getting Started With ACPI (2024)

So here we'll be using a super simple tool made by CorpNewt: SSDTTime (opens new window)

What this tool does is, it dumps your DSDT from your firmware, and then creates SSDTs based off your DSDT. This must be done on the target machine running either Windows or Linux

# So what CAN'T SSDTTime do

  • SSDT-GPI0:
    • Need to be configured to your system
  • IMEI SSDT:
    • If you have either a Sandy bridge CPU with 7 series motherboard or Ivy Bridge with 6 series motherboard, you'll need to either use the prebuilt or manually create it.

For users who don't have all the options available to them in SSDTTime, you can follow the "SSDTs: The long way" section. You can still use SSDTTime for SSDTs it does support.

# Running SSDTTime

Run the SSDTTime.bat file as Admin on the target machine and you should see something like this:

SSDTs: The easy way | Getting Started With ACPI (1)

What are all these options?:

  • 1. FixHPET - Patch out IRQ Conflicts
    • IRQ patching, mainly needed for X79, X99 and laptop users(use option C to omit conflicting legacy IRQs)
  • 2. FakeEC - OS-aware Fake EC
    • This is the SSDT-EC, required for Catalina and newer users
  • 3. FakeEC Laptop - OS-aware Fake EC - Leaves Existing Untouched
    • This is the SSDT-EC, but the laptop version only Builds Fake EC and leaves the existing EC devices untouched, again required for Catalina and newer users
  • 4. USBX - Power properties for USB on SKL and newer SMBIOS
    • This is the SSDT-USBX. The prebuilt version can be used if desired, but SSDTTime can build a customizable version of SSDT-USBX.
  • 5. PluginType - Sets plugin-type = 1 on First ProcessorObj
    • This is the SSDT-PLUG, and can be used on Haswell and newer. Will also check and redefine processor objects for 12th generation and newer Intel and AMD systems.
  • 6. PMC - Sets Power Management controller status
    • This is the SSDT-PMC, for Intel true 300+ series only, this device is missing from ACPI in recent boards and helps to bring back NVRAM support.
  • 7. RTCAWAC - Context-Aware AWAC Disable and RTC Enable/Fake/Range Fix
    • This is the SSDT-AWAC/RTC0, its purpose is to fix the system clocks found on newer hardware, and also enable, fake, and/or fix the RTC range.
  • 8. USB Reset - Reset USB controllers to allow hardware mapping
    • This is SSDT-RHUB, used for resetting USB ports in macOS for Asus's Z490 motherboards
  • 9. PCI Bridge - Create missing PCI bridges for passed device path
    • This will create missing PCI bridges necessary for passing device path.
  • 0. PNLF - Sets up a PNLF device for laptop backlight control.
    • This a customized SSDT-PNLF, tailored for the specific system. This is not automatic and you must specify the generation of the iGPU.
  • A. XOSI - _OSI rename and patch to return true for a range of Windows versions - also checks for OSID
    • This is SSDT-XOSI, can also create a patch for OSID and keep it in the correct order.
  • B. Fix DMAR - Remove Reserved Memory Regions from the DMAR Table
    • This is primarily needed for devices that require VT-d functionality such as: I225 based ethernet controllers, Aquantia Ethernet Controllers and some WiFi Devices.
  • P. Dump DSDT - Automatically dump the system DSDT
    • Dumps your DSDT from your firmware

What we want to do is select option P. Dump DSDT first, then select the appropriate option(s) for your system.

What about USBX?

For Skylake and newer plus AMD, you can either build SSDT-USBX with SSDTTime or grab a pre-built file here: SSDT-USBX.aml (opens new window). This file is plug and play and requires no device configuration, do not use on Broadwell and older.

Troubleshooting note: See General Troubleshooting (opens new window) if you're having issues running SSDTTime

# Adding to OpenCore

# Manual Method

Don't forget that SSDTs need to be added to OpenCore, reminder that .aml is compiled, .dsl is code. Add only the .aml file:

  • EFI/OC/ACPI
  • config.plist -> ACPI -> Add

Reminder that Cmd/Ctrl+R with ProperTree pointed at your OC folder will add all your SSDTs, kexts and .efi drivers to the config for you. Do not add your DSDT to OpenCore, its already in your firmware. If you are unsure what this is referring to, go back to the OpenCore guide and select your config based of the architecture of your CPU.

For those who do not yet have a config.plist, you'll want to next head back to your respective OpenCore guides and create the config.plist:

  • OpenCore Install guide (opens new window)

Users of FixHPET, XOSI, and RTCAWAC will also need to merge oc_patches.plist into their config.plist

Steps to do this:

  • Open both files,
  • Delete the ACPI -> Patch section from config.plist
  • Copy the ACPI -> Patch section from patches.plist
  • Paste into where old patches were in config.plist

# PatchMerge method

NOTE: This method does require that you have your config.plist already created. If you have not done so, please start on the OpenCore Install guide (opens new window) before running this tool.

SSDTTime now includes a separate script called PatchMerge. This script will automatically merge the patches you selected previously into your config.plist.

Run PatchMerge.bat you will be presented with this screen:

SSDTs: The easy way | Getting Started With ACPI (2)

Select option 1. Select config.plist to begin the process. Once done, your patches will be stored in a config.plist inside the Results folder. You will need to verify that copy of your config.plist with your existing one, making sure everything is intact and the patches inserted properly. Then copy both the config.plist and the SSDTs from the Results folder to your EFI/OC and EFI/OC/ACPI folders respectively.

Help us improve this page! (opens new window)

Last Updated: 12/31/2023, 9:44:59 PM

SSDTs: The easy way | Getting Started With ACPI (2024)

FAQs

What is SSDT CPUR? ›

SSDT-CPUR: Used for fixing CPU definitions in ACPI, as macOS does not properly support the ACPI used in B550 and newer boards.

How to create ssdt for hackintosh? ›

Recommended Posts
  1. Easy way to create SSDTs for Hackintosh with SSDTTime.
  2. Download this tool to extract DSDT under macOS ACPI Extractor.zip.
  3. 1- Run SSDTTime.bat under Windows or SSDTTime.command under macOS.
  4. 2- Extracting DSDT.
  5. 2a) On Windows just press P with SSDTTime file above.
Nov 14, 2023

What is SSDT PMC? ›

PMC - Sets Power Management controller status. This is the SSDT-PMC, for Intel true 300+ series only, this device is missing from ACPI in recent boards and helps to bring back NVRAM support.

What is SSDTTime? ›

A simple tool designed to make creating SSDTs simple. Supports macOS, Linux and Windows.

What is SSDT in ACPI? ›

This page is about the ACPI SSDT (Secondary System Descriptor Table) It contains additional AML to interact with devices.

What are acpi tables? ›

The ACPI tables are the central data structure of an ACPI-based system. They contain definition blocks that describe all the hardware that can be managed through ACPI.

Does SSDT require a license? ›

Under the free developer license, you may develop SSIS packages, and execute them interactively within Visual Studio (SSDT or BIDS) without requiring a commercial license. The free developer license should serve most (if not all) development purposes sufficiently, including the evaluation of our software capabilities.

What is SSDT setup? ›

SQL Server Data Tools (SSDT) is a modern development tool for building SQL Server relational databases, databases in Azure SQL, Analysis Services (AS) data models, Integration Services (IS) packages, and Reporting Services (RS) reports.

Is SSDT required for SSIS? ›

SQL Server Development Tools (SSDT) will always need to be installed on the machine(s) where you design your packages. It allows you to design and deploy SSIS packages using Visual Studio.

Is SSDT free to use? ›

Yes, SSDT is free to download and use. However, to use SSDT, you must have a version of Visual Studio installed on your system, which may require a license depending on the version and edition.

What does SSDT plug do? ›

The purpose of SSDT-PLUG is to allow the kernel's XCPM(XNU's CPU Power Management) to manage our CPU's power management.

Why use SSDT? ›

This integration of SSDT into the Visual Studio environment means that you can design databases without having to switch from Visual Studio to other tools. This saves developers a considerable amount of time.

Where is the config plist? ›

The config. plist resides at /Volumes/EFI/EFI/CLOVER/config. plist and is one of the tougher files to work with for those new to the Hackintosh world. We'll go into some of the basics of the structure here, then break out into different sections for different hardware config setup.

What is SSDT used for? ›

SSDT also provides a visual Table Designer for creating and editing tables in either database projects or connected database instances. While you are working on your database projects in a team-based environment, you can use version control for all the files.

Do I need to install Visual Studio for SSDT? ›

If Visual Studio 2022 is already installed, you can edit the list of workloads to include SSDT. If you don't have Visual Studio 2022 installed, then you can download and install Visual Studio 2022. To modify the installed Visual Studio workloads to include SSDT, use the Visual Studio Installer.

References

Top Articles
Latest Posts
Article information

Author: Dong Thiel

Last Updated:

Views: 5962

Rating: 4.9 / 5 (79 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Dong Thiel

Birthday: 2001-07-14

Address: 2865 Kasha Unions, West Corrinne, AK 05708-1071

Phone: +3512198379449

Job: Design Planner

Hobby: Graffiti, Foreign language learning, Gambling, Metalworking, Rowing, Sculling, Sewing

Introduction: My name is Dong Thiel, I am a brainy, happy, tasty, lively, splendid, talented, cooperative person who loves writing and wants to share my knowledge and understanding with you.