Jump to content
iLeopod

DSDT — What is it and how do I get it?

1 post in this topic

Recommended Posts

DSDT

Background:


ACPI (Advanced Configuration and Power Interface) is an open industry specification co-developed by Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba that defines hardware and software interfaces that enable OS-directed configuration and Power Management (OSPM) to enumerate and configure motherboard devices, and manage their power.

 

Wikipedia:
The tables allow description of system hardware in a platform-independent manner, and are presented as either fixed-formatted data structures or in AML. The main AML table is the DSDT (differentiated system description table)

The DSDT is the largest and most important table because this is where the motherboard devices are described. As the DSDT, along with other ACPI tables, is stored in the BIOS only on-board hardware is described. The goal is to bypass this often faulty table because of optimization for Windows by a custom one where the declarations are adjusted to the needs of Mac OS X in order to maximize compatibility.

 

Use for Hackintoshes


By loading an edited DSDT via the Chameleon boot loader instead of the factory one, the following things can be achieved:

  • faking device-ids via DSDT can replace legacy/injector kexts
  • updates may disable modified or legacy/injector kexts but cannot disable DSDT patches
  • DSDT edits can enable sleep, native speedstepping
  • extensive edits can boost the boot process

Do i really need it?


No, to get a functional Hackintosh you don't need a DSDT. But having one can make your system running more stable, lighter (editing this one table replace many extra files).
 

How to extract the DSDT

Mac OS X:
Be sure no custom/modified DSDT is injected yet.

Script by zhell.
Run in terminal. The script extracts all ACPI tables to /users/your username/ACPI
There are several tools like DSDTSE, Chameleon Wizard.

 

Clover bootloader - Using the GUI

 

In Clover GUI, press F4 button, and then boot your OS X normally.

When OS X is already initialized, mount/open the EFI partition, and you can find all your ACPI tables in /EFI/Clover/ACPI/origin/

Linux - via Terminal and Live-CD/DVD:

cat /proc/acpi/dsdt > dsdt.aml

Windows:
AIDA64 or similar tools

 

.dsl / .aml — Compile and Decompile


When extracted from the system the DSDT and the other tables are in the ACPI Machine Language (File extension .aml).
To make edits, the DSDT needs to be decompiled (File extension .dsl).

The program for compiling and decompiling ACPI tables is called iASL. The latest version for Mac OS X can be downloaded here.
 

Compiling Errors:


Using newer iASL versions than the original DSDT was compiled with will often cause compiling errors. To fix the errors and adapt the new code guidelines also check this topic.
 

Editing DSDT


DSDT.dsl files can be edited with any text editor.

We will talk about DSDT patches in a later post in this topic but this can take some time because we want to give detailed explanations and background info to make the patches available for hopefully any hardware.

A good method is using Textmate and selecting C++ markup highlighting.

post-407466-0-72791300-1334228724_thumb.png

There are also utilities that include the iasl compiler like:
DSDTEditor
DSDTSE

MaciASL - Is the most actual DSDT editor.

 

After you applyed the patches, you need save your DSDT as .aml - E.g: DSDT.aml
 

Why DSDT files by others can cause problems


Even small hardware differences will result in different tables and can cause problems. To be sure a that a modified DSDT is compatible with your system, compare the two files.

Following lines can cause problems:
 

