diff --git a/.gitignore b/.gitignore index 9bea433..194cfe2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ .DS_Store +icons/.DS_Store +icons/.DS_Store diff --git a/Laptops/backlight.md b/Laptops/backlight.md index 5c4edb6..5591d35 100644 --- a/Laptops/backlight.md +++ b/Laptops/backlight.md @@ -5,6 +5,4 @@ So what this SSDT does is create a PNLF device for macOS to play with, specifica 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 - - +Note: there are some rare cases where the iGPU is called `GPU0` or `VID`in the DSDT, you can double check by searching for `PCI0.GFX0`, `PCI0.VID` and `PCI0.GPU0`. Whichever shows up is your device diff --git a/Laptops/laptop-ec.md b/Laptops/laptop-ec.md index a6881d1..9e205cf 100644 --- a/Laptops/laptop-ec.md +++ b/Laptops/laptop-ec.md @@ -37,7 +37,7 @@ As you can see from the table below, we'll be renaming our EC listed in the DSDT | :--- | :--- | :--- | | Enabled | String | YES | | Count | Number | 0 | -| Limit | Nuber | 0 | +| Limit | Number | 0 | | Find | Data | xxxxxxxx | | Replace | Data | xxxxxxxx | diff --git a/Laptops/trackpad.md b/Laptops/trackpad.md index 1ba01bb..525c96f 100644 --- a/Laptops/trackpad.md +++ b/Laptops/trackpad.md @@ -1,5 +1,54 @@ # Fixing Trackpads -This SSDT is used to create a stub for VoodooI2C to connect to. +This SSDT is used to force enable our GPIO for VoodooI2C to connect onto. -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) +With most modern laptop DSDTs, there's a variable called `GPEN` or `GPHD` which are used for setting the status of the GPIO device. For us, we want to enable the device. + +## Finding our GPIO + +So first things we need to do is find out what variable is used to enable our GPIO device, lets open up our decompiled SSDT and search for `Device (GPIO)`. Should give you a desult similar to this: + +![](https://media.discordapp.net/attachments/456913818467958789/677279455525208096/Screen_Shot_2020-02-12_at_3.25.27_PM.png?width=1674&height=1256) + + +What we care about from this is the `_STA` method: + +``` +Method (_STA, 0, NotSerialized) +{ + If ((GPHD == One)) + { + Return (0x03) + } + + Return (0x0F) +} +``` +What we want is for this to always return `0x0F` when booting macOS, so we want to make an SSDT that will return `GPHD == Zero` in macOS. + +**NOTE that you may have the other way around where GPHD needs to be set as `One` to return `0x0F`**. And your device name may also be different, don't throw random SSDTs in thinking it'll work + +Once you found the variable and what it should be set to, grab a copy of [SSDT-GPI0.dsl](https://github.com/khronokernel/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-GPI0.dsl) and make the required edits. Then clean up with compiling it + + +## More examples: + +![](https://media.discordapp.net/attachments/456913818467958789/677283983322775572/Screen_Shot_2020-02-12_at_3.34.26_PM.png?width=1674&height=1704) + +With this example, we can see that we need both `SBRG` and `GPEN` to return `One`. If only one is present, it'll create some issues so in our SSDT we'll want to have both of them return `One`: +``` +DefinitionBlock("", "SSDT", 2, "ACDT", "GPI0", 0) +{ + External(GPEN, FieldUnitObj) + External(SBRG, FieldUnitObj) + + Scope (\) + { + If (_OSI ("Darwin")) + { + GPEN = One + SBRG = One + } + } +} +``` diff --git a/README.md b/README.md index bed871a..8313005 100644 --- a/README.md +++ b/README.md @@ -74,48 +74,42 @@ Please see the **specific ACPI section of your config.plist**, all SSDTs needed * [EC ACPI Patch](/Laptops/laptop-ec.md) * [CPU-PM](https://github.com/Piker-Alpha/ssdtPRGen.sh) * [SSDT-PNLF](https://github.com/acidanthera/WhateverGreen/blob/master/Manual/SSDT-PNLF.dsl) -* [SSDT-XOSI](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-XOSI.aml) -* [SSDT-GPIO](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) * [IRQ SSDT](https://github.com/corpnewt/SSDTTime) **Haswell:** * [EC ACPI Patch](/Laptops/laptop-ec.md) * [SSDT-PLUG](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PLUG.dsl) * [SSDT-PNLF](https://github.com/acidanthera/WhateverGreen/blob/master/Manual/SSDT-PNLF.dsl) -* [SSDT-XOSI](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-XOSI.aml) -* [SSDT-GPIO](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) * [IRQ SSDT](https://github.com/corpnewt/SSDTTime) **Broadwell:** * [EC ACPI Patch](/Laptops/laptop-ec.md) * [SSDT-PLUG](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PLUG.dsl) * [SSDT-PNLF](https://github.com/acidanthera/WhateverGreen/blob/master/Manual/SSDT-PNLF.dsl) -* [SSDT-XOSI](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-XOSI.aml) -* [SSDT-GPIO](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) * [IRQ SSDT](https://github.com/corpnewt/SSDTTime) **Skylake:** * [EC ACPI Patch](/Laptops/laptop-ec.md) * [SSDT-PLUG](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PLUG.dsl) * [SSDT-PNLF](https://github.com/acidanthera/WhateverGreen/blob/master/Manual/SSDT-PNLF.dsl) -* [SSDT-XOSI](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-XOSI.aml) -* [SSDT-GPIO](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) * [IRQ SSDT](https://github.com/corpnewt/SSDTTime) **Kabylake:** * [EC ACPI Patch](/Laptops/laptop-ec.md) * [SSDT-PLUG](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PLUG.dsl) * [SSDT-PNLF](https://github.com/acidanthera/WhateverGreen/blob/master/Manual/SSDT-PNLF.dsl) -* [SSDT-XOSI](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-XOSI.aml) -* [SSDT-GPIO](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) * [IRQ SSDT](https://github.com/corpnewt/SSDTTime) **Coffeelake(8th Gen):** * [EC ACPI Patch](/Laptops/laptop-ec.md) * [SSDT-PLUG](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PLUG.dsl) * [SSDT-PNLF](https://github.com/acidanthera/WhateverGreen/blob/master/Manual/SSDT-PNLF.dsl) -* [SSDT-XOSI](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-XOSI.aml) -* [SSDT-GPIO](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) * [IRQ SSDT](https://github.com/corpnewt/SSDTTime) **Coffeelake(9th Gen):** @@ -124,6 +118,5 @@ Please see the **specific ACPI section of your config.plist**, all SSDTs needed * [SSDT AWAC](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-AWAC.dsl) * [SSDT-PMC](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PMC.dsl) * [SSDT-PNLF](https://github.com/acidanthera/WhateverGreen/blob/master/Manual/SSDT-PNLF.dsl) -* [SSDT-XOSI](https://github.com/hackintosh-guides/vanilla-laptop-guide/tree/master/Misc-files/SSDT-XOSI.aml) -* [SSDT-GPIO](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) * [IRQ SSDT](https://github.com/corpnewt/SSDTTime) diff --git a/SUMMARY.md b/SUMMARY.md index 98a46ca..529b204 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -16,14 +16,13 @@ * [Embedded Controllers](/Laptops/laptop-ec.md) * [Backlight PNLF](/Laptops/backlight.md) -* [Trackpad GPIO](/Laptops/trackpad.md) +* [Trackpad GPI0](/Laptops/trackpad.md) ## Universal * [Plugin type](/Universal/plug.md) * [AWAC vs RTC](/Universal/awac.md) * [NVRAM PMC](/Universal/nvram.md) -* [XOSI](/Universal/xosi.md) * [IRQ Fix](/Universal/irq.md) * [GPU Spoof](/Universal/spoof.md) diff --git a/extra-files/SSDT-GPI0.dsl b/extra-files/SSDT-GPI0.dsl new file mode 100644 index 0000000..02a01ee --- /dev/null +++ b/extra-files/SSDT-GPI0.dsl @@ -0,0 +1,13 @@ +// Source: https://github.com/daliansky/OC-little +DefinitionBlock("", "SSDT", 2, "ACDT", "GPI0", 0) +{ + External(GPEN, FieldUnitObj) + + Scope (\) + { + If (_OSI ("Darwin")) + { + GPEN = One + } + } +} \ No newline at end of file diff --git a/extra-files/SSDT-GPI0.dsl.zip b/extra-files/SSDT-GPI0.dsl.zip new file mode 100644 index 0000000..ccfe5d8 Binary files /dev/null and b/extra-files/SSDT-GPI0.dsl.zip differ diff --git a/extra-files/SSDT-GPIO.aml b/extra-files/SSDT-GPIO.aml deleted file mode 100644 index 2b82a97..0000000 Binary files a/extra-files/SSDT-GPIO.aml and /dev/null differ diff --git a/extra-files/SSDT-XOSI.aml b/extra-files/SSDT-XOSI.aml deleted file mode 100644 index ec32166..0000000 Binary files a/extra-files/SSDT-XOSI.aml and /dev/null differ diff --git a/ssdt-easy.md b/ssdt-easy.md index 5ff76a8..fc166a8 100644 --- a/ssdt-easy.md +++ b/ssdt-easy.md @@ -12,10 +12,8 @@ So what **can't** SSDTTime do?: * This is because you need to use an ACPI rename over an SSDT on laptops * **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) +* **SSDT-GPI0**: + * Need to be configured to your system: [SSDT-GPI0.dsl](https://github.com/khronokernel/Getting-Started-With-ACPI/blob/master/extra-files/SSDT-GPI0.dsl) * **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**: