From ba5e41e388bd561744da57bcecb86115987fa72c Mon Sep 17 00:00:00 2001 From: Dhinak G Date: Tue, 29 Dec 2020 13:30:21 -0500 Subject: [PATCH] Switch to submodule --- .gitmodules | 3 ++ .vuepress/config.js | 2 +- CONTRIBUTING.md | 4 +- Laptops/backlight-methods/prebuilt.md | 2 - Laptops/laptop-disable.md | 2 +- Laptops/trackpad-methods/manual.md | 4 +- Laptops/trackpad.md | 3 +- Manual/dump.md | 27 ++++++------ README.md | 2 +- Universal/awac-methods/manual-hedt.md | 12 +++--- Universal/awac-methods/manual.md | 2 +- Universal/awac.md | 2 +- Universal/ec-fix.md | 6 +-- Universal/ec-methods/manual.md | 59 +++++++++++++-------------- Universal/imei-methods/manual.md | 4 +- Universal/imei.md | 9 ++-- Universal/nvram-methods/manual.md | 2 +- Universal/nvram.md | 6 +-- Universal/plug-methods/manual.md | 4 +- Universal/plug.md | 8 ++-- Universal/rhub-methods/manual.md | 2 +- Universal/spoof.md | 24 ++++++----- Universal/unc0-methods/manual.md | 1 - Universal/unc0.md | 4 +- cleanup.md | 2 +- package.json | 18 ++++---- shared | 1 + ssdt-methods/ssdt-easy.md | 7 ++-- ssdt-methods/ssdt-long.md | 2 +- ssdt-methods/ssdt-methods.md | 4 +- ssdt-methods/ssdt-prebuilt.md | 13 +----- troubleshooting.md | 6 +-- 32 files changed, 112 insertions(+), 135 deletions(-) create mode 100644 .gitmodules create mode 160000 shared diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..7df62a5 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "shared"] + path = shared + url = https://github.com/dortania/build-files.git diff --git a/.vuepress/config.js b/.vuepress/config.js index 4df7f0d..934b90b 100755 --- a/.vuepress/config.js +++ b/.vuepress/config.js @@ -203,7 +203,7 @@ module.exports = { ['/Universal/awac-methods/prebuilt', 'Prebuilt'], ['/Universal/awac-methods/ssdttime', 'SSDTTime'], ['/Universal/awac-methods/manual', 'Manual'], - ['/Universal/awac-methods/manual-hedt', 'Manual-HEDT'], + ['/Universal/awac-methods/manual-hedt', 'Manual HEDT'], ] }, ['/Universal/nvram', 'NVRAM PMC'], diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e6e4c2f..2595a8a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -32,8 +32,8 @@ Some guidelines when contributing via PRs: * Tools explicitly banned: * UniBeast, MultiBeast and KextBeast * More info can be found here: [Tonymacx86-stance](https://github.com/khronokernel/Tonymcx86-stance) - * Transmac - * Know for creating borked USB drives + * TransMac + * Known for creating borked USB drives * Niresh Installers * We'd like to avoid piracy with the guides diff --git a/Laptops/backlight-methods/prebuilt.md b/Laptops/backlight-methods/prebuilt.md index d84cd9f..6d6a5d0 100644 --- a/Laptops/backlight-methods/prebuilt.md +++ b/Laptops/backlight-methods/prebuilt.md @@ -7,10 +7,8 @@ By far the easiest method, all you need to do is download the following file: * [SSDT-PNLF-CFL.aml](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-PNLF-CFL.aml) * For Coffee Lake and newer - Main things to note with this method: * Assumes GPU pathing, works great for 99% of devices but if you're having issues controlling backlight this may be something to look at * Doesn't really teach you anything * For most, this doesn't matter. But to some knowing what makes your hackintosh tick is part of the journey - diff --git a/Laptops/laptop-disable.md b/Laptops/laptop-disable.md index 56f3b1c..94d9c76 100644 --- a/Laptops/laptop-disable.md +++ b/Laptops/laptop-disable.md @@ -53,7 +53,7 @@ Once adapted to your config, head to the compile section ## Bumblebee Method -With some machines, the simple `.off` call won't keep the card off properly, that's where the Bumblebee method comes in. This SSDT will actually send the dGPU into D3 state being the lowest power state a device can support. Credit to Mameo for the original adaptation. +With some machines, the simple `.off` call won't keep the card off properly, that's where the Bumblebee method comes in. This SSDT will actually send the dGPU into D3 state being the lowest power state a device can support. Credit to Maemo for the original adaptation. To start, grab [SSDT-NoHybGfx.dsl](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/decompiled/SSDT-NoHybGfx.dsl.zip) diff --git a/Laptops/trackpad-methods/manual.md b/Laptops/trackpad-methods/manual.md index 0ba4c90..8bbf12d 100644 --- a/Laptops/trackpad-methods/manual.md +++ b/Laptops/trackpad-methods/manual.md @@ -5,10 +5,9 @@ * [Compiling the SSDT](#compiling-the-ssdt) * [Wrapping up](#wrapping-up) - ## Finding the ACPI path -Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from [Dumping the DSDT](/Manual/dump.md) and [Decompiling and Compiling](/Manual/compile.md) with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an [ACPI extension](https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl) that can also help). +Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from [Dumping the DSDT](/Manual/dump.md) and [Decompiling and Compiling](/Manual/compile.md) with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an [ACPI extension](https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl) that can also help). Next search for `Device (GPI0)`. Should give you a result similar to this: @@ -38,7 +37,6 @@ Here's some more examples: 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`: - ## Edits to the sample SSDT Now that we have our ACPI path, lets grab our SSDT and get to work: diff --git a/Laptops/trackpad.md b/Laptops/trackpad.md index adb4998..768d828 100644 --- a/Laptops/trackpad.md +++ b/Laptops/trackpad.md @@ -2,8 +2,7 @@ * [What this SSDT does](#what-this-ssdt-does) * [Methods to make this SSDT](#methods-to-make-this-ssdt) - - + ## What this SSDT does This SSDT is used to force enable our GPI0 for VoodooI2C to connect onto. diff --git a/Manual/dump.md b/Manual/dump.md index 0812ec2..d336af3 100644 --- a/Manual/dump.md +++ b/Manual/dump.md @@ -2,9 +2,6 @@ So to start, we'll need to get a copy of your DSDT from your firmware. The easiest way is grabbing the DSDT.aml SSDTTime dumped for us earlier but here are some other options: - - - ## From Windows * [SSDTTime](https://github.com/corpnewt/SSDTTime) @@ -45,14 +42,14 @@ With OpenCore 0.5.9, we have a new quirk called SysReport which will actually du For the latter, you just need to replace the following files with [DEBUG version](https://github.com/acidanthera/OpenCorePkg/releases): - * EFI/BOOT/ - * `BOOTx64.efi` - * EFI/OC/Bootstrap/ - * `Bootstrap.efi` - * EFI/OC/Drivers/ - * `OpenRuntime.efi` - * EFI/OC/ - * `OpenCore.efi` +* EFI/BOOT/ + * `BOOTx64.efi` +* EFI/OC/Bootstrap/ + * `Bootstrap.efi` +* EFI/OC/Drivers/ + * `OpenRuntime.efi` +* EFI/OC/ + * `OpenCore.efi` For the former, you can actually skip the ACPI section, return to the [OpenCore guide](https://dortania.github.io/OpenCore-Install-Guide/) and finish making the USB. Once booted to the picker, you can shut off the PC and check your USB: @@ -62,8 +59,8 @@ And voila! You have a DSDT! Now you can continue on with making SSDTs ### UEFI Shell -For this, we'll want to grab [`acpidump.efi`](https://github.com/dortania/OpenCore-Install-Guide/tree/master/extra-files/acpidump.efi.zip) and add this to `EFI/OC/Tools` and in your config under `Misc -> Tools` with the argument: `-b -n DSDT -z` and select this option in OpenCore's picker. - +For this, we'll want to grab [`acpidump.efi`](https://github.com/dortania/OpenCore-Install-Guide/tree/master/extra-files/acpidump.efi.zip) and add this to `EFI/OC/Tools` and in your config under `Misc -> Tools` with the argument: `-b -n DSDT -z` and select this option in OpenCore's picker. + If OpenCore is having issues running acpidump.efi from the boot picker, you can call it from the shell with [OpenShell](https://github.com/acidanthera/OpenCorePkg/releases)(reminder to add to both `EFI/OC/Tools` and in your config under `Misc -> Tools` ): ``` @@ -72,7 +69,7 @@ fs0:\> dir // to verify this is the right directory Directory of fs0:\ 01/01/01 3:30p EFI fs0:\> cd EFI\OC\Tools -fs0:\EFI\OC\Tools> acpidump.efi -b -n DSDT -z +fs0:\EFI\OC\Tools> acpidump.efi -b -n DSDT -z ``` - + Once done, you should find your DSDT in the EFI/OC/Tools folder with a `.dat` extension. Rename this DSDT.dat file to DSDT.aml to help us down the line diff --git a/README.md b/README.md index bf6a867..a4676e2 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ You can read more about ACPI and it's spec here: [ACPI 6.3 Manual](https://uefi. macOS can be very picky about the devices present in the DSDT and so our job is to correct it. The main devices that need to be corrected for macOS to work properly: * Embedded controllers(EC) - * All semi-modern intel machines have an EC (usually called H\_EC, ECDV, EC0, etc...) exposed in their DSDT, with many AMD systems also having it exposed. These controllers are generally not compatible with macOS and can cause panics, so then need to be hidden from macOS. macOS Catalina requires a device named `EC` to be present though, so a dummy EC is created. + * All semi-modern Intel machines have an EC (usually called H\_EC, ECDV, EC0, etc...) exposed in their DSDT, with many AMD systems also having it exposed. These controllers are generally not compatible with macOS and can cause panics, so then need to be hidden from macOS. macOS Catalina requires a device named `EC` to be present though, so a dummy EC is created. * With laptops, the actual embedded controller still needs to be enabled for battery and hotkeys to work, and renaming the EC can additionally cause issues with windows, so creating a fake EC without disabling the real embedded controller is preferable. * Plugin type * This allows the use of XCPM providing native CPU power management on **Intel** Haswell and newer CPUs, the SSDT will connect to the first thread of the CPU. Not meant for AMD diff --git a/Universal/awac-methods/manual-hedt.md b/Universal/awac-methods/manual-hedt.md index b0fc6aa..756b708 100644 --- a/Universal/awac-methods/manual-hedt.md +++ b/Universal/awac-methods/manual-hedt.md @@ -1,6 +1,5 @@ # Fixing System Clocks on HEDT: Manual - * [Finding the ACPI path](#finding-the-acpi-path) * [Edits to the sample SSDT](#edits-to-the-sample-ssdt) * [Compiling the SSDT](#compiling-the-ssdt) @@ -8,7 +7,7 @@ ## Seeing if you need SSDT-RTC0-RANGE -To start, first open your decompiled DSDT you got from [Dumping the DSDT](/Manual/dump.md) and [Decompiling and Compiling](/Manual/compile.md) with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an [ACPI extension](https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl) that can also help). +To start, first open your decompiled DSDT you got from [Dumping the DSDT](/Manual/dump.md) and [Decompiling and Compiling](/Manual/compile.md) with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an [ACPI extension](https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl) that can also help). Now search for `PNP0B00` and look at the `_CRS` entry within it: @@ -23,10 +22,9 @@ Now the problem is that the OEM forgot to mat sections 0x72 and 0x73. Because of And finally, verify if it has an _STA method as well. This will be used shortly - ## Finding the ACPI path -Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from [Dumping the DSDT](/Manual/dump.md) and [Decompiling and Compiling](/Manual/compile.md) with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an [ACPI extension](https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl) that can also help). +Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from [Dumping the DSDT](/Manual/dump.md) and [Decompiling and Compiling](/Manual/compile.md) with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an [ACPI extension](https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl) that can also help). To start, search for the following: @@ -79,8 +77,8 @@ Scope (_SB.PCI0.LPC0.RTC) <- Renamed Scope (_SB.PCI0.LPC0) <- Renamed - /* <- Remove if your RTC device didn't have an _STA - Scope (RTC) + /* <- Remove if your RTC device didn't have an _STA + Scope (RTC) { Method (_STA, 0, NotSerialized) // _STA: Status { @@ -94,7 +92,7 @@ Scope (_SB.PCI0.LPC0) <- Renamed } } } - */ <- Remove if your RTC device didn't have an _STA + */ <- Remove if your RTC device didn't have an _STA ``` ![](../../images/Universal/awac-md/ssdt-after-rename-hedt.png) diff --git a/Universal/awac-methods/manual.md b/Universal/awac-methods/manual.md index aa3db77..0d7dd60 100644 --- a/Universal/awac-methods/manual.md +++ b/Universal/awac-methods/manual.md @@ -11,7 +11,7 @@ * **Note**: X99 and X299 see [here](../awac-methods/manual-hedt.md) -Finding which SSDT you need is quite easy actually, first open your decompiled DSDT you got from [Dumping the DSDT](/Manual/dump.md) and [Decompiling and Compiling](/Manual/compile.md) with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an [ACPI extension](https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl) that can also help). +Finding which SSDT you need is quite easy actually, first open your decompiled DSDT you got from [Dumping the DSDT](/Manual/dump.md) and [Decompiling and Compiling](/Manual/compile.md) with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an [ACPI extension](https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl) that can also help). Next search for `ACPI000E`. You should get something similar: diff --git a/Universal/awac.md b/Universal/awac.md index 2acb9ac..3e5cbcc 100644 --- a/Universal/awac.md +++ b/Universal/awac.md @@ -31,5 +31,5 @@ For the RTC fix, there are 3 methods you can choose from: * **Does not support HEDT** * [Manual](/Universal/awac-methods/manual.md) * For most users -* [Manual-HEDT](/Universal/awac-methods/manual-hedt.md) +* [Manual HEDT](/Universal/awac-methods/manual-hedt.md) * For X99 and X299 users diff --git a/Universal/ec-fix.md b/Universal/ec-fix.md index 83b5cd5..72d7c2c 100644 --- a/Universal/ec-fix.md +++ b/Universal/ec-fix.md @@ -1,8 +1,8 @@ # Fixing Embedded Controller (SSDT-EC/USBX) -- [Fixing Embedded Controller (SSDT-EC/USBX)](#fixing-embedded-controller-ssdt-ecusbx) - - [What this SSDT does](#what-this-ssdt-does) - - [Methods to make this SSDT](#methods-to-make-this-ssdt) +* [Fixing Embedded Controller (SSDT-EC/USBX)](#fixing-embedded-controller-ssdt-ecusbx) + * [What this SSDT does](#what-this-ssdt-does) + * [Methods to make this SSDT](#methods-to-make-this-ssdt) ## What this SSDT does diff --git a/Universal/ec-methods/manual.md b/Universal/ec-methods/manual.md index 8e120ce..19e1590 100644 --- a/Universal/ec-methods/manual.md +++ b/Universal/ec-methods/manual.md @@ -1,17 +1,17 @@ # Fixing Embedded Controllers: Manual -- [Fixing Embedded Controllers: Manual](#fixing-embedded-controllers-manual) - - [Finding the ACPI path](#finding-the-acpi-path) - - [DSDT](#dsdt) - - [DeviceManager](#devicemanager) - - [Edits to the sample SSDT](#edits-to-the-sample-ssdt) - - [Edge Cases](#edge-cases) - - [Multiple PNP0C09's show up](#multiple-pnp0c09s-show-up) - - [No PNP0C09 show up](#no-pnp0c09-show-up) - - [PNP0C09 already named `EC`](#pnp0c09-already-named-ec) - - [PNP0C09 already has an `_STA` method](#pnp0c09-already-has-an-_sta-method) - - [Compiling the SSDT](#compiling-the-ssdt) - - [Wrapping up](#wrapping-up) +* [Fixing Embedded Controllers: Manual](#fixing-embedded-controllers-manual) + * [Finding the ACPI path](#finding-the-acpi-path) + * [DSDT](#dsdt) + * [DeviceManager](#devicemanager) + * [Edits to the sample SSDT](#edits-to-the-sample-ssdt) + * [Edge Cases](#edge-cases) + * [Multiple PNP0C09's show up](#multiple-pnp0c09s-show-up) + * [No PNP0C09 show up](#no-pnp0c09-show-up) + * [PNP0C09 already named `EC`](#pnp0c09-already-named-ec) + * [PNP0C09 already has an `_STA` method](#pnp0c09-already-has-an-_sta-method) + * [Compiling the SSDT](#compiling-the-ssdt) + * [Wrapping up](#wrapping-up) TO-DO: @@ -26,7 +26,7 @@ To find the ACPI pathing, you have 2 methods: ### DSDT -Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from [Dumping the DSDT](/Manual/dump.md) and [Decompiling and Compiling](/Manual/compile.md) with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an [ACPI extension](https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl) that can also help). +Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from [Dumping the DSDT](/Manual/dump.md) and [Decompiling and Compiling](/Manual/compile.md) with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an [ACPI extension](https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl) that can also help). Next, search for `PNP0C09`. You should get something similar: @@ -43,18 +43,18 @@ But now we get into edge case territory, what fun! The main ones to check for are: -- [Fixing Embedded Controllers: Manual](#fixing-embedded-controllers-manual) - - [Finding the ACPI path](#finding-the-acpi-path) - - [DSDT](#dsdt) - - [DeviceManager](#devicemanager) - - [Edits to the sample SSDT](#edits-to-the-sample-ssdt) - - [Edge Cases](#edge-cases) - - [Multiple PNP0C09's show up](#multiple-pnp0c09s-show-up) - - [No PNP0C09 show up](#no-pnp0c09-show-up) - - [PNP0C09 already named `EC`](#pnp0c09-already-named-ec) - - [PNP0C09 already has an `_STA` method](#pnp0c09-already-has-an-_sta-method) - - [Compiling the SSDT](#compiling-the-ssdt) - - [Wrapping up](#wrapping-up) +* [Fixing Embedded Controllers: Manual](#fixing-embedded-controllers-manual) + * [Finding the ACPI path](#finding-the-acpi-path) + * [DSDT](#dsdt) + * [DeviceManager](#devicemanager) + * [Edits to the sample SSDT](#edits-to-the-sample-ssdt) + * [Edge Cases](#edge-cases) + * [Multiple PNP0C09's show up](#multiple-pnp0c09s-show-up) + * [No PNP0C09 show up](#no-pnp0c09-show-up) + * [PNP0C09 already named `EC`](#pnp0c09-already-named-ec) + * [PNP0C09 already has an `_STA` method](#pnp0c09-already-has-an-_sta-method) + * [Compiling the SSDT](#compiling-the-ssdt) + * [Wrapping up](#wrapping-up) If none of the above apply to you, you're ready for the next section: @@ -79,7 +79,6 @@ Now that we have our ACPI path, lets grab our SSDT and get to work: * [SSDT-EC](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-EC.dsl) * For Broadwell and older - Now when opening this SSDT, you'll notice a few things. Mainly: * Some code is commented out @@ -110,8 +109,6 @@ Scope (_SB.PC00.LPC0) <- Renamed ![](../../images/Desktops/ssdt-after.png) - - ## Edge Cases ### Multiple PNP0C09's show up @@ -132,17 +129,17 @@ When this happens, you'll only need to create a "dummy" EC for macOS. Try searching for any devices named: "LPCB", "LPC0", "LPC", "SBRG", "PX40". If you have any of these, try using the LPC pathing of each of those device in place of the Embedded Controller's pathing. -Note that **DO NOT** uncomment the EC disaling code as there are no devices that are considered "EC" in your machine. +Note that **DO NOT** uncomment the EC disabling code as there are no devices that are considered "EC" in your machine. ### PNP0C09 already named `EC` -Congrats! No need to create an SSDT-EC! However you will still want USBX if you're skylake or newer. +Congrats! No need to create an SSDT-EC! However you will still want USBX if you're Skylake or newer. Prebuilt can be grabbed here: [SSDT-USBX.aml](https://github.com/dortania/OpenCore-Post-Install/blob/master/extra-files/SSDT-USBX.aml) ### PNP0C09 already has an `_STA` method -This is the equivalent of not having an EC as we can't control it with our SSDT-EC, instead we'll need to create a "dummy" EC for macOS. You'll still want to find the PCI and LPC pathing for this device. So follow the guide as if you were creating a laptop SSDT-EC/USBX. +This is the equivalent of not having an EC as we can't control it with our SSDT-EC, instead we'll need to create a "dummy" EC for macOS. You'll still want to find the PCI and LPC pathing for this device. So follow the guide as if you were creating a laptop SSDT-EC/USBX. Example of an EC with STA already: diff --git a/Universal/imei-methods/manual.md b/Universal/imei-methods/manual.md index e54af91..61ad084 100644 --- a/Universal/imei-methods/manual.md +++ b/Universal/imei-methods/manual.md @@ -7,7 +7,7 @@ ## Finding the ACPI device -Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from [Dumping the DSDT](/Manual/dump.md) and [Decompiling and Compiling](/Manual/compile.md) with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an [ACPI extension](https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl) that can also help). +Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from [Dumping the DSDT](/Manual/dump.md) and [Decompiling and Compiling](/Manual/compile.md) with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an [ACPI extension](https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl) that can also help). Next, search for the following devices: @@ -21,7 +21,6 @@ If none of the 3 show up, you'll need to create an SSDT-IMEI. The rest of this page will however assume none of those 3 devices showed up. - ## Compiling the SSDT So there's actually no edits required to SSDT-IMEI, you can either grab the source code and compile yourself or use the prebuilt @@ -30,7 +29,6 @@ So there's actually no edits required to SSDT-IMEI, you can either grab the sour * [SSDT-IMEI's source code](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-IMEI.dsl) - With the SSDT done, you're now [ready to compile the SSDT!](/Manual/compile.md) ## Wrapping up diff --git a/Universal/imei.md b/Universal/imei.md index 21a91b2..6c7342f 100644 --- a/Universal/imei.md +++ b/Universal/imei.md @@ -1,8 +1,8 @@ # Fixing IMEI (SSDT-IMEI) -- [Fixing IMEI (SSDT-IMEI)](#fixing-imei-ssdt-imei) - - [What this SSDT does](#what-this-ssdt-does) - - [Methods to make this SSDT](#methods-to-make-this-ssdt) +* [Fixing IMEI (SSDT-IMEI)](#fixing-imei-ssdt-imei) + * [What this SSDT does](#what-this-ssdt-does) + * [Methods to make this SSDT](#methods-to-make-this-ssdt) ## What this SSDT does @@ -12,11 +12,10 @@ The purpose of SSDT-IMEI is: * The same applies when mixing Sandy Bridge motherboards with 7 series motherboards * An extra issue that may pop up is that the IMEI won't appear in ACPI, which can lead to more issues as macOS expects there to be an ACPI device to apply device-id's. So to resolve, we'll want to verify if we have an IMEI device, and if not create a new device. - ## Methods to make this SSDT For the IMEI fix, there are 2 methods you can choose from: * [Prebuilt](/Universal/imei-methods/prebuilt.md) * The prebuilt are a bit bloated. It's recommended to use the method below. -* [Manual](/Universal/imei-methods/manual.md) \ No newline at end of file +* [Manual](/Universal/imei-methods/manual.md) diff --git a/Universal/nvram-methods/manual.md b/Universal/nvram-methods/manual.md index 725e2e5..8513c63 100644 --- a/Universal/nvram-methods/manual.md +++ b/Universal/nvram-methods/manual.md @@ -7,7 +7,7 @@ ## Finding the ACPI path -Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from [Dumping the DSDT](/Manual/dump.md) and [Decompiling and Compiling](/Manual/compile.md) with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an [ACPI extension](https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl) that can also help). +Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from [Dumping the DSDT](/Manual/dump.md) and [Decompiling and Compiling](/Manual/compile.md) with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an [ACPI extension](https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl) that can also help). Next, search for the following: diff --git a/Universal/nvram.md b/Universal/nvram.md index 95e5fde..2d94faf 100644 --- a/Universal/nvram.md +++ b/Universal/nvram.md @@ -2,7 +2,7 @@ * [What this SSDT does](#what-this-ssdt-does) * [Methods to make this SSDT](#methods-to-make-this-ssdt) - + ## What this SSDT does This SSDT is required for all "true" 300 series motherboards(Z370 is excluded), it specifically brings back NVRAM support and requires very little configuration for the end user. @@ -10,7 +10,7 @@ This SSDT is required for all "true" 300 series motherboards(Z370 is excluded), * B360 * B365 * H310 -* H370(HM370shouldn't require this) +* H370 (HM370 shouldn't require this) * Z390 10th gen motherboards **do not** need this SSDT, NVRAM's native on these platforms. @@ -21,4 +21,4 @@ The main ways to make this SSDT: * [Prebuilt](/Universal/nvram-methods/prebuilt.md) * [SSDTTime](/Universal/nvram-methods/ssdttime.md) -* [Manual](/Universal/nvram-methods/manual.md) \ No newline at end of file +* [Manual](/Universal/nvram-methods/manual.md) diff --git a/Universal/plug-methods/manual.md b/Universal/plug-methods/manual.md index 8793014..f3b48a5 100644 --- a/Universal/plug-methods/manual.md +++ b/Universal/plug-methods/manual.md @@ -16,7 +16,7 @@ To find the ACPI pathing, you have 2 methods: ### DSDT -CPU naming is fairly easy to figure out, first open your decompiled DSDT you got from [Dumping the DSDT](/Manual/dump.md) and [Decompiling and Compiling](/Manual/compile.md) with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an [ACPI extension](https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl) that can also help). +CPU naming is fairly easy to figure out, first open your decompiled DSDT you got from [Dumping the DSDT](/Manual/dump.md) and [Decompiling and Compiling](/Manual/compile.md) with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an [ACPI extension](https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl) that can also help). Next search for `Processor`. This should give you a result like this: @@ -26,7 +26,7 @@ As we can see, the first processor in our list is `SB.PR00`. This is what we'll **X99 and X299 note**: -Due to the different DSDT structure of these systems, you'll need to to actually check in multiple places as the pathing isn't as obvious: +Due to the different DSDT structure of these systems, you'll need to actually check in multiple places as the pathing isn't as obvious: ![](../../images/Universal/plug-md/processor-2.png) diff --git a/Universal/plug.md b/Universal/plug.md index a89ba0d..fc8af76 100644 --- a/Universal/plug.md +++ b/Universal/plug.md @@ -1,8 +1,8 @@ # Fixing Power Management (SSDT-PLUG) -- [Fixing Power Management (SSDT-PLUG)](#fixing-power-management-ssdt-plug) - - [What this SSDT does](#what-this-ssdt-does) - - [Methods to make this SSDT](#methods-to-make-this-ssdt) +* [Fixing Power Management (SSDT-PLUG)](#fixing-power-management-ssdt-plug) + * [What this SSDT does](#what-this-ssdt-does) + * [Methods to make this SSDT](#methods-to-make-this-ssdt) ## What this SSDT does @@ -10,7 +10,7 @@ The purpose of SSDT-PLUG is to allow the kernel's XCPM(XNU's CPU Power Managemen **Note**: SSDT-PLUG is only compatible with Intel's Haswell and newer CPUs, Sandy Bridge and Ivy Bridge will need to follow the [ssdtPRgen method](https://dortania.github.io/OpenCore-Post-Install/universal/pm.html#sandy-and-ivy-bridge-power-management)(in post-install) while AMD users should not use this(unless attempting to attach AGPM which is outside the scope of Dortania's guides) - * Ivy Bridge-E(HEDT/server) however is supported by XCPM +* Ivy Bridge-E(HEDT/server) however is supported by XCPM ## Methods to make this SSDT diff --git a/Universal/rhub-methods/manual.md b/Universal/rhub-methods/manual.md index eb886e0..f18b6df 100644 --- a/Universal/rhub-methods/manual.md +++ b/Universal/rhub-methods/manual.md @@ -7,7 +7,7 @@ ## Finding the ACPI path -Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from [Dumping the DSDT](/Manual/dump.md) and [Decompiling and Compiling](/Manual/compile.md) with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an [ACPI extension](https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl) that can also help). +Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from [Dumping the DSDT](/Manual/dump.md) and [Decompiling and Compiling](/Manual/compile.md) with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an [ACPI extension](https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl) that can also help). Next, search for the `Device (RHUB)` diff --git a/Universal/spoof.md b/Universal/spoof.md index 7285f5b..1014c35 100644 --- a/Universal/spoof.md +++ b/Universal/spoof.md @@ -49,22 +49,24 @@ The specifics are due to [Endianness](https://en.wikipedia.org/wiki/Endianness) ### Linux If you can run Linux, use command `lspci -vmmnnD -d 1002::0300` + ``` $ lspci -vmmnnD -d 1002::0300 -Slot: 0000:01:00.0 -Class: VGA compatible controller [0300] -Vendor: Advanced Micro Devices, Inc. [AMD/ATI] [1002] -Device: Oland [Radeon HD 8570 / R7 240/340 / Radeon 520 OEM] [6611] -SVendor: Micro-Star International Co., Ltd. [MSI] [1462] -SDevice: Device [3740] -Rev: 87 +Slot: 0000:01:00.0 +Class: VGA compatible controller [0300] +Vendor: Advanced Micro Devices, Inc. [AMD/ATI] [1002] +Device: Oland [Radeon HD 8570 / R7 240/340 / Radeon 520 OEM] [6611] +SVendor: Micro-Star International Co., Ltd. [MSI] [1462] +SDevice: Device [3740] +Rev: 87 ``` You can easily get -- Slot ID `0000:01:00.0`, we need it later -- Vendor ID `1002`, all AMD devices have this ID -- Device ID `6611`, this is what we care about -- Device name `Radeon HD 8570 / R7 240/340 / Radeon 520 OEM`, mainly cosmetic + +* Slot ID `0000:01:00.0`, we need it later +* Vendor ID `1002`, all AMD devices have this ID +* Device ID `6611`, this is what we care about +* Device name `Radeon HD 8570 / R7 240/340 / Radeon 520 OEM`, mainly cosmetic ## Finding the ACPI Path of the GPU diff --git a/Universal/unc0-methods/manual.md b/Universal/unc0-methods/manual.md index 93a9db7..581cc81 100644 --- a/Universal/unc0-methods/manual.md +++ b/Universal/unc0-methods/manual.md @@ -11,7 +11,6 @@ Super simple, just grab the SSDT and compile: * [SSDT-UNC.dsl](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-UNC.dsl) - See here how to compile: [Compiling ACPI](/Manual/compile.md) ## Wrapping up diff --git a/Universal/unc0.md b/Universal/unc0.md index 2fb0d64..3560965 100644 --- a/Universal/unc0.md +++ b/Universal/unc0.md @@ -2,7 +2,7 @@ * [What this SSDT does](#what-this-ssdt-does) * [Methods to make this SSDT](#methods-to-make-this-ssdt) - + ## What this SSDT does This SSDT is required for all X99 and many X79 boards, it specifically disables unused devices in ACPI ensuing IOPCIFamily doesn't kernel panic. This requires very little configuration for the end user. @@ -17,4 +17,4 @@ This SSDT is required for all X99 and many X79 boards, it specifically disables The main ways to make this SSDT: * [Prebuilt](/Universal/unc0-methods/prebuilt.md) -* [Manual](/Universal/unc0-methods/manual.md) \ No newline at end of file +* [Manual](/Universal/unc0-methods/manual.md) diff --git a/cleanup.md b/cleanup.md index 671728f..40f6b63 100644 --- a/cleanup.md +++ b/cleanup.md @@ -1,6 +1,6 @@ # Cleanup -So you've made all your SSDTs but now there's one thing left: Adding them to Opencore +So you've made all your SSDTs but now there's one thing left: Adding them to OpenCore The 2 main locations: diff --git a/package.json b/package.json index 8f64fff..2acb319 100644 --- a/package.json +++ b/package.json @@ -15,18 +15,18 @@ "dev": "vuepress dev", "build": "vuepress build", "fix-lint": "run-script-os", - "fix-lint:default": "(echo Attempting to fix lint... && markdownlint '**/*.md' -f && echo Fixed successfully, please commit.) || (echo Fix failed! && exit 1)", - "fix-lint:win32": "(echo Attempting to fix lint... && markdownlint **/*.md -f && echo Fixed successfully, please commit.) || (echo Fix failed! && exit 1)", + "fix-lint:default": "(echo Attempting to fix lint... && markdownlint -c shared/.markdownlint.json -p shared/.markdownlintignore '**/*.md' -f && echo Fixed successfully, please commit.) || (echo Fix failed! && exit 1)", + "fix-lint:win32": "(echo Attempting to fix lint... && markdownlint -c shared/.markdownlint.json -p shared/.markdownlintignore **/*.md -f && echo Fixed successfully, please commit.) || (echo Fix failed! && exit 1)", "lint": "run-script-os", - "lint:default": "(echo Linting... && markdownlint '**/*.md' && echo Lint passed.) || (echo Lint failed! Please review and fix errors. && exit 1)", - "lint:win32": "(echo Linting... && markdownlint **/*.md && echo Lint passed.) || (echo Lint failed! Please review and fix errors. && exit 1)", + "lint:default": "(echo Linting... && markdownlint -c shared/.markdownlint.json -p shared/.markdownlintignore '**/*.md' && echo Lint passed.) || (echo Lint failed! Please review and fix errors. && exit 1)", + "lint:win32": "(echo Linting... && markdownlint -c shared/.markdownlint.json -p shared/.markdownlintignore **/*.md && echo Lint passed.) || (echo Lint failed! Please review and fix errors. && exit 1)", "lint-ci": "run-script-os", - "lint-ci:default": "(echo Linting... && markdownlint '**/*.md' && echo Lint passed.) || ((echo Lint failed, attempting fix... && markdownlint '**/*.md' -f && echo Fix generated successfully. Please apply the following diff using git apply && git diff) || echo Fix failed! && exit 1)", - "lint-ci:win32": "(echo Linting... && markdownlint **/*.md && echo Lint passed.) || ((echo Lint failed, attempting fix... && markdownlint **/*.md -f && echo Fix generated successfully. Please apply the following diff using git apply && git diff) || echo Fix failed! && exit 1)", - "sort-dict": "node ./scripts/sortDict.js", + "lint-ci:default": "(echo Linting... && markdownlint -c shared/.markdownlint.json -p shared/.markdownlintignore '**/*.md' && echo Lint passed.) || ((echo Lint failed, attempting fix... && markdownlint -c shared/.markdownlint.json -p shared/.markdownlintignore '**/*.md' -f && echo Fix generated successfully. Please apply the following diff using git apply && git diff) || echo Fix failed! && exit 1)", + "lint-ci:win32": "(echo Linting... && markdownlint -c shared/.markdownlint.json -p shared/.markdownlintignore **/*.md && echo Lint passed.) || ((echo Lint failed, attempting fix... && markdownlint -c shared/.markdownlint.json -p shared/.markdownlintignore **/*.md -f && echo Fix generated successfully. Please apply the following diff using git apply && git diff) || echo Fix failed! && exit 1)", + "sort-dict": "node ./shared/scripts/sortDict.js", "spellcheck": "run-script-os", - "spellcheck:default": "(spellchecker --plugins spell indefinite-article repeated-words syntax-urls --dictionaries dictionary/dictionary.txt dictionary/opencorekeys.txt --files '**/*.md' && echo Spellcheck passed.) || (echo Spellcheck failed! Please review and fix errors/add words to dictionary as needed. && exit 1)", - "spellcheck:win32": "(spellchecker --plugins spell indefinite-article repeated-words syntax-urls --dictionaries dictionary/dictionary.txt dictionary/opencorekeys.txt --files **/*.md && echo Spellcheck passed.) || (echo Spellcheck failed! Please review and fix errors/add words to dictionary as needed. && exit 1)", + "spellcheck:default": "(spellchecker --plugins spell indefinite-article repeated-words syntax-urls --dictionaries shared/dictionary/dictionary.txt shared/dictionary/opencorekeys.txt --files '**/*.md' && echo Spellcheck passed.) || (echo Spellcheck failed! Please review and fix errors/add words to dictionary as needed. && exit 1)", + "spellcheck:win32": "(spellchecker --plugins spell indefinite-article repeated-words syntax-urls --dictionaries shared/dictionary/dictionary.txt shared/dictionary/opencorekeys.txt --files **/*.md && echo Spellcheck passed.) || (echo Spellcheck failed! Please review and fix errors/add words to dictionary as needed. && exit 1)", "test": "run-script-os", "test:default": "npm run lint --silent; npm run spellcheck --silent", "test:win32": "npm run lint --silent & npm run spellcheck --silent" diff --git a/shared b/shared new file mode 160000 index 0000000..9158b82 --- /dev/null +++ b/shared @@ -0,0 +1 @@ +Subproject commit 9158b8216083335c01ccf6f0215a2c5bfe3696aa diff --git a/ssdt-methods/ssdt-easy.md b/ssdt-methods/ssdt-easy.md index 346a31d..978da4a 100644 --- a/ssdt-methods/ssdt-easy.md +++ b/ssdt-methods/ssdt-easy.md @@ -31,7 +31,7 @@ What are all these options?: * 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 -* `3. FakeEC Laptop - OS-aware Fake EC` +* `3. FakeEC Laptop - OS-aware Fake EC` * This is the SSDT-EC, but the laptop version only Builds Fake EC and leaves the existing EC devices untouched, again required for Catalina users * `4. PluginType - Sets plugin-type = 1 on First ProcessorObj` * This is the SSDT-PLUG, for Intel only @@ -44,7 +44,6 @@ What are all these options?: * `8. Dump DSDT - Automatically dump the system DSDT` * Dumps your DSDT from your firmware - What we want to do is select option `8. Dump DSDT` first, then select the appropriate option(s) for your system. > What about USBX? @@ -55,12 +54,12 @@ 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**: +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 -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**. 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. +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: diff --git a/ssdt-methods/ssdt-long.md b/ssdt-methods/ssdt-long.md index aa32cf0..1c41896 100644 --- a/ssdt-methods/ssdt-long.md +++ b/ssdt-methods/ssdt-long.md @@ -4,7 +4,7 @@ Well sadly some things are not handled by SSDTTime, well have no fear as making * Dump DSDT(the one SSDTTime did for use will work) * Decompile DSDT -* Make SSDTs based of of it(You'll need either MaciASL or a text editor for this) +* Make SSDTs based off of it(You'll need either MaciASL or a text editor for this) * 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 index 0e95d5b..b55f776 100644 --- a/ssdt-methods/ssdt-methods.md +++ b/ssdt-methods/ssdt-methods.md @@ -4,11 +4,11 @@ Creating SSDTs mainly fall into 3 camps: * [Prebuilt SSDTs](../ssdt-methods/ssdt-prebuilt.md) * They're universal but don't teach much - * For most users, we recommend this as it does not require any compling + * For most users, we recommend this as it does not require any compiling * [Automated tools](../ssdt-methods/ssdt-easy.md) * Mainly seen with SSDTTime, work much better than prebuilts as there's less bloat however doesn't teach you much * [Manually creating them](../ssdt-methods/ssdt-long.md) * Will always work, be much cleaner and get to learn about the process * However requires you to deal with code -If you're not comfortable with editing and compiling code, we recommend the [prebuilt option](../ssdt-methods/ssdt-prebuilt.md) \ No newline at end of file +If you're not comfortable with editing and compiling code, we recommend the [prebuilt option](../ssdt-methods/ssdt-prebuilt.md) diff --git a/ssdt-methods/ssdt-prebuilt.md b/ssdt-methods/ssdt-prebuilt.md index bbfffb1..5bc96cc 100644 --- a/ssdt-methods/ssdt-prebuilt.md +++ b/ssdt-methods/ssdt-prebuilt.md @@ -1,4 +1,4 @@ -# Pre-Built SSDTs +# Prebuilt SSDTs Simply select your hardware type and generation, then download the associated files. Once downloaded, place them in your EFI under EFI/OC/ACPI and head back to [config.plist Setup](https://dortania.github.io/OpenCore-Install-Guide/config.plist/) @@ -66,7 +66,6 @@ SSDT-EC: * Required Ivy Bridge CPU with 6 series motherboard * ie. H61, B65, Q65, P67, H67, Q67, Z68 - Once downloaded, place them into your EFI folder under EFI/OC/ACPI and head back to the install guide * [config.plist Setup](https://dortania.github.io/OpenCore-Install-Guide/config.plist/) @@ -215,10 +214,8 @@ SSDT-RHUB: ::: - ## Intel Laptop SSDTs - ### Laptop Clarksfield and Arrandale ::: tip SSDTs required @@ -503,10 +500,8 @@ SSDT-XOSI: * Enables many Windows-only functionality in macOS * Requires XOSI patch(covered later on) - ::: - ## Intel HEDT SSDTs ### Nehalem and Westmere @@ -529,10 +524,8 @@ SSDT-EC: ::: - ### Sandy and Ivy Bridge-E - ::: tip SSDTs required * [SSDT-PLUG-DRTNIA](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-PLUG-DRTNIA.aml) @@ -632,7 +625,6 @@ SSDT-RTC0-RANGE-HEDT: ::: - ## AMD SSDTs ### AMD Bulldozer/Jaguar @@ -684,6 +676,3 @@ SSDT-CPUR: * Used for fixing CPU definitions in ACPI, as macOS does not properly support the ACPI used in B550 and newer boards ::: - - - diff --git a/troubleshooting.md b/troubleshooting.md index f73aa42..2a51d1b 100644 --- a/troubleshooting.md +++ b/troubleshooting.md @@ -59,16 +59,16 @@ Acpi table [DSDT] successfully installed and loaded Pass 1 parse of [DSDT] ``` -This is a common error on DSDTs that have methods that aren't supported by maciASL, the easiest way is to delete maciASL and make sure you grab it from Acidanthera's repo: [maciASL](https://github.com/acidanthera/MaciASL/releases) +This is a common error on DSDTs that have methods that aren't supported by MaciASL, the easiest way is to delete MaciASL and make sure you grab it from Acidanthera's repo: [MaciASL](https://github.com/acidanthera/MaciASL/releases) ## Invalid character (0x3D), expecting ASL keyword or name ![](/troubleshooting-md/invalid-parse.png) -Similar to the above error, 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) +Similar to the above error, 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) ## Syntax error, unexpected PARSEOP_ONE, expecting '(' ![](/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) +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)