OperationRegion (BIOS, SystemMemory, xx(some hex value)xx
OperationRegion (^LPCR, SystemMemory, xx(some hex value)xx

If these values are different in your DSDT, replace the hex values on the other modified DSDT with those from your own.
 

Verifying that the custom DSDT is loaded:


First be sure your file is named DSDT.aml and placed in /DSDT.aml or /Extra/DSDT.aml.
You made / have a custom DSDT and see no changes and your not sure that the DSDT is used and injected by the boot-loader.

Here are some ways to check the loading of a DSDT:

 

Use bdmesg.


bdmesg ships with the Chameleon boot loader and goes in /usr/bin. bdmesg can be run from Terminal after startup so that you may examine what Chameleon is doing while it boots your Hackintosh.


Excerpt from bdmesg output, last line shows DSDT.aml loading:

Loading Darwin 10.7
Loading kernel cache /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache
Read HFS+ file: [hd(0,2)/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache] 4096 bytes.
Read HFS+ file: [hd(0,2)/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache] 18150026 bytes.
Read HFS+ file: [hd(0,1)/Extra/DSDT.aml] 22762 bytes.

Extract your DSDT on OS X. If you get your modified DSDT, that means it's loaded.

Resources for DSDT tweaking

ACPI Specification
Our DSDT forum
Original Apple System Dumps for reference



........................................................................................................
1.0 first draft by iLeopod 28.03.2012
2.0 edited version with contributions by Gringo Vermelho
3.0 editing completely broke formatting, all code stripped from post. Minor fixes to spelling and grammar

Edited by Allan
Updated 04/29

Share this post


Link to post
Share on other sites
Advertisement

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By MaLd0n
      Now have a Olarila Folders app, just download app and clover folder for your Chipset! Download Folders.app     First... If you need DSDT edits for SkyLake, KabyLake or CoffeeLake... -Post your full Clover folder with original tables in Origin folder(Extract with F4 in Clover boot screen) -Post Ioreg, extract with Ioreg Explorer http://www.insanelymac.com/forum/index.php?app=core&module=attach&section=attach&attach_id=222606 -Run it, post files generated in your desktop http://www.insanelymac.com/forum/index.php?app=core&module=attach&section=attach&attach_id=222609  Installation   --Create a bootable copy of macOS Sierra Check out the link http://www.insanelymac.com/forum/files/file/559-flash-drive-maker/   --Create a bootable copy of macOS HighSierra Check out the link http://diskmakerx.com/   --Install Clover in USB stick https://sourceforge.net/projects/cloverefiboot/files/Installer/   --Replace with my Clover folder  CLOVER.zip   --Install Sierra/High Sierra and boot into system!   Post Installation   --Install Clover in HDD/SSD and replace with my folder CLOVER.zip   --Reboot and activate video!   -Nvidia WebDriver Sierra http://www.insanelymac.com/forum/topic/312525-nvidia-web-driver-updates-for-macos-sierra-update-07212017/ -Nvidia WebDriver High Sierra http://www.insanelymac.com/forum/topic/324195-nvidia-web-driver-updates-for-macos-high-sierra-update-10162017/ -Cuda http://www.insanelymac.com/forum/topic/302795-cuda-90214-is-out-update-10162017/   --DSDT My DSDT with Skylake patches DSDT.MaLd0n GA H110M-S2.zip Patches -FIX ERRORS AND WARNINGS -HPET -SATA -DMAC -SLPB -DARWIN -LPC -XHCI -PLUGIN TYPE -HDAS to HDEF -HDEF -RTC -IRQs -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -LAN -USBX -PMCR -EC -PNLF -HDMI --FakeSMC https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek --Audio https://github.com/vit9696/AppleALC --USB https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads --LAN http://www.insanelymac.com/forum/topic/287161-new-driver-for-realtek-rtl8111/   -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!   Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Apple, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad and many, many, many others!   We're all here to have fun and learn from each other!   ENJOY!  
    • By MaLd0n
      Now have a Olarila Folders app, just download app and clover folder for your Chipset! Download Folders.app     Create a bootable copy of macOS Sierra Check out the link http://www.insanelymac.com/forum/files/file/559-flash-drive-maker/   --Install Clover UEFI in USB stick https://sourceforge.net/projects/cloverefiboot/files/Installer/   --Replace Folder CLOVER INSTALLATION.zip   --Install Sierra and boot into system!   --Install Clover UEFI and replace with my folder  CLOVER POST INSTALLATION.zip   --Reboot and activate video!   Bingo!   Now you need a fine tune! I prefer DSDT way, apply all patches in one file, many people prefer many SSDTs or Clover patches!   If you need DSDT edit... Run it RunMe.app   --DSDT My DSDT DSDT.ASUS H61M-A MaLd0n.zip   Patches -FIX ERRORS AND WARNINGS -HPET -SATA -SLPB -DARWIN -EHCx -LPC -HDEF -RTC -IRQs -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -LAN -PNLF Clear NVRAM, Purge and Kextcache
          --FakeSMC http://www.hwsensors.com/releases --Audio https://github.com/vit9696/AppleALC --USB https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads --LAN http://www.insanelymac.com/forum/topic/287161-new-driver-for-realtek-rtl8111/   Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!
    • By MaLd0n
      Now have a Olarila Folders app, just download app and clover folder for your Chipset! Download Folders.app   Nehalem, SandyBridge, IvyBridge, Haswell, Broadwell     Skylake, Kabylake and Coffeelake is here http://www.insanelymac.com/forum/topic/321872-guide-sierra-on-gigabyte-mobos-serie-200-kabylake-dsdt/   Youtube MacOS Install Guide 2018 - Mojave - HighSierra - Sierra - ElCapitan Mojave Full DSDT patch http://olarila.com/forum/viewtopic.php?f=59&t=6428   First...   ***Update bios to last available version!***   If you need a full patched DSDT...  -Extract tables with F4 key in Clover boot screen! -Run it and send me files! RunMe.app   Installation   --Create a bootable copy of macOS Sierra / High Sierra / Mojave   https://github.com/chris1111/Create-Install-Media/releases   --Install Clover in USB stick   https://sourceforge.net/projects/cloverefiboot/files/Installer/   --Replace with my Clover folder https://olarila.com/files/Clover.Folder/CLOVER.SERIES.CHIPSET.zip   --Install Sierra/High Sierra and boot into system!   Post Installation --Install Clover and replace with my folder   https://olarila.com/files/Clover.Folder/CLOVER.SERIES.CHIPSET.zip   --Reboot and activate video!   Bingo!   Now you need a fine tune! DSDT time!   --DSDT   Patches -FIX ERRORS AND WARNINGS -HPET -SATA -DMAC -SLPB -DARWIN -LPC -XHCI -PLUGIN TYPE -XXXX to HDEF -HDEF -RTC -IRQs -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -LAN -USBX -PMCR -EC -PNLF -HDMI
       
      --Power Management
      - 1 Generation Intel Processors, use Generate P and C States in config.plist
      - 2 and 3 Generations Intel Processors, Generate SSDT with Piker script and drop CpuPm and Cpu0Ist SSDTs
      ssdtPRGen.command.zip
      Credits-https://github.com/Piker-Alpha/ssdtPRGen.sh
      - 4 Generation+ Intel Processors, use PluginType=1 in DSDT, SSDT or Clover config.plist
       
      for check Power, Frequency, Temperature and Utilization, use it
       
      Install Intel Power Gadget.pkg.zip
       
      --Brightness
      Install .app, select the required permission and reboot. Work in F1 / F2 keys!
      NativeDisplayBrightness.app.zip


      https://github.com/Bensge/NativeDisplayBrightness/releases
      *in some cases .app don't work, check patches in config.plist inside Clover folder Post Install
       
      --Clover
       
      https://sourceforge.net/projects/cloverefiboot/files/Installer/
       
      --AUDIO
       
      Use DSDT + AppleAlc
       
      --install Lan driver by Mieze
        -Atheros   http://www.insanelymac.com/forum/files/file/313-atherose2200ethernet/   -Intel   http://www.insanelymac.com/forum/files/file/396-intelmausiethernet/   -Realtek   http://www.insanelymac.com/forum/files/file/88-realtekrtl8111-binary/   --Links   -FakeSMC   https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek   -Audio   https://github.com/vit9696/AppleALC http://www.insanelymac.com/forum/topic/314406-voodoohda-289/   -USB   https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads   It's time to Rock   -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!   Apple, Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad and many, many, many others!   We're all here to have fun and learn from each other!  
    • By MaLd0n
      Now have a Olarila Folders app, just download app and clover folder for your Chipset! Download Folders.app     --Create a bootable copy of macOS Sierra   http://www.insanelymac.com/forum/files/file/559-flash-drive-maker/   --Create a bootable copy of macOS HighSierra   http://diskmakerx.com/   --Install Clover in USB stick   https://sourceforge.net/projects/cloverefiboot/files/Installer/   --Replace with my Clover folder    CLOVER.zip   --Install Sierra/High Sierra and boot into system!   Post Installation   --Install Clover in HDD/SSD and replace with my folder   CLOVER.zip   --Nvidia WebDriver Sierra   http://www.insanelymac.com/forum/topic/312525-nvidia-web-driver-updates-for-macos-sierra-update-07212017/   --Nvidia WebDriver High Sierra   http://www.insanelymac.com/forum/topic/324195-nvidia-web-driver-updates-for-macos-high-sierra-update-10162017/   --Cuda   http://www.insanelymac.com/forum/topic/302795-cuda-90214-is-out-update-10162017/   Now you need a fine tune!   --DSDT DSDT.GA H97M-D3H MaLd0n.zip Patches -FIX ERRORS AND WARNINGS -HPET -SATA -SLPB -EHCx -DARWIN -LPC -XHCI -HDEF -RTC -IRQs -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -LAN -PNLF --Power Management   Use "plugin-type"=1 in DSDT, SSDT or Clover config.plist   --Brightness   Install .app, select the required permission and reboot. Work in F1 / F2 keys! NativeDisplayBrightness.app.zip https://github.com/Bensge/NativeDisplayBrightness/releases *in some cases .app don't work, check patches in config.plist inside Clover folder Post Install  
      --FakeSMC
        https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek/downloads/   --Audio   https://github.com/vit9696/AppleALC   --USB   https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads   --LAN   http://www.insanelymac.com/forum/topic/287161-new-driver-for-realtek-rtl8111/   -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!   Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Apple, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad and many, many, many others!   We're all here to have fun and learn from each other!   ENJOY!
    • By MaLd0n
      Now have a Olarila Folders app, just download app and clover folder for your Chipset! Download Folders.app   Create a bootable copy of macOS Sierra Check out the link http://www.insanelymac.com/forum/files/file/559-flash-drive-maker/   --Install Clover in USB stick UEFI mode https://sourceforge.net/projects/cloverefiboot/files/Installer/   --Replace Folder CLOVER INSTALLATION.zip   --Install System and boot with USB STICK! --Install Clover in UEFI mode and replace with my folder  Mavericks / Yosemite CLOVER Mavericks-Yosemite.zip El Capitan / Sierra CLOVER El Capitan-Sierra.zip   --Reboot and activate video!   Bingo!   Now you need a fine tune! I prefer DSDT way, apply all patches in one file, many people prefer many SSDTs or Clover patches! If you need DSDT edit... -Post your full Clover folder with original tables in Origin folder(Extract with F4 in Clover boot screen) -Post Ioreg, extract with Ioreg Explorer http://www.insanelymac.com/forum/index.php?app=core&module=attach&section=attach&attach_id=222606 -Run it, post files generate in your desktop http://www.insanelymac.com/forum/index.php?app=core&module=attach&section=attach&attach_id=222609    --DSDT My DSDT DSDT.Asus Z97M-PLUS.zip   Patches  -FIX ERRORS AND WARNINGS -HPET -SATA -SLPB -EHCx -DARWIN -LPC -XHCI -HDEF -RTC -IRQs -SBUS -BUS1 -MCHC -HDMI -ALS0 -SHUTDOWN -LAN -PNLF --SSDT Generate your SSDT Power Management, use ssdtPRGen Piker-Alpha https://github.com/Piker-Alpha run in terminal curl -o ~/ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/Beta/ssdtPRGen.sh chmod +x ~/ssdtPRGen.sh sudo ~/ssdtPRGen.sh ssdtPRGen.command.zip
       
      --SSDT i74790K
      SSDT.i7 4790K.zip
       
      --IOREG
      iMac.ioreg.zip
       
      Clear NVRAM, Purge and Kextcache Olarila.command.zip   stock coolerand Rio 40º    --FakeSMC http://www.hwsensors.com/releases --Audio http://www.insanelymac.com/forum/topic/314406-voodoohda-289/ --USB https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads --LAN http://www.insanelymac.com/forum/topic/304235-intelmausiethernetkext-for-intel-onboard-lan/   Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!
×