From 1d63609690ad099281b94743f54cf2e83a0aad5c Mon Sep 17 00:00:00 2001 From: Mykola Grymalyuk <48863253+khronokernel@users.noreply.github.com> Date: Sat, 16 May 2020 11:36:31 -0600 Subject: [PATCH] Add prebuilt page --- README.md | 1 - SUMMARY.md | 7 +- Universal/nvram.md | 2 +- ssdt-easy.md => ssdt-methods/ssdt-easy.md | 54 ++++++------- ssdt-long.md => ssdt-methods/ssdt-long.md | 1 - ssdt-methods/ssdt-methods.md | 10 +++ ssdt-methods/ssdt-prebuilt.md | 95 +++++++++++++++++++++++ ssdt-platform.md | 4 +- troubleshooting.md | 2 +- 9 files changed, 142 insertions(+), 34 deletions(-) rename ssdt-easy.md => ssdt-methods/ssdt-easy.md (63%) rename ssdt-long.md => ssdt-methods/ssdt-long.md (99%) create mode 100644 ssdt-methods/ssdt-methods.md create mode 100644 ssdt-methods/ssdt-prebuilt.md diff --git a/README.md b/README.md index 8111f16..b02533d 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,6 @@ macOS can be very picky about the devices present in the DSDT and so our job is * Needed for fixing IRQ conflicts within the DSDT, for laptops mainly. SSDTTime exclusive * Note Skylake and newer systems rarely have IRQ conflicts, this is mainly prevalent on Broadwell and older - Now head to the next page on what SSDTs do your systems need: ## [Choosing the SSDTs](ssdt-platform.md) diff --git a/SUMMARY.md b/SUMMARY.md index b688166..228488e 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -4,8 +4,11 @@ * [Choosing the SSDTs](ssdt-platform.md) ## Methods -* [SSDTs: Easy Way](ssdt-easy.md) -* [SSDTs: Long Way](ssdt-long.md) + +* [How to create SSDTs](/ssdt-methods/ssdt-methods.md) + * [SSDTs: Prebuilt](/ssdt-methods/ssdt-prebuilt.md) + * [SSDTs: Easy Way](/ssdt-methods/ssdt-easy.md) + * [SSDTs: Long Way](/ssdt-methods/ssdt-long.md) ## Manual diff --git a/Universal/nvram.md b/Universal/nvram.md index c71eefe..cdc89cc 100644 --- a/Universal/nvram.md +++ b/Universal/nvram.md @@ -19,6 +19,6 @@ By default it uses `PCI0.LPCB` for the PCI and LowPinCount path. The device name ![](/images/Universal/nvram-md/lpc.png) -A pre-built can be found here if you have issues: [SSDT-PMC.aml](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-PMC.aml) +A pre-built can be found here if you have issues: [SSDT-PMC.aml](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-PMC.aml) ## [Now you're ready to compile the SSDT!](/Manual/compile.md) diff --git a/ssdt-easy.md b/ssdt-methods/ssdt-easy.md similarity index 63% rename from ssdt-easy.md rename to ssdt-methods/ssdt-easy.md index bd7628b..1679243 100644 --- a/ssdt-easy.md +++ b/ssdt-methods/ssdt-easy.md @@ -4,28 +4,28 @@ So here we'll be using a super simple tool made by CorpNewt: [SSDTTime](https:// What this tool does is 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?: +## So what **can't** SSDTTime do -* **HEDT SSDTs**: - * The ACPI is odd on these platforms so manual work is required - * This includes X79, X99 and X299 systems - * Prebuilt can be found here: [Embedded Controller](/Universal/ec-fix.md) -* **Laptop EC fix**: - * This is because you do not want the EC powered off - * Prebuilt can be found here: [Embedded Controller](/Universal/ec-fix.md) -* **SSDT-PNLF**: - * Need to be configured to your system -* **SSDT-GPI0**: - * Need to be configured to your system -* **AWAC and RTC0 SSDTs**: - * 300 series Intel boards will also need to figure his out(Z390 systems are most common for requiring this but some Gigabyte Z370 do as well) -* **PMC SSDT**: - * For fixing 300 series Intel NVRAM - * Prebuilt can be found here: [NVRAM PMC](/Universal/nvram.md) -* **USBX SSDT**: - * This is included on sample SSDTs but SSDTTime only makes the SSDT-EC part, Skylake and newer users can grab a pre-built here: [SSDT-USBX.aml](https://github.com/dortania/USB-Map-Guide/blob/master/extra-files/SSDT-USBX.aml) +* **HEDT SSDTs**: + * The ACPI is odd on these platforms so manual work is required + * This includes X79, X99 and X299 systems + * Prebuilt can be found here: [Embedded Controller](/Universal/ec-fix.md) +* **Laptop EC fix**: + * This is because you do not want the EC powered off + * Prebuilt can be found here: [Embedded Controller](/Universal/ec-fix.md) +* **SSDT-PNLF**: + * Need to be configured to your system +* **SSDT-GPI0**: + * Need to be configured to your system +* **AWAC and RTC0 SSDTs**: + * 300 series Intel boards will also need to figure his out(Z390 systems are most common for requiring this but some Gigabyte Z370 do as well) +* **PMC SSDT**: + * For fixing 300 series Intel NVRAM + * Prebuilt can be found here: [NVRAM PMC](/Universal/nvram.md) +* **USBX SSDT**: + * This is included on sample SSDTs but SSDTTime only makes the SSDT-EC part, Skylake and newer users can grab a pre-built here: [SSDT-USBX.aml](https://github.com/dortania/USB-Map-Guide/blob/master/extra-files/SSDT-USBX.aml) -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 support for you. +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 support for you. ## Running SSDTTime @@ -36,16 +36,15 @@ Run the `SSDTTime.bat` file as Admin on the target machine and you should see so 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) + * 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 users + * This is the SSDT-EC, required for Catalina users * `3. PluginType - Sets plugin-type = 1 on CPU0/PR00` - * This is the SSDT-PLUG, for Intel only + * This is the SSDT-PLUG, for Intel only * `4. Dump DSDT - Automatically dump the system DSDT` - * Dumps your DSDT from your firmware + * Dumps your DSDT from your firmware - -What we want to do is select option `4. Dump DSDT` first, then select the appropriate option(s) for your system. +What we want to do is select option `4. Dump DSDT` first, then select the appropriate option(s) for your system. > What about USBX? @@ -56,6 +55,7 @@ For Skylake and newer plus AMD, you can grab a pre-built file here: [SSDT-USBX.a ## Adding to OpenCore Don't forget that SSDTs need to be added to Opencore, reminder that .aml is complied, .dsl is code. **Add only the .aml file**: + * EFI/OC/ACPI * config.plist -> ACPI -> Add @@ -70,7 +70,7 @@ Users of `FixHPET` will also need to merge oc_patches.plist into their config.pl Steps to do this: -* Open both files, +* 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 diff --git a/ssdt-long.md b/ssdt-methods/ssdt-long.md similarity index 99% rename from ssdt-long.md rename to ssdt-methods/ssdt-long.md index c9ef00b..aa32cf0 100644 --- a/ssdt-long.md +++ b/ssdt-methods/ssdt-long.md @@ -8,4 +8,3 @@ Well sadly some things are not handled by SSDTTime, well have no fear as making * Compile SSDTs Now continue forth and master the ways of ACPI! - diff --git a/ssdt-methods/ssdt-methods.md b/ssdt-methods/ssdt-methods.md new file mode 100644 index 0000000..e2e404e --- /dev/null +++ b/ssdt-methods/ssdt-methods.md @@ -0,0 +1,10 @@ +# How to create SSDTs + +Creating SSDTs mainly fall into 3 camps: + +* Prebuilt SSDTs + * They work but not perfect +* Automated tools + * Mainly seen with SSDTTime, work much better though can't cover all situations +* Manually creating them + * Will always work, be much cleaner and get to learn about the process diff --git a/ssdt-methods/ssdt-prebuilt.md b/ssdt-methods/ssdt-prebuilt.md new file mode 100644 index 0000000..1bf7c33 --- /dev/null +++ b/ssdt-methods/ssdt-prebuilt.md @@ -0,0 +1,95 @@ +# Pre-Built SSDTs + +* [Power Management](#power-management) +* [Embedded Controllers](#embedded-controllers) +* [Trackpad](#trackpad) +* [Backlight](#backlight) +* [System Clock(AWAC)](#system-clockawac) +* [NVRAM(PMC)](#nvrampmc) + +This is mainly for users who are having troubles either compiling, decompiling or understanding the overal process of ACPI. The main reasons you'd want to avoid is for the following: + +* Slowing down the boot process + * Mainly because these SSDTs have to go through every possible pathing + * Fun fact: the prebuilt SSDT-EC-DESKTOP is 42 times larger than making the file yourself +* Doesn't always work + * The SSDTs provided can only handle so many situations, and some may in fact not work + * Mainly seen with SSDT-AWAC, as it assumes there is a way the RTC can be easily enabled +* Teaches nothing + * This is the **biggest** issue as you have no real idea on how to troubleshoot or how to make these files down the line + +Please refer to [Choosing the SSDTs](/ssdt-platform.md) page for which your system needs. + +## Power Management + +For Haswell and newer: + +* [SSDT-PLUG-DRTNIA](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-PLUG-DRTNIA.aml) + +For Ivy Bridge and older, see the [Optimizing Power Management page](https://dortania.github.io/OpenCore-Desktop-Guide/post-install/pm.html). This will be done *after* install. AMD CPU users **do not** need any SSDTs for power management. + +## Embedded Controllers + +For desktops: + +* [SSDT-EC-USBX-DESKTOP](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-EC-USBX-DESKTOP.aml) + * For Skylake and newer and all AMD systems. +* [SSDT-EC-DESKTOP](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-EC-DESKTOP.aml) + * For Broadwell and older. + +For laptops: + +* [SSDT-EC-USBX-LAPTOP](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-EC-USBX-LAPTOP.aml) + * For Skylake and newer. +* [SSDT-EC-LAPTOP](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-EC-LAPTOP.aml) + * For Broadwell and older. + +## Trackpad + +Used for enabling Windows only features in macOS, do note that the below patches will more than likely break Windows booting via OpenCore. I **highly** encourage you to make one yourself to prevent any issues down the line: [Trackpad GPI0](/Laptops/trackpad.md) + +* [SSDT-XOSI](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-XOSI.aml) + +* [XOSI-Rename.plist](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/XOSI-Rename.plist) + * Note you'll need to add this into your config.plist under `ACPI -> Patch`: + +| Comment | String | Change _OSI to XOSI | +| :--- | :--- | :--- | +| Enabled | Boolean | YES | +| Count | Number | 0 | +| Limit | Nuber | 0 | +| Find | Data | 5f4f5349 | +| Replace | Data | 584f5349 | + +## Backlight + +For laptops and all-in-one desktops, fixies brightness control support + +* [SSDT-PNLF](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-PNLF.aml) + * For most users. +* [SSDT-PNLF-CFL](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-PNLF-CFL.aml) + * For Coffee Lake and newer. + +## System Clock(AWAC) + +Mainly needed for newer systems running AWAC based system clocks, mainly relavant for Z390 and newer(Gigabyte and AsRock however did backport it to Z370 with a BIOS update) + +* [SSDT-AWAC](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-AWAC.aml) + +The biggest issue with this prebuilt is that we're just guessing you both have an AWAC clock and that it can be turned off, I **highly** encourage you to make one yourself to really know whether you both need this and if it's going to work: [AWAC vs RTC](/Universal/awac.md) + +## NVRAM(PMC) + +Needed to bring back NVRAM support for Z390 and newer, **DO NOT USE ON Z370 or older** + +* [SSDT-PMC](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-PMC.aml) + +Reminder only the following need this SSDT: + +* B360 +* B365 +* H310 +* H370 +* Z390 +* 400 series (Comet Lake) +* 495 series (Icelake) diff --git a/ssdt-platform.md b/ssdt-platform.md index 28bab59..3677c40 100644 --- a/ssdt-platform.md +++ b/ssdt-platform.md @@ -33,4 +33,6 @@ Please see the **specific ACPI section of your config.plist**, all SSDTs needed | **I2C TrackPad** | [SSDT-GPI0](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-GPIO.aml) | [SSDT-GPI0](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-GPIO.aml) | [SSDT-GPI0](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-GPIO.aml) | [SSDT-GPI0](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-GPIO.aml) | [SSDT-GPI0](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-GPIO.aml) | [SSDT-GPI0](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-GPIO.aml) | [SSDT-GPI0](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-GPIO.aml) | | **AWAC** | N/A | N/A | N/A | N/A | N/A | N/A | [SSDT-AWAC](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-AWAC.dsl) | | **NVRAM** | N/A | N/A | N/A | N/A | N/A | N/A | [SSDT-PMC](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PMC.dsl) | -| **IRQ Patch** | [IRQ SSDT](https://github.com/corpnewt/SSDTTime) | [IRQ SSDT](https://github.com/corpnewt/SSDTTime) | [IRQ SSDT](https://github.com/corpnewt/SSDTTime) | N/A | N/A | N/A | N/A | \ No newline at end of file +| **IRQ Patch** | [IRQ SSDT](https://github.com/corpnewt/SSDTTime) | [IRQ SSDT](https://github.com/corpnewt/SSDTTime) | [IRQ SSDT](https://github.com/corpnewt/SSDTTime) | N/A | N/A | N/A | N/A | + +## [SSDT Creation](/ssdt-methods/ssdt-methods.md) diff --git a/troubleshooting.md b/troubleshooting.md index 884c086..1337a0b 100644 --- a/troubleshooting.md +++ b/troubleshooting.md @@ -71,4 +71,4 @@ Similar to the above error, you're running an outdated copy of maciASL. Make sur ![](/images/troubleshooting-md/invalid-parse.png) -Similar to the above 2 errors, you're running an outdated copy of maciASL. Make sure you're using the latest from Acidanthera's repo: [maciASL](https://github.com/acidanthera/MaciASL/releases) \ No newline at end of file +Similar to the above 2 errors, you're running an outdated copy of maciASL. Make sure you're using the latest from Acidanthera's repo: [maciASL](https://github.com/acidanthera/MaciASL/releases)