mirror of
https://github.com/AskDavis/Getting-Started-With-ACPI.git
synced 2026-01-02 11:59:48 -08:00
Massive overhaul(hopefully helps new users a bti)
This commit is contained in:
88
Universal/plug-methods/manual.md
Normal file
88
Universal/plug-methods/manual.md
Normal file
@@ -0,0 +1,88 @@
|
||||
# Fixing Power Management: Manual
|
||||
|
||||
* [Finding the ACPI path](#finding-the-acpi-path)
|
||||
* [DSDT](#DSDT)
|
||||
* [DeviceManager](#devicemanager)
|
||||
* [Edits to the sample SSDT](#edits-to-the-sample-ssdt)
|
||||
* [Compiling the SSDT](#compiling-the-ssdt)
|
||||
* [Wrapping up](#wrapping-up)
|
||||
|
||||
## Finding the ACPI path
|
||||
|
||||
To find the ACPI pathing, you have 2 methods:
|
||||
|
||||
* [DSDT](#DSDT)
|
||||
* [DeviceManager](#devicemanager)
|
||||
|
||||
### 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).
|
||||
|
||||
Next search for `Processor`. This should give you a result like this:
|
||||
|
||||

|
||||
|
||||
As we can see, the first processor in our list is `SB.PR00`. This is what we'll be applying the `plugin-type=1` property too.
|
||||
|
||||
**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:
|
||||
|
||||

|
||||
|
||||
If we then search for instances of `CP00` we find that its full ACPI pathing is `SB.SCK0.CP00`:
|
||||
|
||||

|
||||
|
||||
Now with the pathing, you can head here: [Edits to the sample SSDT](#edits-to-the-sample-ssdt)
|
||||
|
||||
##### DeviceManager
|
||||
|
||||
If you already have Windows installed on this machine, finding the CPU pathing is fairly easy.
|
||||
|
||||
Start by opening up Device Manager in Windows and looking for a device named `Processor`. Once found, click on it and select the `BIOS device Name` entry. You should get something like this:
|
||||
|
||||

|
||||
|
||||
From the above, we can see that our pathing is `PR.CPU0`. Pay close attention to the start as `PR` is important for creating the SSDT
|
||||
|
||||
**X99 and X299 note**:
|
||||
|
||||
Odd quirk of DeviceManager in Windows is that the Processor's order does not actually match the ACPI path, instead giving something like `SB.SCK0.CP10`:
|
||||
|
||||

|
||||
|
||||
When this happens, you can either:
|
||||
|
||||
* Look through and find the lowest value
|
||||
* Assume the lowest(commonly being `PR00` or `CP00`)
|
||||
|
||||
So with the above X299 example, our CPU pathing would be `SB.SCK0.CP00`
|
||||
|
||||
Now with the pathing, you can head here: [Edits to the sample SSDT](#edits-to-the-sample-ssdt)
|
||||
|
||||
## Edits to the sample SSDT
|
||||
|
||||
Now that we have our ACPI path, lets grab our SSDT and get to work:
|
||||
|
||||
* [SSDT-PLUG.dsl](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PLUG.dsl)
|
||||
|
||||
From the above SSDT, it's very likely your processor is already there. If so, you can delete all the other entries other than yours and the `Method PMPM` as this is what injects the `plugin-type=1` property into our system.
|
||||
|
||||
* **Reminder**: We only need to apply `plugin-type=1` to the first thread
|
||||
|
||||
For the below example, we'll be using the X299 example(`SB.SCK0.CP00`)
|
||||
|
||||
Original | Cleaned Up
|
||||
:-------------------------:|:-------------------------:
|
||||
 | 
|
||||
|
||||
## Compiling the SSDT
|
||||
|
||||
With the SSDT done, you're now [ready to compile the SSDT!](/Manual/compile.md)
|
||||
|
||||
## Wrapping up
|
||||
|
||||
Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to warp up:
|
||||
|
||||
* [**Cleanup**](/cleanup.md)
|
||||
20
Universal/plug-methods/prebuilt.md
Normal file
20
Universal/plug-methods/prebuilt.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Fixing Power Management: Prebuilt
|
||||
|
||||
By far the easiest way to get SSDT-PLUG is just downloading the below file:
|
||||
|
||||
* [SSDT-PLUG-DRTNIA.aml](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-PLUG-DRTNIA.aml)
|
||||
|
||||
This prebuilt file is just a precompiled version of [SSDT-PLUG](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PLUG.dsl) provided by Acidanthera.
|
||||
|
||||
The main things to note with this method:
|
||||
|
||||
* Quite Bloated
|
||||
* There's ACPI naming for every type, this means there's added delays in boot times(though unnoticeable to most as it's generally 0.5 seconds longer)
|
||||
* 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
|
||||
|
||||
## Wrapping up
|
||||
|
||||
Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to warp up:
|
||||
|
||||
* [**Cleanup**](/cleanup.md)
|
||||
22
Universal/plug-methods/ssdttime.md
Normal file
22
Universal/plug-methods/ssdttime.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Fixing Power Management: SSDTTime
|
||||
|
||||
The second involves using SSDTTime which automates most of the process. See here on how to use it: [SSDTs: Easy Way](/ssdt-methods/ssdt-easy.md)
|
||||
|
||||
To get the SSDT-PLUG, run the following:
|
||||
|
||||
* `4. Dump DSDT` then run `3. PluginType`
|
||||
|
||||
This will provide you with some files, the main one you care about is SSDT-PLUG**.aml**. The DSDT and .dsl are only left for referencing or verification.
|
||||
|
||||
The main things to note with this method:
|
||||
|
||||
* Doesn't work on HEDT and server hardware(ie. X99 and X299)
|
||||
* While the majority following this guide are likely on consumer hardware, those with fancier hardware will need to either use the [Prebuilt](#prebuilts) or [Manual](#manual) method
|
||||
* 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
|
||||
|
||||
## Wrapping up
|
||||
|
||||
Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to warp up:
|
||||
|
||||
* [**Cleanup**](/cleanup.md)
|
||||
Reference in New Issue
Block a user