mirror of
https://github.com/AskDavis/Getting-Started-With-ACPI.git
synced 2025-12-31 20:55:58 -08:00
Inital import
This commit is contained in:
@@ -11,13 +11,13 @@ For this guide, we're gonna assume Windows is already on this laptop, as otherwi
|
||||
|
||||
Now open DeviceManager, and head to the following:
|
||||
|
||||
```text
|
||||
```
|
||||
Device Manager -> Display Adapters -> Properties -> Details > BIOS device name
|
||||
```
|
||||
|
||||
* Note some GPU ACPI pathing may be hiding under "BIOS device name"
|
||||
|
||||

|
||||

|
||||
|
||||
From the above example, we can see our display is hooked up to `PCI0.GFX0`
|
||||
|
||||
@@ -41,7 +41,7 @@ Scope (_SB.PCI0.GFX0) <- Rename this
|
||||
Device(_SB.PCI0.GFX0.PNLF) <- Rename this
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
Following the example pathing we found, the SSDT should look something like this:
|
||||
|
||||
@@ -55,7 +55,7 @@ Scope (_SB.PCI0.GPU0) <- Renamed
|
||||
Device(_SB.PCI0.GPU0.PNLF) <- Renamed
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
## Compiling the SSDT
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ To start, grab [SSDT-dGPU-Off.dsl](https://github.com/dortania/Getting-Started-W
|
||||
|
||||
Next we need to get on Windows, and head to the following:
|
||||
|
||||
```text
|
||||
```
|
||||
Device Manager -> Display Adapters -> dGPU -> Properties -> Details > BIOS device name
|
||||
```
|
||||
|
||||
@@ -35,15 +35,15 @@ This should provided you with an ACPI path for your dGPU, most commonly:
|
||||
* Nvidia dGPU: `\_SB.PCI0.PEG0.PEGP`
|
||||
* AMD dGPU: `\_SB.PCI0.PEGP.DGFX`
|
||||
|
||||

|
||||

|
||||
|
||||
Now with that, we'll need to change the ACPI path in the SSDT. Main sections:
|
||||
|
||||
```text
|
||||
```
|
||||
External(_SB.PCI0.PEG0.PEGP._OFF, MethodObj)
|
||||
```
|
||||
|
||||
```text
|
||||
```
|
||||
If (CondRefOf(\_SB.PCI0.PEG0.PEGP._OFF)) { \_SB.PCI0.PEG0.PEGP._OFF() }
|
||||
```
|
||||
|
||||
@@ -59,7 +59,7 @@ To start, grab [SSDT-NoHybGfx.dsl](https://github.com/dortania/Getting-Started-W
|
||||
|
||||
Next we need to get on Windows, and head to the following:
|
||||
|
||||
```text
|
||||
```
|
||||
Device Manager -> Display Adapters -> dGPU -> Properties -> Details > BIOS device name
|
||||
```
|
||||
|
||||
@@ -70,12 +70,12 @@ This should provided you with an ACPI path for your dGPU, most commonly:
|
||||
|
||||
Now with that, we'll need to change the ACPI path in the SSDT. Main sections:
|
||||
|
||||
```text
|
||||
```
|
||||
External (_SB_.PCI0.PEG0.PEGP._DSM, MethodObj) // dGPU ACPI Path
|
||||
External (_SB_.PCI0.PEG0.PEGP._PS3, MethodObj) // dGPU ACPI Path
|
||||
```
|
||||
|
||||
```text
|
||||
```
|
||||
If ((CondRefOf (\_SB.PCI0.PEG0.PEGP._DSM) && CondRefOf (\_SB.PCI0.PEG0.PEGP._PS3)))
|
||||
```
|
||||
|
||||
@@ -84,7 +84,7 @@ If ((CondRefOf (\_SB.PCI0.PEG0.PEGP._DSM) && CondRefOf (\_SB.PCI0.PEG0.PEGP._PS3
|
||||
\_SB.PCI0.PEG0.PEGP._DSM (ToUUID ("a486d8f8-0bda-471b-a72b-6042a6b5bee0"), 0x0100, 0x1A, Buffer (0x04)
|
||||
```
|
||||
|
||||
```text
|
||||
```
|
||||
// Card Off
|
||||
\_SB.PCI0.PEG0.PEGP._PS3 ()
|
||||
```
|
||||
|
||||
@@ -12,7 +12,7 @@ Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT
|
||||
|
||||
Next search for `Device (GPI0)`. Should give you a result similar to this:
|
||||
|
||||

|
||||

|
||||
|
||||
What we care about from this is the `_STA` method:
|
||||
|
||||
@@ -34,7 +34,7 @@ What we want is for this to always return `0x0F` when booting macOS, so we want
|
||||
|
||||
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`:
|
||||
|
||||
@@ -57,7 +57,7 @@ If (_OSI ("Darwin"))
|
||||
}
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
Following the example pathing we found, the SSDT should look something like this:
|
||||
|
||||
@@ -70,7 +70,7 @@ If (_OSI ("Darwin"))
|
||||
}
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
## Compiling the SSDT
|
||||
|
||||
|
||||
Reference in New Issue
Block a user