More fixes

This commit is contained in:
khronokernel
2020-02-04 16:13:28 -07:00
parent f97440b4e4
commit 0f3ab48c52
7 changed files with 16 additions and 67 deletions

View File

@@ -1,5 +1,7 @@
# Fixing Backlight
No configuration required, just drop the prebuilt file into your EFI: [SSDT-PNLF]()
No configuration required for most, just drop the prebuilt file into your EFI: [SSDT-PNLF](https://github.com/khronokernel/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-PNLF.aml)
Note: there are some cases where the iGPU is called `IGPU` in the DSDT, you can double check by searching for both `PCI0.GFX0` and `PCI0.IGPU`. Whichever shows up is your device

View File

@@ -1,3 +1,3 @@
# Fixing Trackpads
No configuration required, just drop the prebuilt file into your EFI: [SSDT-GPIO]()
No configuration required, just drop the prebuilt file into your EFI: [SSDT-GPIO](https://github.com/khronokernel/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-GPIO.aml)

View File

@@ -1,7 +1,5 @@
# Getting started with ACPI
Last edited: January 30, 2020
## A quick explainer on ACPI and how to make SSDTs
So what are DSDTs and SSDTs? Well, these are tables present in your firmware that outline hardware devices like USB controllers, CPU threads, embedded controllers, system clocks and such. A DSDT(Differentiated System Description Table) can be seen as the body holding most of the info with smaller bits of info being passed by the SSDT(Secondary System Description Table)

View File

@@ -2,4 +2,4 @@
So you miss having those fancy hotpatches from Clover like FixIPIC, FixTMR, FixRTC, FixHPET, etc
Well 1 very small problem, figruing out IRQ patching is a massive headache. **I highly recommend you use SSDTTime**. So head over to [SSDT: Easy Way]() on how to make it
Well 1 very small problem, figruing out IRQ patching is a massive headache. **I highly recommend you use SSDTTime**. So head over to [SSDT: Easy Way](/ssdt-easy.md) on how to make it

View File

@@ -1,6 +1,6 @@
# Fixing I2C
No configuration required, just drop the prebuilt file into your EFI: [SSDT-XOSI]()
No configuration required, just drop the prebuilt file into your EFI: [SSDT-XOSI](https://github.com/khronokernel/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-XOSI.aml)
Do note that this SSDT requires an ACPI patch as well:

View File

@@ -8,9 +8,9 @@ So what **can't** SSDTTime do?:
* **HEDT SSDTs**: The ACPI is odd on these platforms so manual work is required
* **Laptop EC fix**: This is because you need to use an ACPI rename over an SSDT on laptops
* **SSDT-PNLF**: No need to configuration required, use prebuilt file [here]()
* **SSDT-GPIO**: No need to configuration required, use prebuilt file [here]()
* **SSDT-XOSI**: No need to configuration required, use prebuilt file [here]()
* **SSDT-PNLF**: No need to configuration required for most, use prebuilt file [here](https://github.com/khronokernel/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-PNLF.aml)
* **SSDT-GPIO**: No need to configuration required, use prebuilt file [here](https://github.com/khronokernel/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-GPIO.aml)
* **SSDT-XOSI**: No need to configuration required, use prebuilt file [here](https://github.com/khronokernel/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-XOSI.aml)
* **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, a prebuilt for `PCI0.LPCB` can be found here: [SSDT-PMC.aml](https://github.com/khronokernel/Opencore-Vanilla-Desktop-Guide/blob/master/extra-files/SSDT-PMC.aml)
* **USBX SSDT**: This is included on sample SSDTs but SSDTTime only makes the SSDT-EC part, Skylake and newer users can grab a prebuilt here: [SSDT-USBX.aml](https://github.com/khronokernel/Opencore-Vanilla-Desktop-Guide/blob/master/extra-files/SSDT-USBX.aml)

View File

@@ -1,61 +1,10 @@
# SSDTs: The easy way
# SSDTs: The long way
So here we'll be using a super simple tool made by CorpNewt: [SSDTTime](https://github.com/corpnewt/SSDTTime)
Well sadly some things are not handled by SSDTTime, well have no fear as making SSDTs is super easy. The basic process:
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**
* Dump DSDT(the one SSDTTime did for use will work)
* Decompile DSDT
* Make SSDTs based of of it
* Compile SSDTs
So what **can't** SSDTTime do?:
* **HEDT SSDTs**: The ACPI is odd on these platforms so manual work is required
* **Laptop EC fix**: This is because you need to use an ACPI rename over an SSDT on laptops
* **SSDT-PNLF**: Needs to be configured to either `IGPU`, `GFX0` or `PEG0`
* **SSDT-GPIO**: No need to configuration required, use prebuilt file [here]()
* **SSDT-XOSI**: No need to configuration required, use prebuilt file [here]()
* **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, a prebuilt for `PCI0.LPCB` can be found here: [SSDT-PMC.aml](https://github.com/khronokernel/Opencore-Vanilla-Desktop-Guide/blob/master/extra-files/SSDT-PMC.aml)
* **USBX SSDT**: This is included on sample SSDTs but SSDTTime only makes the SSDT-EC part, Skylake and newer users can grab a prebuilt here: [SSDT-USBX.aml](https://github.com/khronokernel/Opencore-Vanilla-Desktop-Guide/blob/master/extra-files/SSDT-USBX.aml)
For users who don't have all the options avaible 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
Run the `SSDTTime.bat` file as Admin on the target machine and you should see something like this:
![](https://cdn.discordapp.com/attachments/456913818467958789/669260286007705623/unknown.png)
What are all these options?:
* `1. FixHPET - Patch out IRQ Conflicts`
* IRQ patching, mainly needed for X79, X99 and laptop users
* `2. FakeEC - OS-aware Fake EC`
* 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
* `4. Dump DSDT - Automatically dump the system DSDT`
* 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 about USBX?
For Skylake+ and AMD, you can grab a prebuilt file here: [SSDT-USBX.aml](https://github.com/khronokernel/Opencore-Vanilla-Desktop-Guide/blob/master/extra-files/SSDT-USBX.aml). This file is plug and play and requires no device configuration, **do not use on Haswell and older**.
**Troubleshooting note**: See [General Troubleshooting](/troubleshooting/troubleshooting).md if you're having issues running SSDTTime
## Adding to OpenCore
Don't forget that SSDTs need to be added to Opencore, eminder that .aml is complied, .dsl is code. **Add only the .aml file**:
* EFI/OC/ACPI
* config.plist -> ACPI -> Add
Reminder that Cmd/Crtl+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
Users of `FixHPET` will also need to merge c_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
Now contnue forth and master the ways of ACPI!