From ab9efb24a8956f090a5e58baeee8fb0531df90eb Mon Sep 17 00:00:00 2001 From: "Travis Build Bot (from Travis CI)" Date: Sun, 31 May 2020 05:56:44 +0000 Subject: [PATCH] Deploy dortania/Getting-Started-With-ACPI to github.com/dortania/Getting-Started-With-ACPI.git:gh-pages --- CONTRIBUTING.html | 241 ++++- Desktops/desktop-disable.html | 257 ++++- Desktops/desktop-ec.md | 117 --- Laptops/backlight-methods/manual.html | 878 +++++++++++++++++ Laptops/backlight-methods/prebuilt.html | 849 ++++++++++++++++ Laptops/backlight.html | 271 ++++- Laptops/laptop-disable.html | 261 ++++- Laptops/laptop-ec.md | 51 - Laptops/trackpad-methods/manual.html | 882 +++++++++++++++++ Laptops/trackpad-methods/prebuilt.html | 873 ++++++++++++++++ Laptops/trackpad.html | 335 +++++-- Manual/compile.html | 241 ++++- Manual/dump.html | 241 ++++- Universal/awac-methods/manual.html | 928 ++++++++++++++++++ Universal/awac-methods/prebuilt.html | 847 ++++++++++++++++ Universal/awac.html | 309 +++++- Universal/ec-fix.html | 419 +++++--- Universal/ec-methods/manual.html | 921 +++++++++++++++++ Universal/ec-methods/prebuilt.html | 869 ++++++++++++++++ Universal/ec-methods/ssdttime.html | 861 ++++++++++++++++ Universal/irq.html | 261 ++++- Universal/nvram-methods/manual.html | 890 +++++++++++++++++ Universal/nvram-methods/prebuilt.html | 850 ++++++++++++++++ Universal/nvram.html | 273 +++++- Universal/plug-methods/manual.html | 903 +++++++++++++++++ Universal/plug-methods/prebuilt.html | 851 ++++++++++++++++ Universal/plug-methods/ssdttime.html | 852 ++++++++++++++++ Universal/plug.html | 294 +++++- Universal/smbus-methods/manual.html | 909 +++++++++++++++++ Universal/smbus.html | 299 +++++- Universal/spoof.html | 243 ++++- Universal/vbios.md | 93 -- cleanup.html | 245 ++++- extra-files/decompiled/SSDT-GPI0.dsl | 2 + extra-files/decompiled/SSDT-PNLF-CFL.dsl | 21 +- extra-files/decompiled/SSDT-PNLF-CFL.dsl.zip | Bin 0 -> 953 bytes images/Desktops/pnp.png | Bin 1064437 -> 977248 bytes images/Laptops/backlight-md/devicemanager.png | Bin 0 -> 175486 bytes images/Laptops/backlight-md/ssdt-after.png | Bin 0 -> 957904 bytes images/Laptops/backlight-md/ssdt-before.png | Bin 0 -> 956353 bytes images/Laptops/laptop-ec-md/config.png | Bin 548499 -> 0 bytes images/Laptops/trackpad-md/ssdt-after.png | Bin 0 -> 386774 bytes images/Laptops/trackpad-md/ssdt-before.png | Bin 0 -> 379762 bytes images/Universal/awac-md/ACPI000E.png | Bin 0 -> 719252 bytes images/Universal/awac-md/PNP0B00.png | Bin 0 -> 638608 bytes images/Universal/awac-md/ssdt-after.png | Bin 0 -> 635976 bytes images/Universal/awac-md/ssdt-before.png | Bin 0 -> 626677 bytes images/Universal/nvram-md/lpc.png | Bin 1219783 -> 629071 bytes images/Universal/nvram-md/pci0.png | Bin 0 -> 681044 bytes images/Universal/nvram-md/ssdt-after.png | Bin 0 -> 857226 bytes images/Universal/nvram-md/ssdt-before.png | Bin 0 -> 855225 bytes images/Universal/plug-md/plug-bios.png | Bin 16541 -> 17350 bytes images/Universal/plug-md/plug-x299.png | Bin 457844 -> 467815 bytes images/Universal/plug-md/processor.png | Bin 880986 -> 809031 bytes images/Universal/plug-md/ssdt-clean.png | Bin 0 -> 764065 bytes images/Universal/plug-md/ssdt-mess.png | Bin 0 -> 1692731 bytes images/Universal/smbus-md/after-rename.png | Bin 0 -> 921001 bytes images/Universal/smbus-md/before-rename.png | Bin 0 -> 918824 bytes images/Universal/smbus-md/smbus.png | Bin 333929 -> 334129 bytes images/Universal/smbus-md/verify.png | Bin 361760 -> 308660 bytes index.html | 241 ++++- search_plus_index.json | 2 +- ssdt-methods/ssdt-easy.html | 243 ++++- ssdt-methods/ssdt-long.html | 241 ++++- ssdt-methods/ssdt-methods.html | 241 ++++- ssdt-methods/ssdt-prebuilt.html | 242 ++++- ssdt-platform.html | 243 ++++- troubleshooting.html | 241 ++++- 68 files changed, 18589 insertions(+), 742 deletions(-) create mode 100644 Laptops/backlight-methods/manual.html create mode 100644 Laptops/backlight-methods/prebuilt.html create mode 100644 Laptops/trackpad-methods/manual.html create mode 100644 Laptops/trackpad-methods/prebuilt.html create mode 100644 Universal/awac-methods/manual.html create mode 100644 Universal/awac-methods/prebuilt.html create mode 100644 Universal/ec-methods/manual.html create mode 100644 Universal/ec-methods/prebuilt.html create mode 100644 Universal/ec-methods/ssdttime.html create mode 100644 Universal/nvram-methods/manual.html create mode 100644 Universal/nvram-methods/prebuilt.html create mode 100644 Universal/plug-methods/manual.html create mode 100644 Universal/plug-methods/prebuilt.html create mode 100644 Universal/plug-methods/ssdttime.html create mode 100644 Universal/smbus-methods/manual.html delete mode 100644 Universal/vbios.md create mode 100644 extra-files/decompiled/SSDT-PNLF-CFL.dsl.zip create mode 100644 images/Laptops/backlight-md/devicemanager.png create mode 100644 images/Laptops/backlight-md/ssdt-after.png create mode 100644 images/Laptops/backlight-md/ssdt-before.png delete mode 100644 images/Laptops/laptop-ec-md/config.png create mode 100644 images/Laptops/trackpad-md/ssdt-after.png create mode 100644 images/Laptops/trackpad-md/ssdt-before.png create mode 100644 images/Universal/awac-md/ACPI000E.png create mode 100644 images/Universal/awac-md/PNP0B00.png create mode 100644 images/Universal/awac-md/ssdt-after.png create mode 100644 images/Universal/awac-md/ssdt-before.png create mode 100644 images/Universal/nvram-md/pci0.png create mode 100644 images/Universal/nvram-md/ssdt-after.png create mode 100644 images/Universal/nvram-md/ssdt-before.png create mode 100644 images/Universal/plug-md/ssdt-clean.png create mode 100644 images/Universal/plug-md/ssdt-mess.png create mode 100644 images/Universal/smbus-md/after-rename.png create mode 100644 images/Universal/smbus-md/before-rename.png diff --git a/CONTRIBUTING.html b/CONTRIBUTING.html index eb4bc95..7623757 100644 --- a/CONTRIBUTING.html +++ b/CONTRIBUTING.html @@ -274,6 +274,38 @@ + +
  • @@ -287,6 +319,38 @@ + +
  • @@ -320,6 +384,51 @@ + +
  • @@ -333,6 +442,51 @@ + +
  • @@ -346,6 +500,38 @@ + +
  • @@ -359,6 +545,38 @@ + +
  • @@ -398,6 +616,25 @@ + +
  • @@ -499,7 +736,7 @@
    -

    Last modified: Fri May 29 2020 01:27:44 GMT+0000 (Coordinated Universal Time)

    +

    Last modified: Sun May 31 2020 05:55:38 GMT+0000 (Coordinated Universal Time)

    Supporting the guides

    Note: This is a community run guide which is not officially endorsed by Acidanthera. Please do not bug Acidanthera with issues about this guide.

    @@ -615,7 +852,7 @@ diff --git a/Desktops/desktop-disable.html b/Desktops/desktop-disable.html index fa09e9a..24b5b82 100644 --- a/Desktops/desktop-disable.html +++ b/Desktops/desktop-disable.html @@ -276,6 +276,38 @@ + +
  • @@ -289,6 +321,38 @@ + +
  • @@ -322,6 +386,51 @@ + +
  • @@ -335,6 +444,51 @@ + +
  • @@ -348,6 +502,38 @@ + +
  • @@ -361,6 +547,38 @@ + +
  • @@ -400,6 +618,25 @@ + +
  • @@ -501,9 +738,23 @@
    -

    Last modified: Fri May 29 2020 01:27:44 GMT+0000 (Coordinated Universal Time)

    +

    Last modified: Sun May 31 2020 05:55:38 GMT+0000 (Coordinated Universal Time)

    -

    Disabling unsupported GPUs(Desktops)

    +

    Disabling desktops unsupported GPUs(SSDT-GPU-DISABLE)

    +

    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.

    So to disable a specific GPU, we need to find a couple things:

      @@ -581,7 +832,7 @@ Method (_SB.PCI0.PEG0.PEGP._DSM, 4, NotSerialized) diff --git a/Desktops/desktop-ec.md b/Desktops/desktop-ec.md index f3735ce..32b79cc 100644 --- a/Desktops/desktop-ec.md +++ b/Desktops/desktop-ec.md @@ -2,120 +2,3 @@ # Fixing Embedded Controller (Desktop) ## You'll want to go to [SSDT-EC under the Universal tab](/Universal/desktop-ec.md) for the new SSDT-EC page - -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: - -![](/images/Desktops/pnp.png) - -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](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-EC-USBX.dsl) - * For Skylake and newer and all AMD systems -* [SSDT-EC](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-EC.dsl) - * For Broadwell and older - -```text -/* <- REMOVE THIS -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 - { - Return (0) // Hides our real EC only when in macOS - } - Else - { - Return (0x0F) - } - } -} -*/ <- REMOVE 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: - * Intel: Search `Name (_ADR, 0x001F0000)` - * AMD: Search `Name (_ADR, 0x00140003)` -* 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) - -And make sure to scroll to the bottom as the new Fake EC function also need the correct path to replace the old EC. **Do not rename `Device (EC)`**, this is our fake EC we're using for macOS to play with so leave `Device (EC)` alone. **Just change the path!** - -> What happens if multiple `PNP0C09` show up - -When this happens you need to figure out which is the main and which is not, it's fairly easy to figure out. Check each controller for the following properties: - -* `_HID` (Hardware ID) -* `_CRS` (Current Resource Settings) -* `_GPE` (General Purpose Events) - -Note if you have an STA Method as well, see below: [STA Edge Case](/Desktops/desktop-ec.md#sta-edge-case) - -> 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 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 -* PCI path - -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: - * Intel: Search `Name (_ADR, 0x001F0000)` - * AMD: Search `Name (_ADR, 0x00140003)` -* 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) - -![](/images/Desktops/lpc.png) - -Once you find out, change `PCI0.LPCB` to your correct path: - -```text -Scope (\_SB.PC00.LPC0) <- Rename this -{ - Device (EC) <- DO NOT RENAME THIS - { - Name (_HID, "ACID0001") // _HID: Hardware ID - Method (_STA, 0, NotSerialized) // _STA: Status - { - If (_OSI ("Darwin")) - { - Return (0x0F) // Enable our Fake EC only when in macOS - } - Else - { - Return (Zero) - } - } - } -} -``` - -![](/images/Desktops/ec.png) - -For those having issues, you can also check `Device Manager -> CPU -> BIOS device Name`. Windows will only report the main EC so will save you some headache on that - -## STA Edge Case - -![Credit to rottenpants466](/images/Desktops/sta.png) - -Do note that if your PNP0C09 device has a `Method (_STA` already you can skip down to "What happens if no `PNP0C09` show up?". -The reason for this is that the real EC is considered disabled already. - -## Correcting USB Power - -> Hey what about USBX? Do I need to do anything? - -USBX is universal across all systems, it just creates a USBX device that forces USB power properties. This is crucial for fixing Mics, DACs, Webcams, Bluetooth Dongles and other high power draw devices. This is not mandatory to boot but should be added in post-install if not before. Note that USBX is only used on skylake+ systems, Broadwell and older can ignore and that USBX requires a patched EC to function correctly - -## [Now you're ready to compile the SSDT!](/Manual/compile.md) diff --git a/Laptops/backlight-methods/manual.html b/Laptops/backlight-methods/manual.html new file mode 100644 index 0000000..2dbf90b --- /dev/null +++ b/Laptops/backlight-methods/manual.html @@ -0,0 +1,878 @@ + + + + + + + Manual · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      + + + + + + + + +
      + +
      + +
      + + + + + + + + +
      +
      + +
      +
      + +
      + +
      +

      Last modified: Sun May 31 2020 05:55:38 GMT+0000 (Coordinated Universal Time)

      +
      +

      Fixing Backlight: Manual

      + +

      Finding the ACPI path

      +

      For this guide, we're gonna assume Windows is already on this laptop, as otherwise creating this SSDT is a bit more difficult.

      +

      Now open DeviceManager, and head to the following:

      +
      Device Manager -> Display Adapters -> Properties -> Details > BIOS device name
      +
      +
        +
      • Note some GPU ACPI pathing may be hiding under "BIOS device name"
      • +
      +

      Credit to 1Revenger1 for the image

      +

      From the above example, we can see our display is hooked up to PCI0.GFX0

      +

      Edits to the sample SSDT

      +

      Now that we have our ACPI path, lets grab our SSDT and get to work:

      + +

      By default, this uses PCI0.GFX0 for the pathing. you'll want to rename accordingly. For this example, we'll assume your pathing is PCI0.GPU0:

      +

      Before:

      +
      External (_SB_.PCI0.GFX0, DeviceObj) <- Rename this
      +
      +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:

      +

      After:

      +
      External (_SB_.PCI0.GPU0, DeviceObj) <- Renamed
      +
      +Scope (_SB.PCI0.GPU0) <- Renamed
      +
      +Device(_SB.PCI0.GPU0.PNLF) <- Renamed
      +

      +

      Compiling the SSDT

      +

      With the SSDT done, you're now ready to compile the SSDT!

      +

      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:

      + + + +
      + +
      +
      +
      + +

      results matching ""

      +
        + +
        +
        + +

        No results matching ""

        + +
        +
        +
        + +
        +
        + +
        + + + + + + + + + + + + + + +
        + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Laptops/backlight-methods/prebuilt.html b/Laptops/backlight-methods/prebuilt.html new file mode 100644 index 0000000..81ba47b --- /dev/null +++ b/Laptops/backlight-methods/prebuilt.html @@ -0,0 +1,849 @@ + + + + + + + Prebuilt · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + +
        + +
        + + + + + + + + +
        +
        + +
        +
        + +
        + +
        +

        Last modified: Sun May 31 2020 05:55:38 GMT+0000 (Coordinated Universal Time)

        +
        +

        Fixing Backlight: Prebuilt

        +

        By far the easiest method, all you need to do is download the following file:

        + +

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

        results matching ""

        +
          + +
          +
          + +

          No results matching ""

          + +
          +
          +
          + +
          +
          + +
          + + + + + + + + + + + + + + +
          + + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Laptops/backlight.html b/Laptops/backlight.html index ad1c1ef..2297d55 100644 --- a/Laptops/backlight.html +++ b/Laptops/backlight.html @@ -71,7 +71,7 @@ - + @@ -276,6 +276,38 @@ + +
        • @@ -289,6 +321,38 @@ + +
        • @@ -322,6 +386,51 @@ + +
        • @@ -335,6 +444,51 @@ + +
        • @@ -348,6 +502,38 @@ + +
        • @@ -361,6 +547,38 @@ + +
        • @@ -400,6 +618,25 @@ + +
        • @@ -501,29 +738,21 @@
          -

          Last modified: Fri May 29 2020 01:27:44 GMT+0000 (Coordinated Universal Time)

          +

          Last modified: Sun May 31 2020 05:55:38 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

          -

          No configuration required for most, just drop the pre-built file into your EFI:

          +

          Fixing Backlight (SSDT-PNLF)

          -

          Note: there are some rare cases where the iGPU is called GPU0 or VIDin the DSDT, you can double check by searching for PCI0.GFX0, PCI0.VID and PCI0.GPU0. Whichever shows up is your device

          -

          If Windows has been installed on the device, you can also do the following:

          -
          Device Manager -> Display Adapters -> Properties -> Details > BIOS device name
          -
          +

          What this SSDT does

          +

          The purpose of this SSDT is to create a PNLF device for macOS to play with, specifically one with a hardware ID of APP0002. Luckily WhateverGreen will handle the rest of the work for us.

          +

          Methods to make this SSDT

          +

          For the backlight fix, there are 2 methods you can choose from:

            -
          • Note some GPUs may be hiding under "BIOS device name"
          • +
          • Prebuilt
          • +
          • Manual
          -

          Credit to 1Revenger1 for the image

          @@ -556,7 +785,7 @@ - + @@ -567,7 +796,7 @@ diff --git a/Laptops/laptop-disable.html b/Laptops/laptop-disable.html index b3258fb..3a56875 100644 --- a/Laptops/laptop-disable.html +++ b/Laptops/laptop-disable.html @@ -74,7 +74,7 @@ - + + + + + + +
          +
          + + + + + + + + +
          + +
          + +
          + + + + + + + + +
          +
          + +
          +
          + +
          + +
          +

          Last modified: Sun May 31 2020 05:55:38 GMT+0000 (Coordinated Universal Time)

          +
          +

          Fixing Trackpads: Manual

          + +

          Finding the ACPI path

          +

          Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from Dumping the DSDT and Decompiling and Compiling with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an ACPI extension that can also help).

          +

          Next search for Device (GPI0). Should give you a result similar to this:

          +

          +

          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

          +

          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:

          + +

          From the second example, we'll want to set both GPEN and SBRG to One to allow it to operate in macOS:

          +

          Before:

          +
          If (_OSI ("Darwin"))
          +        {
          +            GPEN = One <- Change to the right variables
          +            SBRG = One <- Change to the right variables
          +    }
          +

          +

          Following the example pathing we found, the SSDT should look something like this:

          +

          After:

          +
          If (_OSI ("Darwin"))
          +        {
          +            GPEN = One <- Proper variables
          +        }
          +

          +

          Compiling the SSDT

          +

          With the SSDT done, you're now ready to compile the SSDT!

          +

          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:

          + + + +
          + +
          +
          +
          + +

          results matching ""

          +
            + +
            +
            + +

            No results matching ""

            + +
            +
            +
            + +
            +
            + +
            + + + + + + + + + + + + + + +
            + + +
            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Laptops/trackpad-methods/prebuilt.html b/Laptops/trackpad-methods/prebuilt.html new file mode 100644 index 0000000..c3f4c92 --- /dev/null +++ b/Laptops/trackpad-methods/prebuilt.html @@ -0,0 +1,873 @@ + + + + + + + Prebuilt · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            +
            + + + + + + + + +
            + +
            + +
            + + + + + + + + +
            +
            + +
            +
            + +
            + +
            +

            Last modified: Sun May 31 2020 05:55:38 GMT+0000 (Coordinated Universal Time)

            +
            +

            Fixing Trackpads: Prebuilt

            +

            This is a one-size fits all solution where we basically trick our hardware into thinking it's booting Windows. The problem with this method is that it's common to break Windows booting so avoid unless troubleshooting.

            +
              +
            • SSDT-XOSI

              +
            • +
            • XOSI Rename(add this under config.plist -> ACPI -> Patch):

              +
            • +
            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            CommentStringChange _OSI to XOSI
            EnabledBooleanYES
            CountNumber0
            LimitNumber0
            FindData5f4f5349
            ReplaceData584f5349
            + + +
            + +
            +
            +
            + +

            results matching ""

            +
              + +
              +
              + +

              No results matching ""

              + +
              +
              +
              + +
              +
              + +
              + + + + + + + + + + + + + + +
              + + +
              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Laptops/trackpad.html b/Laptops/trackpad.html index f86d9d1..106b17b 100644 --- a/Laptops/trackpad.html +++ b/Laptops/trackpad.html @@ -71,10 +71,10 @@ - + - + + + + + + +
              +
              + + + + + + + + +
              + +
              + +
              + + + + + + + + +
              +
              + +
              +
              + +
              + +
              +

              Last modified: Sun May 31 2020 05:55:38 GMT+0000 (Coordinated Universal Time)

              +
              +

              Fixing System Clocks: Manual

              + +

              Determining which SSDT you need

              +

              Finding which SSDT you need is quite easy actually, first open your decompiled DSDT you got from Dumping the DSDT and Decompiling and Compiling with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an ACPI extension that can also help).

              +

              Next search for ACPI000E. You should get something similar:

              +

              +

              The above tells us a few things:

              +
                +
              • We in fact do have an AWAC clock
              • +
              • It can be easily disabled with STAS(if not, you can skip to here: RTC0 Method)
                  +
                • _STA is the device status, with Zero meaning it won't show up
                • +
                +
              • +
              +

              But to double check, next search for PNP0B00:

              +

              +

              And looks at that, we can in fact disable our AWAC and enable the RTC! If not skip to here: RTC0 Method

              +

              Now it's as simple as grabbing SSDt-AWAC.dsl and compile, no changes needed You can also use the below SSDT to the same effect:

              + +

              _INI Edge Cases

              +

              Mainly seen on X299 refresh boards, there's already a Scope (_SB) { Method (_INI... in your DSDT. This means our SSDT-AWAC will conflict with the one found in our DSDT. For these situations, you'll want to remove Method (_INI, 0, NotSerialized) {} from the SSDT. You'll be left this this in the end:

              +
              DefinitionBlock ("", "SSDT", 2, "DRTNIA", "AWAC", 0x00000000)
              +{
              +    External (STAS, IntObj)
              +
              +    Scope (_SB)
              +    {
              +        If (_OSI ("Darwin"))
              +        {
              +            STAS = One
              +        }
              +    }
              +}
              +

              RTC0 Method

              +

              This method is for those who either don't have a PNP0B00 device to re-enable or have no easy way(via STAS variable).

              +

              Finding the ACPI path

              +

              Assuming you've gotten your DSDT already opened from earlier, search for the following:

              +
                +
              • Finding the LowPinCount path:
                  +
                • Search Name (_ADR, 0x001F0000)
                • +
                +
              • +
              • Finding the PCI path:
                  +
                • Search PNP0A08 (If multiple show up, use the first one)
                • +
                +
              • +
              +

              You should get something like the following show up:

              + + + + + + + + + + + + + +
              LPC PathingPCI Pathing
              +

              From the above, we can see we have both PCI0 and LPC. Now we can head to the next stage

              +

              Edits to the sample SSDT

              +

              Now that we have our ACPI path, lets grab our SSDT and get to work:

              + +

              By default, this uses PCI0.LPCB for the pathing. you'll want to rename accordingly.

              +

              Following the example from above, we'll be renaming it to PCI0.LPC:

              +

              Before:

              +
              External (_SB_.PCI0.LPCB, DeviceObj) <- Rename this
              +
              +Scope (_SB.PCI0.LPCB) <- Rename this
              +

              +

              Following the example pathing we found, the SSDT should look something like this:

              +

              After:

              +
              External (_SB_.PCI0.LPC, DeviceObj) <- Renamed
              +
              +Scope (_SB.PCI0.LPC) <- Renamed
              +

              +

              Compiling the SSDT

              +

              With the SSDT done, you're now ready to compile the SSDT!

              +

              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:

              + + + +
              + +
              +
              +
              + +

              results matching ""

              +
                + +
                +
                + +

                No results matching ""

                + +
                +
                +
                + +
                +
                + +
                + + + + + + + + + + + + + + +
                + + +
                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Universal/awac-methods/prebuilt.html b/Universal/awac-methods/prebuilt.html new file mode 100644 index 0000000..6597e5e --- /dev/null +++ b/Universal/awac-methods/prebuilt.html @@ -0,0 +1,847 @@ + + + + + + + Prebuilt · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                +
                + + + + + + + + +
                + +
                + +
                + + + + + + + + +
                +
                + +
                +
                + +
                + +
                +

                Last modified: Sun May 31 2020 05:55:38 GMT+0000 (Coordinated Universal Time)

                +
                +

                Fixing System Clocks: Prebuilt

                +

                By far the easiest method, all you need to do is download the following file:

                + +

                Main things to note with this method:

                +
                  +
                • Assumes you both have an AWAC clock and it can be easily turned off with the RTC replacing it, this may not always work
                • +
                • 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:

                + + + +
                + +
                +
                +
                + +

                results matching ""

                +
                  + +
                  +
                  + +

                  No results matching ""

                  + +
                  +
                  +
                  + +
                  +
                  + +
                  + + + + + + + + + + + + + + +
                  + + +
                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Universal/awac.html b/Universal/awac.html index 61b760f..b13ed39 100644 --- a/Universal/awac.html +++ b/Universal/awac.html @@ -71,10 +71,10 @@ - + - + + + + + + +
                  +
                  + + + + + + + + +
                  + +
                  + +
                  + + + + + + + + +
                  +
                  + +
                  +
                  + +
                  + +
                  +

                  Last modified: Sun May 31 2020 05:55:38 GMT+0000 (Coordinated Universal Time)

                  +
                  +

                  Fixing Embedded Controllers: Manual

                  + +

                  TO-DO:

                  +
                    +
                  • Finish Edge cases and sample SSDT edits
                  • +
                  +

                  Finding the ACPI path

                  +

                  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 and Decompiling and Compiling with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an ACPI extension that can also help).

                  +

                  Next, search for PNP0C09. You should get something similar:

                  +

                  +

                  From the above example we see 2 main things:

                  +
                    +
                  • Name of our embedded controller
                      +
                    • In this case being EC0
                    • +
                    +
                  • +
                  • Pathing of our embedded controller
                      +
                    • PC00.LPC0
                    • +
                    +
                  • +
                  +

                  But now we get into edge case territory, what fun!

                  +

                  The main ones to check for are:

                  + +

                  If none of the above apply to you, you're ready for the next section:

                  +

                  DeviceManager

                  +

                  If you already have Windows installed on this machine, finding the EC pathing is fairly easy.

                  +

                  Start by opening up Device Manager in Windows and looking for a device named Embedded Controller. 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 SB.PC00.LPC0.EC0

                  +

                  Now with the pathing, you can head here: 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-EC-USBX
                      +
                    • For Skylake and newer and all AMD systems
                    • +
                    +
                  • +
                  • SSDT-EC
                      +
                    • For Broadwell and older
                    • +
                    +
                  • +
                  +

                  Edge Cases

                  +

                  Multiple PNP0C09's show up

                  +

                  When multiple PNP0C09 show up, we need to next check for the following properties:

                  +
                    +
                  • _HID (Hardware ID)
                  • +
                  • _CRS (Current Resource Settings)
                  • +
                  • _GPE (General Purpose Events)
                  • +
                  +

                  What these signify is whether this PNP0C09 device is real or not, as per the ACPI spec.

                  + +

                  No PNP0C09 show up

                  +

                  When this happens, you'll only need to create a "dummy" EC for macOS. You'll still want to find the PCI and LPC pathing for this device.

                  +

                  PNP0C09 already named EC

                  +

                  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

                  +

                  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.

                  +

                  Example of an EC with STA already:

                  +

                  Credit to rottenpants466

                  +

                  Compiling the SSDT

                  +

                  With the SSDT done, you're now ready to compile the SSDT!

                  +

                  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:

                  + + + +
                  + +
                  +
                  +
                  + +

                  results matching ""

                  +
                    + +
                    +
                    + +

                    No results matching ""

                    + +
                    +
                    +
                    + +
                    +
                    + +
                    + + + + + + + + + + + + + + +
                    + + +
                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Universal/ec-methods/prebuilt.html b/Universal/ec-methods/prebuilt.html new file mode 100644 index 0000000..d9355a8 --- /dev/null +++ b/Universal/ec-methods/prebuilt.html @@ -0,0 +1,869 @@ + + + + + + + Prebuilt · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                    +
                    + + + + + + + + +
                    + +
                    + +
                    + + + + + + + + +
                    +
                    + +
                    +
                    + +
                    + +
                    +

                    Last modified: Sun May 31 2020 05:55:38 GMT+0000 (Coordinated Universal Time)

                    +
                    +

                    Fixing Embedded Controllers: Prebuilt

                    +

                    By far the easiest way to fix your Embedded Controller is just downloading one of the files below:

                    +

                    Desktop:

                    + +

                    Laptops:

                    + +

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

                    + + + +
                    + +
                    +
                    +
                    + +

                    results matching ""

                    +
                      + +
                      +
                      + +

                      No results matching ""

                      + +
                      +
                      +
                      + +
                      +
                      + +
                      + + + + + + + + + + + + + + +
                      + + +
                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Universal/ec-methods/ssdttime.html b/Universal/ec-methods/ssdttime.html new file mode 100644 index 0000000..ad17998 --- /dev/null +++ b/Universal/ec-methods/ssdttime.html @@ -0,0 +1,861 @@ + + + + + + + SSDTTime · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                      +
                      + + + + + + + + +
                      + +
                      + +
                      + + + + + + + + +
                      +
                      + +
                      +
                      + +
                      + +
                      +

                      Last modified: Sun May 31 2020 05:55:38 GMT+0000 (Coordinated Universal Time)

                      +
                      +

                      Fixing Embedded Controllers: SSDTTime

                      +

                      The second involves using SSDTTime which automates most of the process. See here on how to use it: SSDTs: Easy Way

                      +

                      To get the SSDT-PLUG, run the following:

                      +
                        +
                      • 4. Dump DSDT then run 2. FakeEC
                      • +
                      +

                      This will provide you with some files, the main one you care about is SSDT-EC.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 or Manual method
                        • +
                        +
                      • +
                      • Doesn't work on Laptops
                          +
                        • Just like with HEDT, you will need to either use the Prebuilt or Manual method
                        • +
                        +
                      • +
                      • Doesn't provide you the USBX property to fix power
                          +
                        • This can easily be fixed by using this prebuilt file in addition to SSDT-EC: SSDT-USBX.aml
                        • +
                        • Note USBX is only needed for Skylake and newer
                        • +
                        +
                      • +
                      • 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:

                      + + + +
                      + +
                      +
                      +
                      + +

                      results matching ""

                      +
                        + +
                        +
                        + +

                        No results matching ""

                        + +
                        +
                        +
                        + +
                        +
                        + +
                        + + + + + + + + + + + + + + +
                        + + +
                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Universal/irq.html b/Universal/irq.html index 9d0a60f..db31b5e 100644 --- a/Universal/irq.html +++ b/Universal/irq.html @@ -74,7 +74,7 @@ - + + + + + + +
                        +
                        + + + + + + + + +
                        + +
                        + +
                        + + + + + + + + +
                        +
                        + +
                        +
                        + +
                        + +
                        +

                        Last modified: Sun May 31 2020 05:55:38 GMT+0000 (Coordinated Universal Time)

                        +
                        +

                        Fixing NVRAM: Manual

                        + +

                        Finding the ACPI path

                        +

                        Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from Dumping the DSDT and Decompiling and Compiling with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an ACPI extension that can also help).

                        +

                        Next, search for the following:

                        +
                          +
                        • Finding the LowPinCount path:
                            +
                          • Search Name (_ADR, 0x001F0000)
                          • +
                          +
                        • +
                        • Finding the PCI path:
                            +
                          • Search PNP0A08 (If multiple show up, use the first one)
                          • +
                          +
                        • +
                        +

                        You should get something like the following show up:

                        + + + + + + + + + + + + + +
                        LPC PathingPCI Pathing
                        +

                        Now with the pathing, you can head here: 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:

                        + +

                        By default, this uses PCI0.LPCB for the pathing. you'll want to rename accordingly.

                        +

                        Following the example from above, we'll be renaming it to PCI0.LPC:

                        +

                        Before:

                        +
                        External (_SB_.PCI0.LPCB, DeviceObj) <- Rename this
                        +
                        +Scope (_SB.PCI0.LPCB) <- Rename this
                        +

                        +

                        Following the example pathing we found, the SSDT should look something like this:

                        +

                        After:

                        +
                        External (_SB_.PCI0.LPC, DeviceObj) <- Renamed
                        +
                        +Scope (_SB.PCI0.LPC) <- Renamed
                        +

                        +

                        Compiling the SSDT

                        +

                        With the SSDT done, you're now ready to compile the SSDT!

                        +

                        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:

                        + + + +
                        + +
                        +
                        +
                        + +

                        results matching ""

                        +
                          + +
                          +
                          + +

                          No results matching ""

                          + +
                          +
                          +
                          + +
                          +
                          + +
                          + + + + + + + + + + + + + + +
                          + + +
                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Universal/nvram-methods/prebuilt.html b/Universal/nvram-methods/prebuilt.html new file mode 100644 index 0000000..4f49a29 --- /dev/null +++ b/Universal/nvram-methods/prebuilt.html @@ -0,0 +1,850 @@ + + + + + + + Prebuilt · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                          +
                          + + + + + + + + +
                          + +
                          + +
                          + + + + + + + + +
                          +
                          + +
                          +
                          + +
                          + +
                          +

                          Last modified: Sun May 31 2020 05:55:38 GMT+0000 (Coordinated Universal Time)

                          +
                          +

                          Fixing NVRAM: Prebuilt

                          +

                          By far the easiest method, all you need to do is download the following file:

                          + +

                          Main things to note with this method:

                          +
                            +
                          • Bit Bloated
                              +
                            • There's ACPI naming for most common paths, this means there's added delays in boot times(though unnoticeable to most as it's generally less than 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:

                          + + + +
                          + +
                          +
                          +
                          + +

                          results matching ""

                          +
                            + +
                            +
                            + +

                            No results matching ""

                            + +
                            +
                            +
                            + +
                            +
                            + +
                            + + + + + + + + + + + + + + +
                            + + +
                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Universal/nvram.html b/Universal/nvram.html index 0151f3f..db22564 100644 --- a/Universal/nvram.html +++ b/Universal/nvram.html @@ -71,10 +71,10 @@ - + - + + + + + + +
                            +
                            + + + + + + + + +
                            + +
                            + +
                            + + + + + + + + +
                            +
                            + +
                            +
                            + +
                            + +
                            +

                            Last modified: Sun May 31 2020 05:55:38 GMT+0000 (Coordinated Universal Time)

                            +
                            +

                            Fixing Power Management: Manual

                            + +

                            Finding the ACPI path

                            +

                            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 and Decompiling and Compiling with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an ACPI extension 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

                            +
                            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

                            +

                            Now that we have our ACPI path, lets grab our SSDT and get to work:

                            + +

                            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)

                            + + + + + + + + + + + + + +
                            OriginalCleaned Up
                            +

                            Compiling the SSDT

                            +

                            With the SSDT done, you're now ready to compile the SSDT!

                            +

                            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:

                            + + + +
                            + +
                            +
                            +
                            + +

                            results matching ""

                            +
                              + +
                              +
                              + +

                              No results matching ""

                              + +
                              +
                              +
                              + +
                              +
                              + +
                              + + + + + + + + + + + + + + +
                              + + +
                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Universal/plug-methods/prebuilt.html b/Universal/plug-methods/prebuilt.html new file mode 100644 index 0000000..d0fd8c3 --- /dev/null +++ b/Universal/plug-methods/prebuilt.html @@ -0,0 +1,851 @@ + + + + + + + Prebuilt · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                              +
                              + + + + + + + + +
                              + +
                              + +
                              + + + + + + + + +
                              +
                              + +
                              +
                              + +
                              + +
                              +

                              Last modified: Sun May 31 2020 05:55:38 GMT+0000 (Coordinated Universal Time)

                              +
                              +

                              Fixing Power Management: Prebuilt

                              +

                              By far the easiest way to get SSDT-PLUG is just downloading the below file:

                              + +

                              This prebuilt file is just a precompiled version of SSDT-PLUG 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:

                              + + + +
                              + +
                              +
                              +
                              + +

                              results matching ""

                              +
                                + +
                                +
                                + +

                                No results matching ""

                                + +
                                +
                                +
                                + +
                                +
                                + +
                                + + + + + + + + + + + + + + +
                                + + +
                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Universal/plug-methods/ssdttime.html b/Universal/plug-methods/ssdttime.html new file mode 100644 index 0000000..d81f026 --- /dev/null +++ b/Universal/plug-methods/ssdttime.html @@ -0,0 +1,852 @@ + + + + + + + SSDTTime · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                +
                                + + + + + + + + +
                                + +
                                + +
                                + + + + + + + + +
                                +
                                + +
                                +
                                + +
                                + +
                                +

                                Last modified: Sun May 31 2020 05:55:38 GMT+0000 (Coordinated Universal Time)

                                +
                                +

                                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

                                +

                                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 or 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:

                                + + + +
                                + +
                                +
                                +
                                + +

                                results matching ""

                                +
                                  + +
                                  +
                                  + +

                                  No results matching ""

                                  + +
                                  +
                                  +
                                  + +
                                  +
                                  + +
                                  + + + + + + + + + + + + + + +
                                  + + +
                                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Universal/plug.html b/Universal/plug.html index 5fb1566..deeed04 100644 --- a/Universal/plug.html +++ b/Universal/plug.html @@ -71,10 +71,10 @@ - + - + + + + + + +
                                  +
                                  + + + + + + + + +
                                  + +
                                  + +
                                  + + + + + + + + +
                                  +
                                  + +
                                  +
                                  + +
                                  + +
                                  +

                                  Last modified: Sun May 31 2020 05:55:38 GMT+0000 (Coordinated Universal Time)

                                  +
                                  +

                                  Fixing SMBus support: Manual

                                  + +

                                  Finding the ACPI path

                                  +

                                  So to find the ACPI pathing of our SMBus, we've got 2 methods:

                                  + +

                                  Hackintool

                                  +

                                  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 @...

                                  +
                                    +
                                  • /PC00@0/SMBS@1F,4 -> PC00.SMBS
                                  • +
                                  +

                                  With the ACPI pathing, you can now head here: Edits to the sample SSDT

                                  +

                                  DeviceManager

                                  +

                                  If you already have Windows installed on this machine, finding the SMBus pathing is fairly easy.

                                  +

                                  Start by opening up Device Manager in Windows and looking for a device named SMBUS. Once found, click on it and select the BIOS device Name entry. You should get something like this:

                                  +

                                  +

                                  From the above example, we can see the SMBus is located at:

                                  +
                                  PC00.SMBS
                                  +

                                  With the ACPI pathing, you can now head here: Edits to the sample SSDT

                                  +

                                  Edits to the sample SSDT

                                  +

                                  Now that we know the ACPI pathing of the SMBus, we can finally start editing the our SSDT.

                                  + +

                                  So the important parts we care about are:

                                  +

                                  Before:

                                  +
                                  External (_SB_.PCI0, DeviceObj) <- Rename this
                                  +External (_SB_.PCI0.SBUS.BUS0, DeviceObj) <- Rename this
                                  +
                                  +Scope (_SB.PCI0) <- Rename this
                                  +{
                                  +    Device (MCHC)
                                  +    {
                                  +        Name (_ADR, Zero)  // _ADR: Address
                                  +    }
                                  +}
                                  +
                                  +Device (_SB.PCI0.SBUS.BUS0) <- Rename this
                                  +
                                  +

                                  +

                                  Following the example SMBus pathing we found, the SSDT should look something like this:

                                  +

                                  After:

                                  +
                                  External (_SB_.PC00, DeviceObj) <- Renamed
                                  +External (_SB_.PC00.SMBS.BUS0, DeviceObj) <- Renamed
                                  +
                                  +Scope (_SB.PC00) <- Renamed
                                  +{
                                  +    Device (MCHC)
                                  +    {
                                  +        Name (_ADR, Zero)  // _ADR: Address
                                  +    }
                                  +}
                                  +
                                  +Device (_SB.PC00.SMBS.BUS0) <- Renamed
                                  +
                                  +

                                  +

                                  Compiling the SSDT

                                  +

                                  With the SSDT done, you're now ready to compile the SSDT!

                                  +

                                  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:

                                  + +

                                  Verify it's working

                                  +

                                  Once you've installed macOS, you can actually check whether your SSDT-SBUS-MCHC is working or not in terminal:

                                  +
                                  kextstat | grep -E "AppleSMBusController|AppleSMBusPCI"
                                  +

                                  + + +
                                  + +
                                  +
                                  +
                                  + +

                                  results matching ""

                                  +
                                    + +
                                    +
                                    + +

                                    No results matching ""

                                    + +
                                    +
                                    +
                                    + +
                                    +
                                    + +
                                    + + + + + + + + + + + + + + +
                                    + + +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Universal/smbus.html b/Universal/smbus.html index 3a9f509..20da0a4 100644 --- a/Universal/smbus.html +++ b/Universal/smbus.html @@ -71,7 +71,7 @@ - + @@ -276,6 +276,38 @@ + +
                                  • @@ -289,6 +321,38 @@ + +
                                  • @@ -322,6 +386,51 @@ + +
                                  • @@ -335,6 +444,51 @@ + +
                                  • @@ -348,6 +502,38 @@ + +
                                  • @@ -361,6 +547,38 @@ + +
                                  • @@ -400,6 +618,25 @@ + +
                                  • @@ -501,9 +738,14 @@
                                    -

                                    Last modified: Fri May 29 2020 01:27:44 GMT+0000 (Coordinated Universal Time)

                                    +

                                    Last modified: Sun May 31 2020 05:55:38 GMT+0000 (Coordinated Universal Time)

                                    -

                                    Fixing SMBus support

                                    +

                                    Fixing SMBus support (SSDT-SBUS-MCHC)

                                    + +

                                    What this SSDT does

                                    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:

                                    • AppleSMBusController
                                        @@ -521,52 +763,11 @@
                                      • Other things SMBus does: SMBus wiki

                                      For install purposes, this SSDT isn't needed but for post-install it's recommended to put the final touches on your hack.

                                      -

                                      So to get started, we'll want to grab our SMBus SSDT:

                                      +

                                      Methods to make this SSDT

                                      +

                                      To make this SSDT, you only got 1 method: Doing it manually

                                      -

                                      So the important parts we care about are:

                                      -
                                      External (_SB_.PCI0, DeviceObj) <- Rename this
                                      -External (_SB_.PCI0.SBUS.BUS0, DeviceObj) <- Rename this
                                      -
                                      -Scope (_SB.PCI0) <- Rename this
                                      -{
                                      -    Device (MCHC)
                                      -    {
                                      -        Name (_ADR, Zero)  // _ADR: Address
                                      -    }
                                      -}
                                      -
                                      -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 @...

                                      -
                                        -
                                      • /PC00@0/SMBS@1F,4 -> PC00.SMBS
                                      • -
                                      -

                                      Once finished, it'll look something like this:

                                      -
                                      External (_SB_.PC00, DeviceObj) <- Renamed
                                      -External (_SB_.PC00.SMBS.BUS0, DeviceObj) <- Renamed
                                      -
                                      -Scope (_SB.PC00)
                                      -{
                                      -    Device (MCHC)
                                      -    {
                                      -        Name (_ADR, Zero)  // _ADR: Address
                                      -    }
                                      -}
                                      -
                                      -Device (_SB.PC00.SMBS.BUS0) <- Renamed
                                      -
                                      -

                                      -

                                      For those having issues, you can also check Device Manager -> CPU -> BIOS device Name

                                      -

                                      Note: The MCHC is actually the DRAM controller, similar idea to SMBus for fixing memory reporting

                                      -

                                      Now you're ready to compile the SSDT!

                                      -

                                      Verify it's working

                                      -

                                      To check if the SSDT is working correctly, run the following in terminal:

                                      -
                                      kextstat | grep -E "AppleSMBusController|AppleSMBusPCI"
                                      -

                                    @@ -599,7 +800,7 @@ Device (_SB.PC00.SMBS.BUS0) <- Renamed - + @@ -610,7 +811,7 @@ Device (_SB.PC00.SMBS.BUS0) <- Renamed diff --git a/Universal/spoof.html b/Universal/spoof.html index bb9dd0e..0b57fdc 100644 --- a/Universal/spoof.html +++ b/Universal/spoof.html @@ -276,6 +276,38 @@ + +
                                  • @@ -289,6 +321,38 @@ + +
                                  • @@ -322,6 +386,51 @@ + +
                                  • @@ -335,6 +444,51 @@ + +
                                  • @@ -348,6 +502,38 @@ + +
                                  • @@ -361,6 +547,38 @@ + +
                                  • @@ -400,6 +618,25 @@ + +
                                  • @@ -501,9 +738,9 @@
                                    -

                                    Last modified: Fri May 29 2020 01:27:44 GMT+0000 (Coordinated Universal Time)

                                    +

                                    Last modified: Sun May 31 2020 05:55:38 GMT+0000 (Coordinated Universal Time)

                                    -

                                    Renaming GPUs

                                    +

                                    Renaming GPUs (SSDT-GPU-SPOOF)

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

                                    • R9 290/390
                                    • @@ -622,7 +859,7 @@ Buffer () diff --git a/Universal/vbios.md b/Universal/vbios.md deleted file mode 100644 index 28ff17c..0000000 --- a/Universal/vbios.md +++ /dev/null @@ -1,93 +0,0 @@ -# Injecting a compatible VBIOS - -**Work in progress** - -So this is mainly needed for GPUs that are not natively supported out of the box due to their odd VBIOS, most commonly: - -* XFX -* PowerColor -* HIS -* VisionTek - -Instead, these GPUs need to be flashed to a model that works best in macOS which gernally being Sapphire. This is the brand that AMD uses for making their reference cards and what Apple bases a lot of their GPU logic off of. - -One small problem, flashing VBIOSes can be a bit dangerous and can even brick a card. So for us, we'll be injecting one via an SSDT that will only load in macOS. This means 2 things: - -* Much easier to recover from, as you just remove the SSDT -* Allows you return the GPU easily incase of hardware issues - -So to force a VBIOS onto the GPU, we need to find a couple things: - -* Suitable VBIOS for the GPU -* ACPI Path of the GPU -* [SSDT-VBIOS]() - -## Finding a suitable VBIOS - -To find a suitable VBIOS, we'll be using [TechPowerUps Video BIOS Collection](https://www.techpowerup.com/vgabios/) which has a full database of basically all GPU VBIOSes. For this example, we'll be creating a VBIOS SSDT for the XFX RX 560 4GB. Now lets pull up the [Sapphire RX 560 4GB](https://www.techpowerup.com/vgabios/192320/sapphire-rx560-4096-170419) and download the VBIOS linked at the bottom: - -``` -Sapphire.RX560.4096.170419.rom -``` - -Now we have 1 small issue, our VBIOS must be padded to 65536 bytes(64KB). And our VBIOS is 262KB... *Shit* - -[Insert magic software to shrink our VBIOS] - -## 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: - -* Open Device Manager -* Select Display Adapters, then right click your GPU and select Properties -* Under the Details Tab, search for "Location Paths" - -![](/images/Desktops/amd.png) - -![Credit to 1Revenger1 for the image](/images/Desktops/nvidia.png) - -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)`: - -``` -`_SB_.PC02.BR2A.PEGP -``` - -And voila! We've found our ACPI path, now that we have everything we're ready to get cooking - -## Making the SSDT - -To start grab our [SSDT-VBIOS]() and open it up. Here there's a couple things to change: - -``` -External (_SB_.PCI0, DeviceObj) -External (_SB_.PCI0.PEG0.PEGP, DeviceObj) -``` - -For our example, we'll change all mentions of : - -* `PCI0` with `PC02` -* `PEG0` with `BR2A` - -Hint: If your ACPI path is a bit shorter than the example, this is fine. Just make sure the ACPI paths are correct to your device. - -Now that the ACPI pathing is correct, we can finally inject our VBIOS!! - -So the part we want to change: - -**VBIOS**: - -``` -"ATY,bin_image", -Buffer (0x00010000) -{ - // Put your VBIOS here -}, -``` - -## [Now you're ready to compile the SSDT!](/Manual/compile.md) diff --git a/cleanup.html b/cleanup.html index 306cd1f..1a3f221 100644 --- a/cleanup.html +++ b/cleanup.html @@ -74,7 +74,7 @@ - +