From 469bd061768535efdabf78dd37b5cb6b48661af2 Mon Sep 17 00:00:00 2001 From: "Travis Build Bot (from Travis CI)" Date: Sat, 18 Apr 2020 19:31:15 +0000 Subject: [PATCH] Deploy dortania/Getting-Started-With-ACPI to github.com/dortania/Getting-Started-With-ACPI.git:gh-pages --- .gitignore | 6 + Desktops/desktop-disable.html | 43 ++- Desktops/desktop-ec.html | 53 ++- Laptops/backlight.html | 39 ++- Laptops/laptop-disable.html | 39 ++- Laptops/laptop-ec.html | 47 ++- Laptops/trackpad.html | 43 ++- Manual/compile.html | 43 ++- Manual/dump.html | 39 ++- Universal/awac.html | 47 ++- Universal/irq.html | 37 +- Universal/nvram.html | 39 ++- Universal/plug.html | 43 ++- Universal/smbus.html | 41 ++- Universal/spoof.html | 41 ++- Universal/vbios.md | 6 +- cleanup.html | 47 ++- images/Desktops/amd.png | Bin 0 -> 204086 bytes images/Desktops/lpc.png | Bin 0 -> 1219783 bytes images/Desktops/nvidia.png | Bin 0 -> 70507 bytes images/Desktops/pnp.png | Bin 0 -> 1064437 bytes images/Laptops/laptop-ec-md/config.png | Bin 0 -> 548499 bytes images/Laptops/laptop-ec-md/dsdt-pnp.png | Bin 0 -> 1064437 bytes images/Laptops/{ => laptop-ec-md}/ec.png | Bin images/Laptops/trackpad-md/gpi0-2.png | Bin 0 -> 638861 bytes images/Laptops/trackpad-md/gpi0.png | Bin 0 -> 503106 bytes images/Manual/compile-md/macos-compile.png | Bin 0 -> 991715 bytes images/Manual/compile-md/windows-compile.png | Bin 0 -> 39507 bytes images/Universal/awac-md/lpc.png | Bin 0 -> 1015522 bytes images/Universal/awac-md/stas.png | Bin 0 -> 1115549 bytes images/Universal/nvram-md/lpc.png | Bin 0 -> 1219783 bytes images/Universal/plug-md/cp00.png | Bin 0 -> 1306024 bytes images/Universal/plug-md/processor-2.png | Bin 0 -> 1016808 bytes images/Universal/plug-md/processor.png | Bin 0 -> 880986 bytes images/Universal/smbus-md/pci.png | Bin 0 -> 1371076 bytes images/ssdt-easy-md/ssdttime.png | Bin 0 -> 63534 bytes images/troubleshooting-md/decompile-error.png | Bin 0 -> 179017 bytes images/troubleshooting-md/invalid-parse.png | Bin 0 -> 127544 bytes index.html | 318 ++++++++++++------ search_plus_index.json | 2 +- ssdt-easy.html | 43 ++- ssdt-long.html | 37 +- 42 files changed, 866 insertions(+), 187 deletions(-) create mode 100644 images/Desktops/amd.png create mode 100644 images/Desktops/lpc.png create mode 100644 images/Desktops/nvidia.png create mode 100644 images/Desktops/pnp.png create mode 100644 images/Laptops/laptop-ec-md/config.png create mode 100644 images/Laptops/laptop-ec-md/dsdt-pnp.png rename images/Laptops/{ => laptop-ec-md}/ec.png (100%) create mode 100644 images/Laptops/trackpad-md/gpi0-2.png create mode 100644 images/Laptops/trackpad-md/gpi0.png create mode 100644 images/Manual/compile-md/macos-compile.png create mode 100644 images/Manual/compile-md/windows-compile.png create mode 100644 images/Universal/awac-md/lpc.png create mode 100644 images/Universal/awac-md/stas.png create mode 100644 images/Universal/nvram-md/lpc.png create mode 100644 images/Universal/plug-md/cp00.png create mode 100644 images/Universal/plug-md/processor-2.png create mode 100644 images/Universal/plug-md/processor.png create mode 100644 images/Universal/smbus-md/pci.png create mode 100644 images/ssdt-easy-md/ssdttime.png create mode 100644 images/troubleshooting-md/decompile-error.png create mode 100644 images/troubleshooting-md/invalid-parse.png diff --git a/.gitignore b/.gitignore index 48cca34..1f04383 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ icons/.DS_Store icons/.DS_Store icons/.DS_Store +_book/ _book/.gitattributes _book/.travis.yml _book/Universal/xosi.md @@ -13326,3 +13327,8 @@ node_modules/yargs/lib/validation.js node_modules/yargs/LICENSE node_modules/yargs/package.json node_modules/yargs/README.md +*.html +_book/images/Manual/compile-md/macos-compile.png +_book/images/Manual/compile-md/windows-compile.png +_book/images/troubleshooting-md/decompile-error.png +_book/images/troubleshooting-md/invalid-parse.png diff --git a/Desktops/desktop-disable.html b/Desktops/desktop-disable.html index fdadc78..a449ebb 100644 --- a/Desktops/desktop-disable.html +++ b/Desktops/desktop-disable.html @@ -385,6 +385,39 @@ + +
  • Misc
  • + + + +
  • + + + + + Troubleshooting + + + + + +
  • + +
  • + + + + + Contributing + + + + + +
  • + + +
  • @@ -429,7 +462,7 @@
    -

    Last modified: Wed Apr 15 2020 14:14:15 GMT+0000 (Coordinated Universal Time)

    +

    Last modified: Sat Apr 18 2020 19:30:16 GMT+0000 (Coordinated Universal Time)

    Disabling unsupported GPUs(Desktops)

    So this is mainly needed for GPUs that are not supported in macOS, mainly this will be Nvidia users who wish to pair an AMD GPU for macOS use. While WhateverGreen does support the boot-arg -wegnoegpu, this only works when running on iGPU so for the rest of us we'll need to make an SSDT.

    @@ -439,7 +472,7 @@
  • SSDT-GPU-DISABLE
  • Finding the ACPI Path of the GPU

    -

    To find the PCI path of a GPU is fairly simple, best way to find it is running Windows:

    +

    To find the PCI path of a GPU is fairly simple, best way to find it is running Windows:

    -

    -

    Credit to 1Revenger1 for the image

    +

    +

    Credit to 1Revenger1 for the image

    The second "ACPI" is what we care about:

    ACPI(_SB_)#ACPI(PC02)#ACPI(BR2A)#ACPI(PEGP)#PCI(0000)#PCI(0000)
     

    Now converting this to an ACPI path is quite simple, remove the #ACPI and #PCI(0000):

    @@ -509,7 +542,7 @@ Method (_SB.PCI0.PEG0.PEGP._DSM, 4, NotSerialized) diff --git a/Desktops/desktop-ec.html b/Desktops/desktop-ec.html index 27cb9f4..cefa6d5 100644 --- a/Desktops/desktop-ec.html +++ b/Desktops/desktop-ec.html @@ -385,6 +385,39 @@ + +
  • Misc
  • + + + +
  • + + + + + Troubleshooting + + + + + +
  • + +
  • + + + + + Contributing + + + + + +
  • + + +
  • @@ -429,12 +462,12 @@
    -

    Last modified: Wed Apr 15 2020 14:14:15 GMT+0000 (Coordinated Universal Time)

    +

    Last modified: Sat Apr 18 2020 19:30:16 GMT+0000 (Coordinated Universal Time)

    Fixing Embedded Controller (Desktop)

    What we'll be doing is hiding our actual EC and creating a fake Embedded Comtroller for macOS to play with.

    To find out what EC you have, open your decompiled DSDT and search for PNP0C09. This should give you a result like this:

    -

    +

    As you can see our PNP0C09 is found within the Device (EC0) meaning this is the device we want to hide from macOS(others may find H_EC, ECDV, etc, everyone's systems will be different). Now grab our SSDT-EC and uncomment the EC0 function(remove the /* and */ around it):

    • SSDT-EC-USBX
        @@ -450,7 +483,7 @@ External (_SB_.PCI0.LPCB.EC0, DeviceObj) <- Rename this Scope (\_SB.PCI0.LPCB.EC0) <- Rename this - { + { Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Darwin")) // Darwin = macOS @@ -467,12 +500,12 @@ External (_SB_.PCI0.LPCB.EC0, DeviceObj) <- Rename this

        But looking back at the screenshot above we notice something, our ACPI path is different: PC00.LPC0 vs PCI0.LPCB. This is very important especially when you're dealing with Intel consumer vs Intel HEDT vs AMD, PC00.LPC0 is common on Intel HEDT while PCI0.SBRG is common on AMD. And they even come with name variation such as EC0, H_EC, PGEC and ECDV, so there can't be a one size fits all SSDT, always verify your path and device. DO NOT ASSUME.

          -
        • Finding the LowPinCount path:
            +
          • Finding the LowPinCount path:
            • Intel: Search Name (_ADR, 0x001F0000)
            • AMD: Search Name (_ADR, 0x00140003)
          • -
          • Finding the PCI path:
              +
            • Finding the PCI path:
              • Intel: Search PNP0A08 (If multiple show up, use the first one)
              • AMD: Assume PCI0(most AMD DSDTs don't declare the PCI path directly)
              @@ -492,7 +525,7 @@ External (_SB_.PCI0.LPCB.EC0, DeviceObj) <- Rename this

              What happens if no PNP0C09 show up?

              -

              So what this means: EC faking is not mandatory for booting, instead only recommended for proper USB power.

              +

              So what this means: EC faking is not mandatory for booting, instead only recommended for proper USB power.

              So how do I make an SSDT without an EC? Well we'll only create a Fake EC for macOS to play with, this allows for AppleBusPowerController to load and handle our USB properly. To make the actual SSDT, its almost plug and play as no uncommenting needed. The main thing that needs to be changed:

              • LowPinCount path
              • @@ -500,18 +533,18 @@ External (_SB_.PCI0.LPCB.EC0, DeviceObj) <- Rename this

              We want to make sure the SSDT hooks into our DSDT correctly so we need to make sure the ACPI path is correct:

                -
              • Finding the LowPinCount path:
                  +
                • Finding the LowPinCount path:
                  • Intel: Search Name (_ADR, 0x001F0000)
                  • AMD: Search Name (_ADR, 0x00140003)
                • -
                • Finding the PCI path:
                    +
                  • Finding the PCI path:
                    • Intel: Search PNP0A08 (If multiple show up, use the first one)
                    • AMD: Assume PCI0(most AMD DSDTs don't declare the PCI path directly)
                  -

                  +

                  Once you find out, change PCI0.LPCB to your correct path:

                  Scope (\_SB.PC00.LPC0) <- Rename this
                   {
                  @@ -587,7 +620,7 @@ The reason for this is that the real EC is considered disabled already.

                  diff --git a/Laptops/backlight.html b/Laptops/backlight.html index 7db0bbe..aa57a9a 100644 --- a/Laptops/backlight.html +++ b/Laptops/backlight.html @@ -385,6 +385,39 @@ + +
                • Misc
                • + + + +
                • + + + + + Troubleshooting + + + + + +
                • + +
                • + + + + + Contributing + + + + + +
                • + + +
                • @@ -429,7 +462,7 @@
                  -

                  Last modified: Wed Apr 15 2020 14:14:15 GMT+0000 (Coordinated Universal Time)

                  +

                  Last modified: Sat Apr 18 2020 19:30:16 GMT+0000 (Coordinated Universal Time)

                  Fixing Backlight

                  So what this SSDT does is create a PNLF device for macOS to play with, specifically one with a hardware ID of APP0002. WhateverGreen will handle the rest of the work

                  @@ -451,7 +484,7 @@
                  • Note some GPUs may be hiding under "BIOS device name"
                  -

                  Credit to 1Revenger1 for the image

                  +

                  Credit to 1Revenger1 for the image

                  @@ -495,7 +528,7 @@ diff --git a/Laptops/laptop-disable.html b/Laptops/laptop-disable.html index a2b3447..ff524a5 100644 --- a/Laptops/laptop-disable.html +++ b/Laptops/laptop-disable.html @@ -385,6 +385,39 @@ + +
                • Misc
                • + + + +
                • + + + + + Troubleshooting + + + + + +
                • + +
                • + + + + + Contributing + + + + + +
                • + + +
                • @@ -429,7 +462,7 @@
                  -

                  Last modified: Wed Apr 15 2020 14:14:15 GMT+0000 (Coordinated Universal Time)

                  +

                  Last modified: Sat Apr 18 2020 19:30:16 GMT+0000 (Coordinated Universal Time)

                  Disabling laptop dGPUs

                  So with laptops, we can hide the dGPU from macOS with the little boot-arg called -wegnoegpu from WhateverGreen. But one small problem, the dGPU is still pulling power draining your battery slowly. We'll be going over 2 methods for disabling the dGPU in a laptop:

                  @@ -452,7 +485,7 @@
                • Nvidia dGPU: \_SB.PCI0.PEG0.PEGP
                • AMD dGPU: \_SB.PCI0.PEGP.DGFX
                -

                Credit to 1Revenger1 for the image

                +

                Credit to 1Revenger1 for the image

                Now with that, we'll need to change the ACPI path in the SSDT. Main sections:

                External(_SB.PCI0.PEG0.PEGP._OFF, MethodObj)
                 
                @@ -530,7 +563,7 @@ External (_SB_.PCI0.PEG0.PEGP._PS3, MethodObj) // dGPU ACPI Path diff --git a/Laptops/laptop-ec.html b/Laptops/laptop-ec.html index 9ce53e8..d62f27e 100644 --- a/Laptops/laptop-ec.html +++ b/Laptops/laptop-ec.html @@ -385,6 +385,39 @@ + +
              • Misc
              • + + + +
              • + + + + + Troubleshooting + + + + + +
              • + +
              • + + + + + Contributing + + + + + +
              • + + +
              • @@ -429,12 +462,12 @@
                -

                Last modified: Wed Apr 15 2020 14:14:15 GMT+0000 (Coordinated Universal Time)

                +

                Last modified: Sat Apr 18 2020 19:30:16 GMT+0000 (Coordinated Universal Time)

                Fixing Embedded Controller (Laptop)

                To fix the ECs found in laptops, we'll be renaming them to look like the ones macOS expects. The reason for this is that many laptops break when you turn off their EC with an SSDT. So this is why we can't use the fancy SSDTTime to make a patch for us.

                To find out what EC you have, open your decompiled DSDT and search for PNP0C09. This should give you a result like this:

                -

                +

                As you can see our PNP0C09 is found within the Device (EC0) meaning this is the device we want to rename.

                What happens if multiple PNP0C09 show up

                @@ -449,9 +482,9 @@

                What if my main PNP0C09 device is already called Device (EC)?

                -

                Mainly relevant for Lenovo and a few other OEMs, when this happens that means that your Embedded Controller is ready to use in macOS! Do make sure that this Device (EC) is actually your main EC and not a secondary one.

                +

                Mainly relevant for Lenovo and a few other OEMs, when this happens that means that your Embedded Controller is ready to use in macOS! Do make sure that this Device (EC) is actually your main EC and not a secondary one.

                And please verify that the DSDT hasn't already been patched by Clover or OpenCore, please dump it without booting either of them to be sure or triple check that there aren't any EC renames in your config already

                -

                +

                For those having issues, you can also check Device Manager -> Embedded Controller -> BIOS device Name. Widows will only report the main EC so will save you some headache on that

                Applying your EC patch

                As you can see from the table below, we'll be renaming our EC listed in the DSDT. Do note you cannot just throw random renames without checking which is the main EC first, as this can cause actual damage to your laptop.

                @@ -486,7 +519,7 @@ -

                Inside your config:

                +

                Inside your config

                @@ -523,7 +556,7 @@
                -

                +

                @@ -567,7 +600,7 @@ diff --git a/Laptops/trackpad.html b/Laptops/trackpad.html index 61bc505..ba81a83 100644 --- a/Laptops/trackpad.html +++ b/Laptops/trackpad.html @@ -385,6 +385,39 @@ + +
              • Misc
              • + + + +
              • + + + + + Troubleshooting + + + + + +
              • + +
              • + + + + + Contributing + + + + + +
              • + + +
              • @@ -429,14 +462,14 @@
                -

                Last modified: Wed Apr 15 2020 14:14:15 GMT+0000 (Coordinated Universal Time)

                +

                Last modified: Sat Apr 18 2020 19:30:16 GMT+0000 (Coordinated Universal Time)

                Fixing Trackpads

                This SSDT is used to force enable our GPI0 for VoodooI2C to connect onto.

                With most modern laptop DSDTs, there's a variable called GPEN or GPHD which are used for setting the status of the GPI0 device. For us, we want to enable the device.

                Finding our GPI0

                So first things we need to do is find out what variable is used to enable our GPI0 device, lets open up our decompiled SSDT and search for Device (GPI0). Should give you a desult similar to this:

                -

                +

                What we care about from this is the _STA method:

                Method (_STA, 0, NotSerialized)
                 {
                @@ -450,8 +483,8 @@
                 

                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 and make the required edits. Then clean up with compiling it

                -

                More examples:

                -

                +

                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:

                DefinitionBlock("", "SSDT", 2, "ACDT", "GPI0", 0)
                 {
                @@ -510,7 +543,7 @@
                     
                 
                diff --git a/Manual/compile.html b/Manual/compile.html
                index b27cfca..288cd9d 100644
                --- a/Manual/compile.html
                +++ b/Manual/compile.html
                @@ -385,6 +385,39 @@
                     
                 
                     
                +        
                +        
              • Misc
              • + + + +
              • + + + + + Troubleshooting + + + + + +
              • + +
              • + + + + + Contributing + + + + + +
              • + + +
              • @@ -429,10 +462,10 @@
                -

                Last modified: Wed Apr 15 2020 14:14:15 GMT+0000 (Coordinated Universal Time)

                +

                Last modified: Sat Apr 18 2020 19:30:16 GMT+0000 (Coordinated Universal Time)

                Compiling and decompiling ACPI Tables

                -

                See General Troubleshooting if you have dumping/compiling errors

                +

                See Troubleshooting if you have dumping/compiling errors

                • macOS Compiling and Decompiling
                • Windows Compiling and Decompiling
                • @@ -446,12 +479,12 @@
                  • If compiled .aml file is provided, a decompiled .dsl file will be given and vice versa.
                  -

                  +

                  Windows

                  Compiling and decompiling on windows is fairly simple though, you will need iasl.exe and Command Prompt:

                  path/to/iasl.exe path/to/DSDT.aml
                   
                  -

                  +

                  • If compiled .aml file is provided, a decompiled .dsl file will be given and vice versa.
                  @@ -505,7 +538,7 @@ diff --git a/Manual/dump.html b/Manual/dump.html index 9fa59fc..7811dbe 100644 --- a/Manual/dump.html +++ b/Manual/dump.html @@ -385,6 +385,39 @@ + +
                • Misc
                • + + + +
                • + + + + + Troubleshooting + + + + + +
                • + +
                • + + + + + Contributing + + + + + +
                • + + +
                • @@ -429,7 +462,7 @@
                  -

                  Last modified: Wed Apr 15 2020 14:14:15 GMT+0000 (Coordinated Universal Time)

                  +

                  Last modified: Sat Apr 18 2020 19:30:16 GMT+0000 (Coordinated Universal Time)

                  Getting a copy of our DSDT

                  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:

                  @@ -457,7 +490,7 @@
              -

              If OpenCore is having issues running acpidump, you can call it from the shell with OpenCoreShell(reminder to add to both EFI/OC/Tools and in your config under Misc -> Tools ):

              +

              If OpenCore is having issues running acpidump, you can call it from the shell with OpenShell(reminder to add to both EFI/OC/Tools and in your config under Misc -> Tools ):

              shell> fs0: // replace with proper drive
               
               fs0:\> dir // to verify this is the right directory
              @@ -513,7 +546,7 @@ fs0:\EFI\OC\Tools> acpidump.efi -b -n DSDT -z
                   
               
              diff --git a/Universal/awac.html b/Universal/awac.html
              index 183c988..5cccec7 100644
              --- a/Universal/awac.html
              +++ b/Universal/awac.html
              @@ -385,6 +385,39 @@
                   
               
                   
              +        
              +        
            • Misc
            • + + + +
            • + + + + + Troubleshooting + + + + + +
            • + +
            • + + + + + Contributing + + + + + +
            • + + +
            • @@ -429,7 +462,7 @@
              -

              Last modified: Wed Apr 15 2020 14:14:15 GMT+0000 (Coordinated Universal Time)

              +

              Last modified: Sat Apr 18 2020 19:30:16 GMT+0000 (Coordinated Universal Time)

              Fixing System Clocks

              For Intel 300 series chipsets and newer, this also includes X299 refreshes and Icelake laptops. Common machines:

              @@ -439,17 +472,17 @@
            • B365
            • H310
            • H370
            • -
            • Z370 (Gigabtye and AsRock boards with newer BIOS versions)
            • +
            • Z370 (Gigabyte and AsRock boards with newer BIOS versions)
            • Z390
            • 400 series (Cometlake)
            • 495 series (Icelake)
            -

            So on newer Intel 300 series motherboards, manufactueres started pushing for a new type of system clock: AWAC( A Weird Ass Clock). One small problem, macOS doesn't know what the hell an AWAC clock is instead only familiar with the legacy RTC(Real Time Clock). So we need to figure out how to bring back the old clock, thats where SSDT-AWAC and SSDT-RTC0 come in:

            +

            So on newer Intel 300 series motherboards, manufactures started pushing for a new type of system clock: AWAC( A Weird Ass Clock). One small problem, macOS doesn't know what the hell an AWAC clock is instead only familiar with the legacy RTC(Real Time Clock). So we need to figure out how to bring back the old clock, thats where SSDT-AWAC and SSDT-RTC0 come in:

            • SSDT-AWAC

              • Disables AWAC and enables RTC
              • -
              • In your DSDT, there's a varaible called STAS used for holding either a One or Zero to determine which clock to use(One for RTC and Zero for AWAC)
              • +
              • In your DSDT, there's a variable called STAS used for holding either a One or Zero to determine which clock to use(One for RTC and Zero for AWAC)
            • SSDT-RTC0

              @@ -467,11 +500,11 @@
            • If nothing shows up then no need to continue and no need for this SSDT as you have no AWAC. Otherwise, continue on!
            • If you get a result then you have an AWAC system clock present, then continue with the next search for STAS:
            -

            +

            As you can see we found the STAS in our DSDT, this means we're able to force enable our Legacy RTC. In this case, SSDT-AWAC will be used As-Is with no modifications required. Just need to compile. Note that STAS may be found in AWAC first instead of RTC like in our example, this is normal.

            For systems where no STAS shows up but you do have AWAC, you can use SSDT-RTC0 though you will need to check the naming of LPC in your DSDT

            By default the SSDT uses LPCB, you can check what your system uses by just searching for Name (_ADR, 0x001F0000). This address is used for Low Pin Count devices(LPC) but the device name can vary between LPCB, LBC or LBC0:

            -

            +

            Now you're ready to compile the SSDT!

            @@ -516,7 +549,7 @@ diff --git a/Universal/irq.html b/Universal/irq.html index 7b434d8..a52c059 100644 --- a/Universal/irq.html +++ b/Universal/irq.html @@ -385,6 +385,39 @@ + +
          • Misc
          • + + + +
          • + + + + + Troubleshooting + + + + + +
          • + +
          • + + + + + Contributing + + + + + +
          • + + +
          • @@ -429,7 +462,7 @@
            -

            Last modified: Wed Apr 15 2020 14:14:15 GMT+0000 (Coordinated Universal Time)

            +

            Last modified: Sat Apr 18 2020 19:30:16 GMT+0000 (Coordinated Universal Time)

            Fixing IRQ Conflicts

            So you miss having those fancy hot-patches from Clover like FixIPIC, FixTMR, FixRTC, FixHPET, etc

            @@ -477,7 +510,7 @@ diff --git a/Universal/nvram.html b/Universal/nvram.html index 276a1cb..fc381f6 100644 --- a/Universal/nvram.html +++ b/Universal/nvram.html @@ -385,6 +385,39 @@ + +
          • Misc
          • + + + +
          • + + + + + Troubleshooting + + + + + +
          • + +
          • + + + + + Contributing + + + + + +
          • + + +
          • @@ -429,7 +462,7 @@
            -

            Last modified: Wed Apr 15 2020 14:14:15 GMT+0000 (Coordinated Universal Time)

            +

            Last modified: Sat Apr 18 2020 19:30:16 GMT+0000 (Coordinated Universal Time)

            Fixing NVRAM

            This SSDT is required for all "true" 300 series motherboards and newer(Z370 is excluded), it specifically brings back NVRAM support and requires very little configuration for the end user.

            @@ -453,7 +486,7 @@
        -

        +

        Now you're ready to compile the SSDT!

        @@ -498,7 +531,7 @@ diff --git a/Universal/plug.html b/Universal/plug.html index f584e07..299102f 100644 --- a/Universal/plug.html +++ b/Universal/plug.html @@ -385,6 +385,39 @@ + +
      • Misc
      • + + + +
      • + + + + + Troubleshooting + + + + + +
      • + +
      • + + + + + Contributing + + + + + +
      • + + +
      • @@ -429,11 +462,11 @@
        -

        Last modified: Wed Apr 15 2020 14:14:15 GMT+0000 (Coordinated Universal Time)

        +

        Last modified: Sat Apr 18 2020 19:30:16 GMT+0000 (Coordinated Universal Time)

        Fixing Power Management

        CPU naming is fairly easy to figure out as well, open your decompiled DSDT and search for Processor. This should give you a result like this:

        -

        +

        As we can see, the first processor in our list is PR00. This is what we'll be applying the plugin-type=1 property too. Now grab SSDT-PLUG and replace the default CPU0 with our PR00. There's a couple things to note:

        • There's 2 mentions of CPU0 to change
        • @@ -441,9 +474,9 @@

        So in our final example, we'd have _SB_.PR00 and \_SB.PR00

        There are also some edge cases with Processor, specifically on HEDT series like X79, X99 and X299. This edge case is that the ACPI path is much longer and not so obvious:

        -

        +

        If we then search for instances of CP00 we find that it's ACPI path is SB.SCK0.CP00:

        -

        +

        So for this X299 board, we'd change \_PR.CPU0 with \_SB.SCK0.CP00 and External (_PR_.CPU0, ProcessorObj) with External (_SB_.SCK0.CP00, ProcessorObj)

        External (_PR_.CPU0, ProcessorObj) <- Rename this
         
        @@ -502,7 +535,7 @@ Scope (\_PR.CPU0) <- Rename this
             
         
        diff --git a/Universal/smbus.html b/Universal/smbus.html
        index eec66f9..2dad0ae 100644
        --- a/Universal/smbus.html
        +++ b/Universal/smbus.html
        @@ -385,6 +385,39 @@
             
         
             
        +        
        +        
      • Misc
      • + + + +
      • + + + + + Troubleshooting + + + + + +
      • + +
      • + + + + + Contributing + + + + + +
      • + + +
      • @@ -429,7 +462,7 @@
        -

        Last modified: Wed Apr 15 2020 14:14:15 GMT+0000 (Coordinated Universal Time)

        +

        Last modified: Sat Apr 18 2020 19:30:16 GMT+0000 (Coordinated Universal Time)

        Fixing SMBus support

        This section of the guide refers to fixing AppleSMBus support in macOS, what is AppleSMBus? Well this mainly handles the System Management Bus, which has many functions like:

        @@ -468,8 +501,8 @@ Scope (_SB.PCI0) <- Rename this Device (_SB.PCI0.SBUS.BUS0) <- Rename this

        To find the correct pathing for your devices, grab Hackintool (Github link) and head to the PCI tab:

        -

        -

        Look for the SMBus device under Subclass, then look beside and you'll see the ACPI path(under IOReg Name). To convert , omit @...

        +

        +Look for the SMBus device under Subclass, then look beside and you'll see the ACPI path(under IOReg Name). To convert , omit @...

        • /PC00@0/SMBS@1F,4 -> PC00.SMBS
        @@ -534,7 +567,7 @@ Device (_SB.PC00.SMBS.BUS0) <- Renamed diff --git a/Universal/spoof.html b/Universal/spoof.html index 6191fd1..2867716 100644 --- a/Universal/spoof.html +++ b/Universal/spoof.html @@ -385,6 +385,39 @@ + +
      • Misc
      • + + + +
      • + + + + + Troubleshooting + + + + + +
      • + +
      • + + + + + Contributing + + + + + +
      • + + +
      • @@ -429,7 +462,7 @@
        -

        Last modified: Wed Apr 15 2020 14:14:15 GMT+0000 (Coordinated Universal Time)

        +

        Last modified: Sat Apr 18 2020 19:30:16 GMT+0000 (Coordinated Universal Time)

        Renaming GPUs

        So this is mainly needed for GPUs that are not natively supported OOB due to their names, most commonly:

        @@ -474,8 +507,8 @@ Buffer (0x04)
    -

    -Credit to 1Revenger1 for the image

    +

    +

    Credit to 1Revenger1 for the image

    The second "ACPI" is what we care about:

    ACPI(_SB_)#ACPI(PC02)#ACPI(BR2A)#ACPI(PEGP)#PCI(0000)#PCI(0000)
     

    Now converting this to an ACPI path is quite simple, remove the #ACPI and #PCI(0000):

    @@ -550,7 +583,7 @@ Buffer () diff --git a/Universal/vbios.md b/Universal/vbios.md index dc77210..a39442e 100644 --- a/Universal/vbios.md +++ b/Universal/vbios.md @@ -53,9 +53,11 @@ To find the PCI path of a GPU is fairly simple, best way to find it is running W * Open Device Manager * Select Display Adapters, then right click your GPU and select Properties -* Under the Details Tab, search for "Loaction Paths" +* Under the Details Tab, search for "Location Paths" -![](https://cdn.discordapp.com/attachments/456913818467958789/675210740231176212/unknown.png) +![](/images/Desktops/amd.png) + +![Credit to 1Revenger1 for the image](/images/Desktops/nvidia.png) The second "ACPI" is what we care about: diff --git a/cleanup.html b/cleanup.html index c089f70..d014e36 100644 --- a/cleanup.html +++ b/cleanup.html @@ -71,6 +71,8 @@ + + @@ -383,6 +385,39 @@ + +
  • Misc
  • + + + +
  • + + + + + Troubleshooting + + + + + +
  • + +
  • + + + + + Contributing + + + + + +
  • + + +
  • @@ -427,7 +462,7 @@
    -

    Last modified: Wed Apr 15 2020 14:14:15 GMT+0000 (Coordinated Universal Time)

    +

    Last modified: Sat Apr 18 2020 19:30:16 GMT+0000 (Coordinated Universal Time)

    Cleanup

    So you've made all your SSDTs but now there's one thing left: Adding them to Opencore

    @@ -440,7 +475,7 @@

    Users of FixHPET will also need to merge oc_patches.plist into their config.plist

    Steps to do this:

  • 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
    • +
    • 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
  • 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:

    -

    +

    What are all these options?:

    • 1. FixHPET - Patch out IRQ Conflicts
        @@ -493,7 +526,7 @@

        What about USBX?

        -

        For Skylake and newer plus AMD, you can grab a prebuilt file here: SSDT-USBX.aml. This file is plug and play and requires no device configuration, do not use on Broadwell and older.

        +

        For Skylake and newer plus AMD, you can grab a prebuilt file here: SSDT-USBX.aml. This file is plug and play and requires no device configuration, do not use on Broadwell and older.

        Troubleshooting note: See General Troubleshooting if you're having issues running SSDTTime

        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:

        @@ -553,7 +586,7 @@ diff --git a/ssdt-long.html b/ssdt-long.html index a7cff2f..ea8b196 100644 --- a/ssdt-long.html +++ b/ssdt-long.html @@ -385,6 +385,39 @@ + +
      • Misc
      • + + + +
      • + + + + + Troubleshooting + + + + + +
      • + +
      • + + + + + Contributing + + + + + +
      • + + +
      • @@ -429,7 +462,7 @@
        -

        Last modified: Wed Apr 15 2020 14:14:15 GMT+0000 (Coordinated Universal Time)

        +

        Last modified: Sat Apr 18 2020 19:30:16 GMT+0000 (Coordinated Universal Time)

        SSDTs: The long way

        Well sadly some things are not handled by SSDTTime, well have no fear as making SSDTs is super easy. The basic process:

        @@ -483,7 +516,7 @@