From 495b20291f93523b08f8587237fd0bf2e2732b19 Mon Sep 17 00:00:00 2001 From: "Travis Build Bot (from Travis CI)" Date: Thu, 22 Oct 2020 00:43:13 +0000 Subject: [PATCH] Deploy dortania/Getting-Started-With-ACPI to github.com/dortania/Getting-Started-With-ACPI.git:gh-pages --- 404.html | 6 +++--- CONTRIBUTING.html | 4 ++-- Desktops/desktop-disable.html | 4 ++-- Desktops/desktop-ec.html | 4 ++-- Laptops/backlight-methods/manual.html | 4 ++-- Laptops/backlight-methods/prebuilt.html | 4 ++-- Laptops/backlight.html | 4 ++-- Laptops/laptop-disable.html | 4 ++-- Laptops/laptop-ec.html | 4 ++-- Laptops/trackpad-methods/manual.html | 4 ++-- Laptops/trackpad-methods/prebuilt.html | 4 ++-- Laptops/trackpad.html | 4 ++-- Manual/compile.html | 4 ++-- Manual/dump.html | 4 ++-- SUMMARY.html | 4 ++-- Universal/awac-methods/manual-hedt.html | 4 ++-- Universal/awac-methods/manual.html | 4 ++-- Universal/awac-methods/prebuilt.html | 4 ++-- Universal/awac-methods/ssdttime.html | 4 ++-- Universal/awac.html | 4 ++-- Universal/ec-fix.html | 4 ++-- Universal/ec-methods/manual.html | 4 ++-- Universal/ec-methods/prebuilt.html | 4 ++-- Universal/ec-methods/ssdttime.html | 4 ++-- Universal/imei-methods/manual.html | 4 ++-- Universal/imei-methods/prebuilt.html | 4 ++-- Universal/imei.html | 4 ++-- Universal/irq.html | 4 ++-- Universal/nvram-methods/manual.html | 4 ++-- Universal/nvram-methods/prebuilt.html | 4 ++-- Universal/nvram-methods/ssdttime.html | 4 ++-- Universal/nvram.html | 4 ++-- Universal/plug-methods/manual.html | 4 ++-- Universal/plug-methods/prebuilt.html | 4 ++-- Universal/plug-methods/ssdttime.html | 4 ++-- Universal/plug.html | 4 ++-- Universal/rhub-methods/manual.html | 4 ++-- Universal/rhub-methods/prebuilt.html | 4 ++-- Universal/rhub-methods/ssdttime.html | 4 ++-- Universal/rhub.html | 4 ++-- Universal/smbus-methods/manual.html | 4 ++-- Universal/smbus.html | 4 ++-- Universal/spoof.html | 4 ++-- Universal/unc0-methods/manual.html | 4 ++-- Universal/unc0-methods/prebuilt.html | 4 ++-- Universal/unc0.html | 4 ++-- assets/js/{10.911c50b5.js => 10.5081de30.js} | 2 +- assets/js/{18.dd300c7b.js => 18.55dc270f.js} | 2 +- assets/js/{28.373cfb07.js => 28.293af53c.js} | 2 +- assets/js/{37.c3def8e0.js => 37.2ad58cd0.js} | 2 +- assets/js/{38.f81ddac0.js => 38.8787a190.js} | 2 +- assets/js/{39.268e6a49.js => 39.ff6cd719.js} | 2 +- assets/js/{40.bfef93ef.js => 40.3d792276.js} | 2 +- assets/js/{41.059296f9.js => 41.aa388bc4.js} | 2 +- assets/js/{42.b0e74cdf.js => 42.783e38c6.js} | 2 +- assets/js/{43.d512c6f3.js => 43.ef7e25e3.js} | 2 +- assets/js/{44.51770613.js => 44.517f4737.js} | 2 +- assets/js/{45.2a577e82.js => 45.57fe1021.js} | 2 +- assets/js/{46.51f713d6.js => 46.ad4481ef.js} | 2 +- assets/js/{55.76280eb1.js => 55.552c0e09.js} | 2 +- assets/js/{59.8e045796.js => 59.0f525a48.js} | 2 +- assets/js/{6.ebe90b89.js => 6.b24077d5.js} | 2 +- assets/js/{60.a9422b6b.js => 60.c576719a.js} | 2 +- assets/js/{9.9c96f245.js => 9.ecc14e9f.js} | 2 +- assets/js/{app.501e4866.js => app.ec085b12.js} | 6 +++--- cleanup.html | 4 ++-- index.html | 4 ++-- ssdt-methods/ssdt-easy.html | 4 ++-- ssdt-methods/ssdt-long.html | 4 ++-- ssdt-methods/ssdt-methods.html | 4 ++-- ssdt-methods/ssdt-prebuilt.html | 4 ++-- ssdt-platform.html | 4 ++-- troubleshooting.html | 4 ++-- 73 files changed, 130 insertions(+), 130 deletions(-) rename assets/js/{10.911c50b5.js => 10.5081de30.js} (98%) rename assets/js/{18.dd300c7b.js => 18.55dc270f.js} (99%) rename assets/js/{28.373cfb07.js => 28.293af53c.js} (88%) rename assets/js/{37.c3def8e0.js => 37.2ad58cd0.js} (93%) rename assets/js/{38.f81ddac0.js => 38.8787a190.js} (96%) rename assets/js/{39.268e6a49.js => 39.ff6cd719.js} (95%) rename assets/js/{40.bfef93ef.js => 40.3d792276.js} (96%) rename assets/js/{41.059296f9.js => 41.aa388bc4.js} (95%) rename assets/js/{42.b0e74cdf.js => 42.783e38c6.js} (96%) rename assets/js/{43.d512c6f3.js => 43.ef7e25e3.js} (93%) rename assets/js/{44.51770613.js => 44.517f4737.js} (95%) rename assets/js/{45.2a577e82.js => 45.57fe1021.js} (90%) rename assets/js/{46.51f713d6.js => 46.ad4481ef.js} (95%) rename assets/js/{55.76280eb1.js => 55.552c0e09.js} (96%) rename assets/js/{59.8e045796.js => 59.0f525a48.js} (95%) rename assets/js/{6.ebe90b89.js => 6.b24077d5.js} (99%) rename assets/js/{60.a9422b6b.js => 60.c576719a.js} (92%) rename assets/js/{9.9c96f245.js => 9.ecc14e9f.js} (98%) rename assets/js/{app.501e4866.js => app.ec085b12.js} (93%) diff --git a/404.html b/404.html index d1bc830..15ec90d 100644 --- a/404.html +++ b/404.html @@ -11,13 +11,13 @@ - + -

404

There's nothing here.
+ - + diff --git a/CONTRIBUTING.html b/CONTRIBUTING.html index beaa01f..8c2bec6 100644 --- a/CONTRIBUTING.html +++ b/CONTRIBUTING.html @@ -11,7 +11,7 @@ - + @@ -58,6 +58,6 @@

- + diff --git a/Desktops/desktop-disable.html b/Desktops/desktop-disable.html index b30a74f..2051ee9 100644 --- a/Desktops/desktop-disable.html +++ b/Desktops/desktop-disable.html @@ -11,7 +11,7 @@ - + @@ -57,6 +57,6 @@ Method (_SB.PCI0.PEG0.PEGP._DSM, 4, NotSerialized) ⟶

- + diff --git a/Desktops/desktop-ec.html b/Desktops/desktop-ec.html index eaefec5..127cc66 100644 --- a/Desktops/desktop-ec.html +++ b/Desktops/desktop-ec.html @@ -11,7 +11,7 @@ - + @@ -44,6 +44,6 @@ (opens new window) GitHub (opens new window)

# Fixing Embedded Controller (Desktop)

# You'll want to go to SSDT-EC under the Universal tab for the new SSDT-EC page

Last Updated: 5/31/2020, 5:54:37 AM
- + diff --git a/Laptops/backlight-methods/manual.html b/Laptops/backlight-methods/manual.html index 77bdf00..9527d0a 100644 --- a/Laptops/backlight-methods/manual.html +++ b/Laptops/backlight-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -63,6 +63,6 @@ Device(_SB.PCI0.GPU0.PNLF) <- Renamed ⟶

- + diff --git a/Laptops/backlight-methods/prebuilt.html b/Laptops/backlight-methods/prebuilt.html index e065d73..9b8b11c 100644 --- a/Laptops/backlight-methods/prebuilt.html +++ b/Laptops/backlight-methods/prebuilt.html @@ -11,7 +11,7 @@ - + @@ -53,6 +53,6 @@ ⟶

- + diff --git a/Laptops/backlight.html b/Laptops/backlight.html index d5d8342..ddc2742 100644 --- a/Laptops/backlight.html +++ b/Laptops/backlight.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Laptops/laptop-disable.html b/Laptops/laptop-disable.html index 97b91f3..5e87130 100644 --- a/Laptops/laptop-disable.html +++ b/Laptops/laptop-disable.html @@ -11,7 +11,7 @@ - + @@ -63,6 +63,6 @@ External (_SB_.PCI0.PEG0.PEGP._PS3, MethodObj) // dGPU ACPI Path ⟶

- + diff --git a/Laptops/laptop-ec.html b/Laptops/laptop-ec.html index aec21a0..d53218f 100644 --- a/Laptops/laptop-ec.html +++ b/Laptops/laptop-ec.html @@ -11,7 +11,7 @@ - + @@ -44,6 +44,6 @@ (opens new window) GitHub (opens new window)

# Fixing Embedded Controller (Laptop)

# You'll want to go to SSDT-EC under the Universal tab for the new SSDT-EC page

Last Updated: 5/31/2020, 5:54:37 AM
- + diff --git a/Laptops/trackpad-methods/manual.html b/Laptops/trackpad-methods/manual.html index 286a648..3585c5d 100644 --- a/Laptops/trackpad-methods/manual.html +++ b/Laptops/trackpad-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -70,6 +70,6 @@ ⟶

- + diff --git a/Laptops/trackpad-methods/prebuilt.html b/Laptops/trackpad-methods/prebuilt.html index d505b52..0da92cc 100644 --- a/Laptops/trackpad-methods/prebuilt.html +++ b/Laptops/trackpad-methods/prebuilt.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Laptops/trackpad.html b/Laptops/trackpad.html index 61a4cac..5e683ba 100644 --- a/Laptops/trackpad.html +++ b/Laptops/trackpad.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Manual/compile.html b/Manual/compile.html index 42b1a3d..44a40a3 100644 --- a/Manual/compile.html +++ b/Manual/compile.html @@ -11,7 +11,7 @@ - + @@ -55,6 +55,6 @@ ⟶

- + diff --git a/Manual/dump.html b/Manual/dump.html index b8788f0..c8a7ddc 100644 --- a/Manual/dump.html +++ b/Manual/dump.html @@ -11,7 +11,7 @@ - + @@ -63,6 +63,6 @@ fs0:\EFI\OC\Tools> acpidump.efi -b -n DSDT -z ⟶

- + diff --git a/SUMMARY.html b/SUMMARY.html index b044914..1e5c9b7 100644 --- a/SUMMARY.html +++ b/SUMMARY.html @@ -11,7 +11,7 @@ - + @@ -44,6 +44,6 @@ (opens new window) GitHub (opens new window)
Last Updated: 6/18/2020, 1:02:44 AM
- + diff --git a/Universal/awac-methods/manual-hedt.html b/Universal/awac-methods/manual-hedt.html index 3893c8e..c9f481b 100644 --- a/Universal/awac-methods/manual-hedt.html +++ b/Universal/awac-methods/manual-hedt.html @@ -11,7 +11,7 @@ - + @@ -83,6 +83,6 @@ Scope (_SB.PCI0.LPC0) <- Renamed ⟶

- + diff --git a/Universal/awac-methods/manual.html b/Universal/awac-methods/manual.html index a8bf73e..399fd01 100644 --- a/Universal/awac-methods/manual.html +++ b/Universal/awac-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -62,6 +62,6 @@ Scope (_SB.PCI0.LPC) <- Renamed ⟶

- + diff --git a/Universal/awac-methods/prebuilt.html b/Universal/awac-methods/prebuilt.html index dcca017..191963f 100644 --- a/Universal/awac-methods/prebuilt.html +++ b/Universal/awac-methods/prebuilt.html @@ -11,7 +11,7 @@ - + @@ -53,6 +53,6 @@ ⟶

- + diff --git a/Universal/awac-methods/ssdttime.html b/Universal/awac-methods/ssdttime.html index c82a9bb..bfe0e74 100644 --- a/Universal/awac-methods/ssdttime.html +++ b/Universal/awac-methods/ssdttime.html @@ -11,7 +11,7 @@ - + @@ -53,6 +53,6 @@ ⟶

- + diff --git a/Universal/awac.html b/Universal/awac.html index 2d888e0..9ef9b34 100644 --- a/Universal/awac.html +++ b/Universal/awac.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Universal/ec-fix.html b/Universal/ec-fix.html index 2ceac6e..feb701f 100644 --- a/Universal/ec-fix.html +++ b/Universal/ec-fix.html @@ -11,7 +11,7 @@ - + @@ -53,6 +53,6 @@ ⟶

- + diff --git a/Universal/ec-methods/manual.html b/Universal/ec-methods/manual.html index 529be04..dc05c1d 100644 --- a/Universal/ec-methods/manual.html +++ b/Universal/ec-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -61,6 +61,6 @@ Scope (_SB.PC00.LPC0) <- Renamed ⟶

- + diff --git a/Universal/ec-methods/prebuilt.html b/Universal/ec-methods/prebuilt.html index 8016f1f..f9d3246 100644 --- a/Universal/ec-methods/prebuilt.html +++ b/Universal/ec-methods/prebuilt.html @@ -11,7 +11,7 @@ - + @@ -54,6 +54,6 @@ ⟶

- + diff --git a/Universal/ec-methods/ssdttime.html b/Universal/ec-methods/ssdttime.html index 146a63e..d99d9b1 100644 --- a/Universal/ec-methods/ssdttime.html +++ b/Universal/ec-methods/ssdttime.html @@ -11,7 +11,7 @@ - + @@ -54,6 +54,6 @@ ⟶

- + diff --git a/Universal/imei-methods/manual.html b/Universal/imei-methods/manual.html index edfa3d1..1adcd44 100644 --- a/Universal/imei-methods/manual.html +++ b/Universal/imei-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Universal/imei-methods/prebuilt.html b/Universal/imei-methods/prebuilt.html index db26a8e..f4c6922 100644 --- a/Universal/imei-methods/prebuilt.html +++ b/Universal/imei-methods/prebuilt.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Universal/imei.html b/Universal/imei.html index 1b212fc..0d277b4 100644 --- a/Universal/imei.html +++ b/Universal/imei.html @@ -11,7 +11,7 @@ - + @@ -53,6 +53,6 @@ ⟶

- + diff --git a/Universal/irq.html b/Universal/irq.html index a2b41cb..bdd4425 100644 --- a/Universal/irq.html +++ b/Universal/irq.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Universal/nvram-methods/manual.html b/Universal/nvram-methods/manual.html index 61ddf6b..26f3a34 100644 --- a/Universal/nvram-methods/manual.html +++ b/Universal/nvram-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -60,6 +60,6 @@ Scope (_SB.PCI0.LPC) <- Renamed ⟶

- + diff --git a/Universal/nvram-methods/prebuilt.html b/Universal/nvram-methods/prebuilt.html index 7f0ac47..5f6a872 100644 --- a/Universal/nvram-methods/prebuilt.html +++ b/Universal/nvram-methods/prebuilt.html @@ -11,7 +11,7 @@ - + @@ -54,6 +54,6 @@ ⟶

- + diff --git a/Universal/nvram-methods/ssdttime.html b/Universal/nvram-methods/ssdttime.html index 7eccc90..cd98d7c 100644 --- a/Universal/nvram-methods/ssdttime.html +++ b/Universal/nvram-methods/ssdttime.html @@ -11,7 +11,7 @@ - + @@ -53,6 +53,6 @@ ⟶

- + diff --git a/Universal/nvram.html b/Universal/nvram.html index d21ced7..5f6294a 100644 --- a/Universal/nvram.html +++ b/Universal/nvram.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Universal/plug-methods/manual.html b/Universal/plug-methods/manual.html index 5c126eb..adb7460 100644 --- a/Universal/plug-methods/manual.html +++ b/Universal/plug-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Universal/plug-methods/prebuilt.html b/Universal/plug-methods/prebuilt.html index ad929cf..dc89895 100644 --- a/Universal/plug-methods/prebuilt.html +++ b/Universal/plug-methods/prebuilt.html @@ -11,7 +11,7 @@ - + @@ -54,6 +54,6 @@ ⟶

- + diff --git a/Universal/plug-methods/ssdttime.html b/Universal/plug-methods/ssdttime.html index 29469e2..eed81a1 100644 --- a/Universal/plug-methods/ssdttime.html +++ b/Universal/plug-methods/ssdttime.html @@ -11,7 +11,7 @@ - + @@ -53,6 +53,6 @@ ⟶

- + diff --git a/Universal/plug.html b/Universal/plug.html index ce5428c..cb9aa02 100644 --- a/Universal/plug.html +++ b/Universal/plug.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Universal/rhub-methods/manual.html b/Universal/rhub-methods/manual.html index 506a0ab..b896e53 100644 --- a/Universal/rhub-methods/manual.html +++ b/Universal/rhub-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -60,6 +60,6 @@ Scope (_SB.PCI0.XHC1.RHUB) <- Renamed ⟶

- + diff --git a/Universal/rhub-methods/prebuilt.html b/Universal/rhub-methods/prebuilt.html index 0973c9a..b2435ad 100644 --- a/Universal/rhub-methods/prebuilt.html +++ b/Universal/rhub-methods/prebuilt.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Universal/rhub-methods/ssdttime.html b/Universal/rhub-methods/ssdttime.html index 171828e..f0d0e82 100644 --- a/Universal/rhub-methods/ssdttime.html +++ b/Universal/rhub-methods/ssdttime.html @@ -11,7 +11,7 @@ - + @@ -45,6 +45,6 @@ GitHub (opens new window)

# Fixing RHUB: 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-RHUB, run the following:

  • 7. Dump DSDT then run 7. USB Reset

This will provide you with some files, the main one you care about is SSDT-USB-Rest.aml(Same file as SSDT-RHUB). The DSDT and .dsl are only left for referencing or verification.

The main things to note with this 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 wrap up:

Last Updated: 10/16/2020, 9:07:15 PM
- + diff --git a/Universal/rhub.html b/Universal/rhub.html index f433b95..6bb2ac9 100644 --- a/Universal/rhub.html +++ b/Universal/rhub.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Universal/smbus-methods/manual.html b/Universal/smbus-methods/manual.html index 65c45f6..b7893ee 100644 --- a/Universal/smbus-methods/manual.html +++ b/Universal/smbus-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -78,6 +78,6 @@ Device (_SB.PC00.SMBS.BUS0) <- Renamed ⟶

- + diff --git a/Universal/smbus.html b/Universal/smbus.html index c40c5ca..f71ed19 100644 --- a/Universal/smbus.html +++ b/Universal/smbus.html @@ -11,7 +11,7 @@ - + @@ -55,6 +55,6 @@ ⟶

- + diff --git a/Universal/spoof.html b/Universal/spoof.html index 8dcff13..ab1229d 100644 --- a/Universal/spoof.html +++ b/Universal/spoof.html @@ -11,7 +11,7 @@ - + @@ -83,6 +83,6 @@ Buffer () ⟶

- + diff --git a/Universal/unc0-methods/manual.html b/Universal/unc0-methods/manual.html index 65307db..2e28aaf 100644 --- a/Universal/unc0-methods/manual.html +++ b/Universal/unc0-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Universal/unc0-methods/prebuilt.html b/Universal/unc0-methods/prebuilt.html index 8fac73f..3646afa 100644 --- a/Universal/unc0-methods/prebuilt.html +++ b/Universal/unc0-methods/prebuilt.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Universal/unc0.html b/Universal/unc0.html index 02c46f2..03a2990 100644 --- a/Universal/unc0.html +++ b/Universal/unc0.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/assets/js/10.911c50b5.js b/assets/js/10.5081de30.js similarity index 98% rename from assets/js/10.911c50b5.js rename to assets/js/10.5081de30.js index 7f93ada..2495790 100644 --- a/assets/js/10.911c50b5.js +++ b/assets/js/10.5081de30.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{366:function(e,t,a){e.exports=a.p+"assets/img/devicemanager.770a10fc.png"},367:function(e,t,a){e.exports=a.p+"assets/img/ssdt-before.f71c9e04.png"},368:function(e,t,a){e.exports=a.p+"assets/img/ssdt-after.28584bc4.png"},420:function(e,t,a){"use strict";a.r(t);var s=a(25),i=Object(s.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"fixing-backlight-manual"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#fixing-backlight-manual"}},[e._v("#")]),e._v(" Fixing Backlight: Manual")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#finding-the-acpi-path"}},[e._v("Finding the ACPI path")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#compiling-the-ssdt"}},[e._v("Compiling the SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#wrapping-up"}},[e._v("Wrapping up")])])]),e._v(" "),s("h2",{attrs:{id:"finding-the-acpi-path"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path"}},[e._v("#")]),e._v(" Finding the ACPI path")]),e._v(" "),s("p",[e._v("For this guide, we're gonna assume Windows is already on this laptop, as otherwise creating this SSDT is a bit more difficult.")]),e._v(" "),s("p",[e._v("Now open DeviceManager, and head to the following:")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("Device Manager -> Display Adapters -> Properties -> Details > BIOS device name\n")])])]),s("ul",[s("li",[e._v('Note some GPU ACPI pathing may be hiding under "BIOS device name"')])]),e._v(" "),s("p",[s("img",{attrs:{src:a(366),alt:"Credit to 1Revenger1 for the image"}})]),e._v(" "),s("p",[e._v("From the above example, we can see our display is hooked up to "),s("code",[e._v("PCI0.GFX0")])]),e._v(" "),s("h2",{attrs:{id:"edits-to-the-sample-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("#")]),e._v(" Edits to the sample SSDT")]),e._v(" "),s("p",[e._v("Now that we have our ACPI path, lets grab our SSDT and get to work:")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://github.com/acidanthera/WhateverGreen/blob/master/Manual/SSDT-PNLF.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-PNLF.dsl"),s("OutboundLink")],1)]),e._v(" "),s("li",[s("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/decompiled/SSDT-PNLF-CFL.dsl.zip",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-PNLF-CFL.dsl"),s("OutboundLink")],1),e._v(" "),s("ul",[s("li",[e._v("For Coffee Lake and newer")])])])]),e._v(" "),s("p",[e._v("By default, this uses "),s("code",[e._v("PCI0.GFX0")]),e._v(" for the pathing. you'll want to rename accordingly. For this example, we'll assume your pathing is "),s("code",[e._v("PCI0.GPU0")]),e._v(":")]),e._v(" "),s("p",[s("strong",[e._v("Before")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("External (_SB_.PCI0.GFX0, DeviceObj) <- Rename this\n\nScope (_SB.PCI0.GFX0) <- Rename this\n\nDevice(_SB.PCI0.GFX0.PNLF) <- Rename this\n")])])]),s("p",[s("img",{attrs:{src:a(367),alt:""}})]),e._v(" "),s("p",[e._v("Following the example pathing we found, the SSDT should look something like this:")]),e._v(" "),s("p",[s("strong",[e._v("After")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("External (_SB_.PCI0.GPU0, DeviceObj) <- Renamed\n\nScope (_SB.PCI0.GPU0) <- Renamed\n\nDevice(_SB.PCI0.GPU0.PNLF) <- Renamed\n")])])]),s("p",[s("img",{attrs:{src:a(368),alt:""}})]),e._v(" "),s("h2",{attrs:{id:"compiling-the-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[e._v("#")]),e._v(" Compiling the SSDT")]),e._v(" "),s("p",[e._v("With the SSDT done, you're now "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("ready to compile the SSDT!")])],1),e._v(" "),s("h2",{attrs:{id:"wrapping-up"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[e._v("#")]),e._v(" Wrapping up")]),e._v(" "),s("p",[e._v("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 wrap up:")]),e._v(" "),s("ul",[s("li",[s("RouterLink",{attrs:{to:"/cleanup.html"}},[s("strong",[e._v("Cleanup")])])],1)])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{366:function(e,t,a){e.exports=a.p+"assets/img/devicemanager.770a10fc.png"},367:function(e,t,a){e.exports=a.p+"assets/img/ssdt-before.f71c9e04.png"},368:function(e,t,a){e.exports=a.p+"assets/img/ssdt-after.28584bc4.png"},421:function(e,t,a){"use strict";a.r(t);var s=a(25),i=Object(s.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"fixing-backlight-manual"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#fixing-backlight-manual"}},[e._v("#")]),e._v(" Fixing Backlight: Manual")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#finding-the-acpi-path"}},[e._v("Finding the ACPI path")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#compiling-the-ssdt"}},[e._v("Compiling the SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#wrapping-up"}},[e._v("Wrapping up")])])]),e._v(" "),s("h2",{attrs:{id:"finding-the-acpi-path"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path"}},[e._v("#")]),e._v(" Finding the ACPI path")]),e._v(" "),s("p",[e._v("For this guide, we're gonna assume Windows is already on this laptop, as otherwise creating this SSDT is a bit more difficult.")]),e._v(" "),s("p",[e._v("Now open DeviceManager, and head to the following:")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("Device Manager -> Display Adapters -> Properties -> Details > BIOS device name\n")])])]),s("ul",[s("li",[e._v('Note some GPU ACPI pathing may be hiding under "BIOS device name"')])]),e._v(" "),s("p",[s("img",{attrs:{src:a(366),alt:"Credit to 1Revenger1 for the image"}})]),e._v(" "),s("p",[e._v("From the above example, we can see our display is hooked up to "),s("code",[e._v("PCI0.GFX0")])]),e._v(" "),s("h2",{attrs:{id:"edits-to-the-sample-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("#")]),e._v(" Edits to the sample SSDT")]),e._v(" "),s("p",[e._v("Now that we have our ACPI path, lets grab our SSDT and get to work:")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://github.com/acidanthera/WhateverGreen/blob/master/Manual/SSDT-PNLF.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-PNLF.dsl"),s("OutboundLink")],1)]),e._v(" "),s("li",[s("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/decompiled/SSDT-PNLF-CFL.dsl.zip",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-PNLF-CFL.dsl"),s("OutboundLink")],1),e._v(" "),s("ul",[s("li",[e._v("For Coffee Lake and newer")])])])]),e._v(" "),s("p",[e._v("By default, this uses "),s("code",[e._v("PCI0.GFX0")]),e._v(" for the pathing. you'll want to rename accordingly. For this example, we'll assume your pathing is "),s("code",[e._v("PCI0.GPU0")]),e._v(":")]),e._v(" "),s("p",[s("strong",[e._v("Before")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("External (_SB_.PCI0.GFX0, DeviceObj) <- Rename this\n\nScope (_SB.PCI0.GFX0) <- Rename this\n\nDevice(_SB.PCI0.GFX0.PNLF) <- Rename this\n")])])]),s("p",[s("img",{attrs:{src:a(367),alt:""}})]),e._v(" "),s("p",[e._v("Following the example pathing we found, the SSDT should look something like this:")]),e._v(" "),s("p",[s("strong",[e._v("After")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("External (_SB_.PCI0.GPU0, DeviceObj) <- Renamed\n\nScope (_SB.PCI0.GPU0) <- Renamed\n\nDevice(_SB.PCI0.GPU0.PNLF) <- Renamed\n")])])]),s("p",[s("img",{attrs:{src:a(368),alt:""}})]),e._v(" "),s("h2",{attrs:{id:"compiling-the-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[e._v("#")]),e._v(" Compiling the SSDT")]),e._v(" "),s("p",[e._v("With the SSDT done, you're now "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("ready to compile the SSDT!")])],1),e._v(" "),s("h2",{attrs:{id:"wrapping-up"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[e._v("#")]),e._v(" Wrapping up")]),e._v(" "),s("p",[e._v("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 wrap up:")]),e._v(" "),s("ul",[s("li",[s("RouterLink",{attrs:{to:"/cleanup.html"}},[s("strong",[e._v("Cleanup")])])],1)])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/18.dd300c7b.js b/assets/js/18.55dc270f.js similarity index 99% rename from assets/js/18.dd300c7b.js rename to assets/js/18.55dc270f.js index d71a9a5..83c1798 100644 --- a/assets/js/18.dd300c7b.js +++ b/assets/js/18.55dc270f.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{316:function(e,t,a){e.exports=a.p+"assets/img/nvidia.672e8e16.png"},333:function(e,t,a){e.exports=a.p+"assets/img/amd.acf5492b.png"},459:function(e,t,a){"use strict";a.r(t);var s=a(25),i=Object(s.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"renaming-gpus-ssdt-gpu-spoof"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#renaming-gpus-ssdt-gpu-spoof"}},[e._v("#")]),e._v(" Renaming GPUs (SSDT-GPU-SPOOF)")]),e._v(" "),s("p",[e._v("So this is mainly needed for GPUs that are not natively supported out of the box due to their names, most commonly:")]),e._v(" "),s("ul",[s("li",[e._v("R9 290/390")]),e._v(" "),s("li",[e._v("R9 280/380")]),e._v(" "),s("li",[e._v("R7 270/370")]),e._v(" "),s("li",[e._v("R9 260/360")]),e._v(" "),s("li",[e._v("R7 250")]),e._v(" "),s("li",[e._v("R7 240")])]),e._v(" "),s("p",[e._v('Instead, these GPUs need to be "spoofed" or faked into a model that closely matches theirs, generally this will be the "X" variant of the card. For some reason Apple never bothered adding the PCI IDs for these other cards even though their GPU cores are supported by the driver.')]),e._v(" "),s("p",[e._v("So to spoof the GPU, we need to find a couple things:")]),e._v(" "),s("ul",[s("li",[e._v("Suitable PCI ID for the GPU")]),e._v(" "),s("li",[e._v("ACPI Path of the GPU")]),e._v(" "),s("li",[s("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/decompiled/SSDT-GPU-SPOOF.dsl.zip",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-GPU-SPOOF"),s("OutboundLink")],1)])]),e._v(" "),s("h2",{attrs:{id:"finding-a-suitable-pci-id"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#finding-a-suitable-pci-id"}},[e._v("#")]),e._v(" Finding a suitable PCI ID")]),e._v(" "),s("h3",{attrs:{id:"web"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#web"}},[e._v("#")]),e._v(" Web")]),e._v(" "),s("p",[e._v("To find a suitable PCI ID, we'll be using "),s("a",{attrs:{href:"https://pci-ids.ucw.cz/read/PC/1002",target:"_blank",rel:"noopener noreferrer"}},[e._v("PCI ID Repository"),s("OutboundLink")],1),e._v(" which has a full database of all AMD GPUs. For this example, we'll be creating a Spoof SSDT for the R9 390. For a full list of supported GPUs, please see the "),s("a",{attrs:{href:"https://dortania.github.io/GPU-Buyers-Guide/",target:"_blank",rel:"noopener noreferrer"}},[e._v("GPU Buyers Guide"),s("OutboundLink")],1),e._v(". The closest match to this GPU would be the 390X, and looking on that site near the top gives us this:")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("Vendor 1002 -> Device 1002:67b0\n")])])]),s("p",[e._v("Now lets break this down into a device ID we can use:")]),e._v(" "),s("ul",[s("li",[s("code",[e._v("1002")]),e._v(": The vendor ID, all AMD devices have this ID")]),e._v(" "),s("li",[s("code",[e._v("67B0")]),e._v(": The device ID, this is what we care about")])]),e._v(" "),s("p",[e._v("So how do we convert this to a fake ID? Well the format of a fake ID:")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v('"device-id",\nBuffer (0x04)\n{\n 0xB0, 0x67, 0x00, 0x00\n},\n')])])]),s("p",[e._v("As you can see, the bytes are swapped in pairs. Keep this in mind when we make our SSDT")]),e._v(" "),s("p",[e._v("The specifics are due to "),s("a",{attrs:{href:"https://en.wikipedia.org/wiki/Endianness",target:"_blank",rel:"noopener noreferrer"}},[e._v("Endianness"),s("OutboundLink")],1),e._v(" for those who are curious")]),e._v(" "),s("h3",{attrs:{id:"linux"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#linux"}},[e._v("#")]),e._v(" Linux")]),e._v(" "),s("p",[e._v("If you can run Linux, use command "),s("code",[e._v("lspci -vmmnnD -d 1002::0300")])]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("$ lspci -vmmnnD -d 1002::0300\nSlot:\t0000:01:00.0\nClass:\tVGA compatible controller [0300]\nVendor:\tAdvanced Micro Devices, Inc. [AMD/ATI] [1002]\nDevice:\tOland [Radeon HD 8570 / R7 240/340 / Radeon 520 OEM] [6611]\nSVendor:\tMicro-Star International Co., Ltd. [MSI] [1462]\nSDevice:\tDevice [3740]\nRev:\t87\n")])])]),s("p",[e._v("You can easily get")]),e._v(" "),s("ul",[s("li",[e._v("Slot ID "),s("code",[e._v("0000:01:00.0")]),e._v(", we need it later")]),e._v(" "),s("li",[e._v("Vendor ID "),s("code",[e._v("1002")]),e._v(", all AMD devices have this ID")]),e._v(" "),s("li",[e._v("Device ID "),s("code",[e._v("6611")]),e._v(", this is what we care about")]),e._v(" "),s("li",[e._v("Device name "),s("code",[e._v("Radeon HD 8570 / R7 240/340 / Radeon 520 OEM")]),e._v(", mainly cosmetic")])]),e._v(" "),s("h2",{attrs:{id:"finding-the-acpi-path-of-the-gpu"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path-of-the-gpu"}},[e._v("#")]),e._v(" Finding the ACPI Path of the GPU")]),e._v(" "),s("h3",{attrs:{id:"windows"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#windows"}},[e._v("#")]),e._v(" Windows")]),e._v(" "),s("p",[e._v("To find the PCI path of a GPU is fairly simple, best way to find it is running Windows:")]),e._v(" "),s("ul",[s("li",[e._v("Open Device Manager")]),e._v(" "),s("li",[e._v("Select Display Adapters, then right click your GPU and select Properties")]),e._v(" "),s("li",[e._v('Under the Details Tab, search for "Location Paths"\n'),s("ul",[s("li",[e._v('Note some GPUs may be hiding under "BIOS device name"')])])])]),e._v(" "),s("p",[s("img",{attrs:{src:a(333),alt:""}})]),e._v(" "),s("p",[s("img",{attrs:{src:a(316),alt:"Credit to 1Revenger1 for the image"}})]),e._v(" "),s("p",[e._v('The second "ACPI" is what we care about:')]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("ACPI(_SB_)#ACPI(PC02)#ACPI(BR2A)#ACPI(PEGP)#PCI(0000)#PCI(0000)\n")])])]),s("p",[e._v("Now converting this to an ACPI path is quite simple, remove the "),s("code",[e._v("#ACPI")]),e._v(" and "),s("code",[e._v("#PCI(0000)")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("\\_SB_.PC02.BR2A.PEGP\n")])])]),s("h3",{attrs:{id:"linux-2"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#linux-2"}},[e._v("#")]),e._v(" Linux")]),e._v(" "),s("p",[e._v("Substitute your SLOTID found above into command "),s("code",[e._v("cat /sys/bus/pci/devices/SLOTID/firmware_node/path")]),e._v(", you cat get")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("$ cat /sys/bus/pci/devices/0000:01:00.0/firmware_node/path\n\\_SB_.PC02.BR2A.PEGP\n")])])]),s("p",[e._v("And voila! We've found our ACPI path, now that we have everything we're ready to get cooking")]),e._v(" "),s("h2",{attrs:{id:"making-the-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#making-the-ssdt"}},[e._v("#")]),e._v(" Making the SSDT")]),e._v(" "),s("p",[e._v("To start grab our "),s("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/decompiled/SSDT-GPU-SPOOF.dsl.zip",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-GPU-SPOOF"),s("OutboundLink")],1),e._v(" and open it up. Here there's a couple things to change:")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("External (_SB_.PCI0, DeviceObj)\nExternal (_SB_.PCI0.PEG0.PEGP, DeviceObj)\n")])])]),s("p",[e._v("For our example, we'll change all mentions of :")]),e._v(" "),s("ul",[s("li",[s("code",[e._v("PCI0")]),e._v(" with "),s("code",[e._v("PC02")])]),e._v(" "),s("li",[s("code",[e._v("PEG0")]),e._v(" with "),s("code",[e._v("BR2A")])])]),e._v(" "),s("p",[e._v("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.")]),e._v(" "),s("p",[e._v("Now that the ACPI pathing is correct, we can finally apply our fake ID!!!")]),e._v(" "),s("p",[e._v("So the 2 parts we want to change:")]),e._v(" "),s("p",[s("strong",[e._v("device ID")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v('"device-id",\nBuffer (0x04)\n{\n 0xB0, 0x67, 0x00, 0x00\n},\n')])])]),s("p",[s("strong",[e._v("Model")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v('"model",\nBuffer ()\n{\n "AMD Radeon R9 390"\n}\n')])])]),s("p",[s("code",[e._v('"device-id"')]),e._v(' will be set to our PCI ID that we found in "Finding a suitable PCI ID" and '),s("code",[e._v('"model"')]),e._v(" is mainly cosmetic")]),e._v(" "),s("h2",{attrs:{id:"now-you-re-ready-to-compile-the-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#now-you-re-ready-to-compile-the-ssdt"}},[e._v("#")]),e._v(" "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("Now you're ready to compile the SSDT!")])],1)])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{316:function(e,t,a){e.exports=a.p+"assets/img/nvidia.672e8e16.png"},333:function(e,t,a){e.exports=a.p+"assets/img/amd.acf5492b.png"},460:function(e,t,a){"use strict";a.r(t);var s=a(25),i=Object(s.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"renaming-gpus-ssdt-gpu-spoof"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#renaming-gpus-ssdt-gpu-spoof"}},[e._v("#")]),e._v(" Renaming GPUs (SSDT-GPU-SPOOF)")]),e._v(" "),s("p",[e._v("So this is mainly needed for GPUs that are not natively supported out of the box due to their names, most commonly:")]),e._v(" "),s("ul",[s("li",[e._v("R9 290/390")]),e._v(" "),s("li",[e._v("R9 280/380")]),e._v(" "),s("li",[e._v("R7 270/370")]),e._v(" "),s("li",[e._v("R9 260/360")]),e._v(" "),s("li",[e._v("R7 250")]),e._v(" "),s("li",[e._v("R7 240")])]),e._v(" "),s("p",[e._v('Instead, these GPUs need to be "spoofed" or faked into a model that closely matches theirs, generally this will be the "X" variant of the card. For some reason Apple never bothered adding the PCI IDs for these other cards even though their GPU cores are supported by the driver.')]),e._v(" "),s("p",[e._v("So to spoof the GPU, we need to find a couple things:")]),e._v(" "),s("ul",[s("li",[e._v("Suitable PCI ID for the GPU")]),e._v(" "),s("li",[e._v("ACPI Path of the GPU")]),e._v(" "),s("li",[s("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/decompiled/SSDT-GPU-SPOOF.dsl.zip",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-GPU-SPOOF"),s("OutboundLink")],1)])]),e._v(" "),s("h2",{attrs:{id:"finding-a-suitable-pci-id"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#finding-a-suitable-pci-id"}},[e._v("#")]),e._v(" Finding a suitable PCI ID")]),e._v(" "),s("h3",{attrs:{id:"web"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#web"}},[e._v("#")]),e._v(" Web")]),e._v(" "),s("p",[e._v("To find a suitable PCI ID, we'll be using "),s("a",{attrs:{href:"https://pci-ids.ucw.cz/read/PC/1002",target:"_blank",rel:"noopener noreferrer"}},[e._v("PCI ID Repository"),s("OutboundLink")],1),e._v(" which has a full database of all AMD GPUs. For this example, we'll be creating a Spoof SSDT for the R9 390. For a full list of supported GPUs, please see the "),s("a",{attrs:{href:"https://dortania.github.io/GPU-Buyers-Guide/",target:"_blank",rel:"noopener noreferrer"}},[e._v("GPU Buyers Guide"),s("OutboundLink")],1),e._v(". The closest match to this GPU would be the 390X, and looking on that site near the top gives us this:")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("Vendor 1002 -> Device 1002:67b0\n")])])]),s("p",[e._v("Now lets break this down into a device ID we can use:")]),e._v(" "),s("ul",[s("li",[s("code",[e._v("1002")]),e._v(": The vendor ID, all AMD devices have this ID")]),e._v(" "),s("li",[s("code",[e._v("67B0")]),e._v(": The device ID, this is what we care about")])]),e._v(" "),s("p",[e._v("So how do we convert this to a fake ID? Well the format of a fake ID:")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v('"device-id",\nBuffer (0x04)\n{\n 0xB0, 0x67, 0x00, 0x00\n},\n')])])]),s("p",[e._v("As you can see, the bytes are swapped in pairs. Keep this in mind when we make our SSDT")]),e._v(" "),s("p",[e._v("The specifics are due to "),s("a",{attrs:{href:"https://en.wikipedia.org/wiki/Endianness",target:"_blank",rel:"noopener noreferrer"}},[e._v("Endianness"),s("OutboundLink")],1),e._v(" for those who are curious")]),e._v(" "),s("h3",{attrs:{id:"linux"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#linux"}},[e._v("#")]),e._v(" Linux")]),e._v(" "),s("p",[e._v("If you can run Linux, use command "),s("code",[e._v("lspci -vmmnnD -d 1002::0300")])]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("$ lspci -vmmnnD -d 1002::0300\nSlot:\t0000:01:00.0\nClass:\tVGA compatible controller [0300]\nVendor:\tAdvanced Micro Devices, Inc. [AMD/ATI] [1002]\nDevice:\tOland [Radeon HD 8570 / R7 240/340 / Radeon 520 OEM] [6611]\nSVendor:\tMicro-Star International Co., Ltd. [MSI] [1462]\nSDevice:\tDevice [3740]\nRev:\t87\n")])])]),s("p",[e._v("You can easily get")]),e._v(" "),s("ul",[s("li",[e._v("Slot ID "),s("code",[e._v("0000:01:00.0")]),e._v(", we need it later")]),e._v(" "),s("li",[e._v("Vendor ID "),s("code",[e._v("1002")]),e._v(", all AMD devices have this ID")]),e._v(" "),s("li",[e._v("Device ID "),s("code",[e._v("6611")]),e._v(", this is what we care about")]),e._v(" "),s("li",[e._v("Device name "),s("code",[e._v("Radeon HD 8570 / R7 240/340 / Radeon 520 OEM")]),e._v(", mainly cosmetic")])]),e._v(" "),s("h2",{attrs:{id:"finding-the-acpi-path-of-the-gpu"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path-of-the-gpu"}},[e._v("#")]),e._v(" Finding the ACPI Path of the GPU")]),e._v(" "),s("h3",{attrs:{id:"windows"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#windows"}},[e._v("#")]),e._v(" Windows")]),e._v(" "),s("p",[e._v("To find the PCI path of a GPU is fairly simple, best way to find it is running Windows:")]),e._v(" "),s("ul",[s("li",[e._v("Open Device Manager")]),e._v(" "),s("li",[e._v("Select Display Adapters, then right click your GPU and select Properties")]),e._v(" "),s("li",[e._v('Under the Details Tab, search for "Location Paths"\n'),s("ul",[s("li",[e._v('Note some GPUs may be hiding under "BIOS device name"')])])])]),e._v(" "),s("p",[s("img",{attrs:{src:a(333),alt:""}})]),e._v(" "),s("p",[s("img",{attrs:{src:a(316),alt:"Credit to 1Revenger1 for the image"}})]),e._v(" "),s("p",[e._v('The second "ACPI" is what we care about:')]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("ACPI(_SB_)#ACPI(PC02)#ACPI(BR2A)#ACPI(PEGP)#PCI(0000)#PCI(0000)\n")])])]),s("p",[e._v("Now converting this to an ACPI path is quite simple, remove the "),s("code",[e._v("#ACPI")]),e._v(" and "),s("code",[e._v("#PCI(0000)")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("\\_SB_.PC02.BR2A.PEGP\n")])])]),s("h3",{attrs:{id:"linux-2"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#linux-2"}},[e._v("#")]),e._v(" Linux")]),e._v(" "),s("p",[e._v("Substitute your SLOTID found above into command "),s("code",[e._v("cat /sys/bus/pci/devices/SLOTID/firmware_node/path")]),e._v(", you cat get")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("$ cat /sys/bus/pci/devices/0000:01:00.0/firmware_node/path\n\\_SB_.PC02.BR2A.PEGP\n")])])]),s("p",[e._v("And voila! We've found our ACPI path, now that we have everything we're ready to get cooking")]),e._v(" "),s("h2",{attrs:{id:"making-the-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#making-the-ssdt"}},[e._v("#")]),e._v(" Making the SSDT")]),e._v(" "),s("p",[e._v("To start grab our "),s("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/decompiled/SSDT-GPU-SPOOF.dsl.zip",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-GPU-SPOOF"),s("OutboundLink")],1),e._v(" and open it up. Here there's a couple things to change:")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("External (_SB_.PCI0, DeviceObj)\nExternal (_SB_.PCI0.PEG0.PEGP, DeviceObj)\n")])])]),s("p",[e._v("For our example, we'll change all mentions of :")]),e._v(" "),s("ul",[s("li",[s("code",[e._v("PCI0")]),e._v(" with "),s("code",[e._v("PC02")])]),e._v(" "),s("li",[s("code",[e._v("PEG0")]),e._v(" with "),s("code",[e._v("BR2A")])])]),e._v(" "),s("p",[e._v("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.")]),e._v(" "),s("p",[e._v("Now that the ACPI pathing is correct, we can finally apply our fake ID!!!")]),e._v(" "),s("p",[e._v("So the 2 parts we want to change:")]),e._v(" "),s("p",[s("strong",[e._v("device ID")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v('"device-id",\nBuffer (0x04)\n{\n 0xB0, 0x67, 0x00, 0x00\n},\n')])])]),s("p",[s("strong",[e._v("Model")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v('"model",\nBuffer ()\n{\n "AMD Radeon R9 390"\n}\n')])])]),s("p",[s("code",[e._v('"device-id"')]),e._v(' will be set to our PCI ID that we found in "Finding a suitable PCI ID" and '),s("code",[e._v('"model"')]),e._v(" is mainly cosmetic")]),e._v(" "),s("h2",{attrs:{id:"now-you-re-ready-to-compile-the-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#now-you-re-ready-to-compile-the-ssdt"}},[e._v("#")]),e._v(" "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("Now you're ready to compile the SSDT!")])],1)])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/28.373cfb07.js b/assets/js/28.293af53c.js similarity index 88% rename from assets/js/28.373cfb07.js rename to assets/js/28.293af53c.js index 6de0ecb..e217172 100644 --- a/assets/js/28.373cfb07.js +++ b/assets/js/28.293af53c.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{421:function(t,e,o){"use strict";o.r(e);var r=o(25),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("h1",{attrs:{id:"fixing-embedded-controller-desktop"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#fixing-embedded-controller-desktop"}},[t._v("#")]),t._v(" Fixing Embedded Controller (Desktop)")]),t._v(" "),o("h2",{attrs:{id:"you-ll-want-to-go-to-ssdt-ec-under-the-universal-tab-for-the-new-ssdt-ec-page"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#you-ll-want-to-go-to-ssdt-ec-under-the-universal-tab-for-the-new-ssdt-ec-page"}},[t._v("#")]),t._v(" You'll want to go to "),o("RouterLink",{attrs:{to:"/Universal/desktop-ec.html"}},[t._v("SSDT-EC under the Universal tab")]),t._v(" for the new SSDT-EC page")],1)])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{420:function(t,e,o){"use strict";o.r(e);var r=o(25),s=Object(r.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("h1",{attrs:{id:"fixing-embedded-controller-desktop"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#fixing-embedded-controller-desktop"}},[t._v("#")]),t._v(" Fixing Embedded Controller (Desktop)")]),t._v(" "),o("h2",{attrs:{id:"you-ll-want-to-go-to-ssdt-ec-under-the-universal-tab-for-the-new-ssdt-ec-page"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#you-ll-want-to-go-to-ssdt-ec-under-the-universal-tab-for-the-new-ssdt-ec-page"}},[t._v("#")]),t._v(" You'll want to go to "),o("RouterLink",{attrs:{to:"/Universal/desktop-ec.html"}},[t._v("SSDT-EC under the Universal tab")]),t._v(" for the new SSDT-EC page")],1)])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/37.c3def8e0.js b/assets/js/37.2ad58cd0.js similarity index 93% rename from assets/js/37.c3def8e0.js rename to assets/js/37.2ad58cd0.js index a00a9cb..bd603e7 100644 --- a/assets/js/37.c3def8e0.js +++ b/assets/js/37.2ad58cd0.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{436:function(t,e,o){"use strict";o.r(e);var s=o(25),n=Object(s.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("h1",{attrs:{id:"fixing-system-clocks-ssdt-awac-rtc0"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#fixing-system-clocks-ssdt-awac-rtc0"}},[t._v("#")]),t._v(" Fixing System Clocks (SSDT-AWAC/RTC0)")]),t._v(" "),o("ul",[o("li",[o("strong",[t._v("Reminder")]),t._v(": Does not support HEDT(ie. X99 and X299)")])]),t._v(" "),o("p",[t._v("The second involves using SSDTTime which automates most of the process. See here on how to use it: "),o("RouterLink",{attrs:{to:"/ssdt-methods/ssdt-easy.html"}},[t._v("SSDTs: Easy Way")])],1),t._v(" "),o("p",[t._v("To get the SSDT-PMC, run the following:")]),t._v(" "),o("ul",[o("li",[o("code",[t._v("7. Dump DSDT")]),t._v(" then run "),o("code",[t._v("6. AWAC")])])]),t._v(" "),o("p",[t._v("This will provide you with some files, the main one you care about is SSDT-AWAC."),o("strong",[t._v("aml")]),t._v(". or SSDT-RTC0."),o("strong",[t._v("aml")]),t._v(". The DSDT and .dsl are only left for referencing or verification.")]),t._v(" "),o("p",[t._v("The main things to note with this method:")]),t._v(" "),o("ul",[o("li",[t._v("Doesn't really teach you anything\n"),o("ul",[o("li",[t._v("For most, this doesn't matter. But to some knowing what makes your hackintosh tick is part of the journey")])])])]),t._v(" "),o("h2",{attrs:{id:"wrapping-up"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[t._v("#")]),t._v(" Wrapping up")]),t._v(" "),o("p",[t._v("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 wrap up:")]),t._v(" "),o("ul",[o("li",[o("RouterLink",{attrs:{to:"/cleanup.html"}},[o("strong",[t._v("Cleanup")])])],1)])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{445:function(t,e,o){"use strict";o.r(e);var s=o(25),n=Object(s.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("h1",{attrs:{id:"fixing-system-clocks-ssdt-awac-rtc0"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#fixing-system-clocks-ssdt-awac-rtc0"}},[t._v("#")]),t._v(" Fixing System Clocks (SSDT-AWAC/RTC0)")]),t._v(" "),o("ul",[o("li",[o("strong",[t._v("Reminder")]),t._v(": Does not support HEDT(ie. X99 and X299)")])]),t._v(" "),o("p",[t._v("The second involves using SSDTTime which automates most of the process. See here on how to use it: "),o("RouterLink",{attrs:{to:"/ssdt-methods/ssdt-easy.html"}},[t._v("SSDTs: Easy Way")])],1),t._v(" "),o("p",[t._v("To get the SSDT-PMC, run the following:")]),t._v(" "),o("ul",[o("li",[o("code",[t._v("7. Dump DSDT")]),t._v(" then run "),o("code",[t._v("6. AWAC")])])]),t._v(" "),o("p",[t._v("This will provide you with some files, the main one you care about is SSDT-AWAC."),o("strong",[t._v("aml")]),t._v(". or SSDT-RTC0."),o("strong",[t._v("aml")]),t._v(". The DSDT and .dsl are only left for referencing or verification.")]),t._v(" "),o("p",[t._v("The main things to note with this method:")]),t._v(" "),o("ul",[o("li",[t._v("Doesn't really teach you anything\n"),o("ul",[o("li",[t._v("For most, this doesn't matter. But to some knowing what makes your hackintosh tick is part of the journey")])])])]),t._v(" "),o("h2",{attrs:{id:"wrapping-up"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[t._v("#")]),t._v(" Wrapping up")]),t._v(" "),o("p",[t._v("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 wrap up:")]),t._v(" "),o("ul",[o("li",[o("RouterLink",{attrs:{to:"/cleanup.html"}},[o("strong",[t._v("Cleanup")])])],1)])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/38.f81ddac0.js b/assets/js/38.8787a190.js similarity index 96% rename from assets/js/38.f81ddac0.js rename to assets/js/38.8787a190.js index f78fdf4..7c03ff5 100644 --- a/assets/js/38.f81ddac0.js +++ b/assets/js/38.8787a190.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{437:function(t,s,e){"use strict";e.r(s);var a=e(25),i=Object(a.a)({},(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"fixing-system-clocks-ssdt-awac-rtc0"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#fixing-system-clocks-ssdt-awac-rtc0"}},[t._v("#")]),t._v(" Fixing System Clocks (SSDT-AWAC/RTC0)")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"#what-this-ssdt-does"}},[t._v("What this SSDT does")])]),t._v(" "),e("li",[e("a",{attrs:{href:"#methods-to-make-this-ssdt"}},[t._v("Methods to make this SSDT")])])]),t._v(" "),e("h2",{attrs:{id:"what-this-ssdt-does"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#what-this-ssdt-does"}},[t._v("#")]),t._v(" What this SSDT does")]),t._v(" "),e("p",[t._v("The purpose of SSDT-AWAC/RTC0 is to fix the system clocks found on newer hardware, mainly found in the following:")]),t._v(" "),e("ul",[e("li",[t._v("B360")]),t._v(" "),e("li",[t._v("B365")]),t._v(" "),e("li",[t._v("H310")]),t._v(" "),e("li",[t._v("H370")]),t._v(" "),e("li",[t._v("Z370 (Gigabyte and AsRock boards with newer BIOS versions)")]),t._v(" "),e("li",[t._v("Z390")]),t._v(" "),e("li",[t._v("B460")]),t._v(" "),e("li",[t._v("Z490")]),t._v(" "),e("li",[t._v("400 series (Comet Lake, including Z490)")]),t._v(" "),e("li",[t._v("495 series (Icelake)")]),t._v(" "),e("li",[t._v("X99")]),t._v(" "),e("li",[t._v("X299")])]),t._v(" "),e("p",[t._v('SSDT-AWAC tries to re-enable the old RTC clock that is compatible with macOS, while SSDT-RTC0 will instead create a "fake" RTC clock if there is no legacy one to enable.')]),t._v(" "),e("h2",{attrs:{id:"methods-to-make-this-ssdt"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#methods-to-make-this-ssdt"}},[t._v("#")]),t._v(" Methods to make this SSDT")]),t._v(" "),e("p",[t._v("For the RTC fix, there are 3 methods you can choose from:")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/Universal/awac-methods/prebuilt.html"}},[t._v("Prebuilt")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/Universal/awac-methods/ssdttime.html"}},[t._v("SSDTTime")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("Does not support HEDT")])])])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/Universal/awac-methods/manual.html"}},[t._v("Manual")]),t._v(" "),e("ul",[e("li",[t._v("For most users")])])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/Universal/awac-methods/manual-hedt.html"}},[t._v("Manual-HEDT")]),t._v(" "),e("ul",[e("li",[t._v("For X99 and X299 users")])])],1)])])}),[],!1,null,null,null);s.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{436:function(t,s,e){"use strict";e.r(s);var a=e(25),i=Object(a.a)({},(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"fixing-system-clocks-ssdt-awac-rtc0"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#fixing-system-clocks-ssdt-awac-rtc0"}},[t._v("#")]),t._v(" Fixing System Clocks (SSDT-AWAC/RTC0)")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"#what-this-ssdt-does"}},[t._v("What this SSDT does")])]),t._v(" "),e("li",[e("a",{attrs:{href:"#methods-to-make-this-ssdt"}},[t._v("Methods to make this SSDT")])])]),t._v(" "),e("h2",{attrs:{id:"what-this-ssdt-does"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#what-this-ssdt-does"}},[t._v("#")]),t._v(" What this SSDT does")]),t._v(" "),e("p",[t._v("The purpose of SSDT-AWAC/RTC0 is to fix the system clocks found on newer hardware, mainly found in the following:")]),t._v(" "),e("ul",[e("li",[t._v("B360")]),t._v(" "),e("li",[t._v("B365")]),t._v(" "),e("li",[t._v("H310")]),t._v(" "),e("li",[t._v("H370")]),t._v(" "),e("li",[t._v("Z370 (Gigabyte and AsRock boards with newer BIOS versions)")]),t._v(" "),e("li",[t._v("Z390")]),t._v(" "),e("li",[t._v("B460")]),t._v(" "),e("li",[t._v("Z490")]),t._v(" "),e("li",[t._v("400 series (Comet Lake, including Z490)")]),t._v(" "),e("li",[t._v("495 series (Icelake)")]),t._v(" "),e("li",[t._v("X99")]),t._v(" "),e("li",[t._v("X299")])]),t._v(" "),e("p",[t._v('SSDT-AWAC tries to re-enable the old RTC clock that is compatible with macOS, while SSDT-RTC0 will instead create a "fake" RTC clock if there is no legacy one to enable.')]),t._v(" "),e("h2",{attrs:{id:"methods-to-make-this-ssdt"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#methods-to-make-this-ssdt"}},[t._v("#")]),t._v(" Methods to make this SSDT")]),t._v(" "),e("p",[t._v("For the RTC fix, there are 3 methods you can choose from:")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/Universal/awac-methods/prebuilt.html"}},[t._v("Prebuilt")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/Universal/awac-methods/ssdttime.html"}},[t._v("SSDTTime")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("Does not support HEDT")])])])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/Universal/awac-methods/manual.html"}},[t._v("Manual")]),t._v(" "),e("ul",[e("li",[t._v("For most users")])])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/Universal/awac-methods/manual-hedt.html"}},[t._v("Manual-HEDT")]),t._v(" "),e("ul",[e("li",[t._v("For X99 and X299 users")])])],1)])])}),[],!1,null,null,null);s.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/39.268e6a49.js b/assets/js/39.ff6cd719.js similarity index 95% rename from assets/js/39.268e6a49.js rename to assets/js/39.ff6cd719.js index d61eebd..38650ee 100644 --- a/assets/js/39.268e6a49.js +++ b/assets/js/39.ff6cd719.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{438:function(e,t,s){"use strict";s.r(t);var o=s(25),i=Object(o.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"fixing-embedded-controller-ssdt-ec-usbx"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#fixing-embedded-controller-ssdt-ec-usbx"}},[e._v("#")]),e._v(" Fixing Embedded Controller (SSDT-EC/USBX)")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#fixing-embedded-controller-ssdt-ecusbx"}},[e._v("Fixing Embedded Controller (SSDT-EC/USBX)")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#what-this-ssdt-does"}},[e._v("What this SSDT does")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#methods-to-make-this-ssdt"}},[e._v("Methods to make this SSDT")])])])])]),e._v(" "),s("h2",{attrs:{id:"what-this-ssdt-does"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#what-this-ssdt-does"}},[e._v("#")]),e._v(" What this SSDT does")]),e._v(" "),s("p",[e._v("The purpose of SSDT-EC/UBX is a couple things:")]),e._v(" "),s("ul",[s("li",[e._v("On desktops, the EC(or better known as the embedded controller) isn't compatible with AppleACPIEC driver, to get around this we disable this device when running macOS")]),e._v(" "),s("li",[e._v("AppleBusPowerController will look for a device named "),s("code",[e._v("EC")]),e._v(", so we will want to create a fake device for this kext to load onto\n"),s("ul",[s("li",[e._v("AppleBusPowerController also requires a USBX device to supply USB power properties for Skylake and newer, so we will bundle this device in with the EC fix")])])]),e._v(" "),s("li",[e._v("On laptops, the EC is used for hotkeys and battery so disabling this isn't all too ideal. Problem is our EC's name isn't compatible, so we will create a simple \"fake\" EC device that will satisfy Apple")])]),e._v(" "),s("p",[e._v("So TL;DR:")]),e._v(" "),s("ul",[s("li",[e._v("EC is embedded controller")]),e._v(" "),s("li",[e._v("Desktops will want real EC off, and a fake EC created")]),e._v(" "),s("li",[e._v("Laptops will just want an additional fake EC present")]),e._v(" "),s("li",[e._v("Skylake and newer devices will want USBX as well")])]),e._v(" "),s("h2",{attrs:{id:"methods-to-make-this-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#methods-to-make-this-ssdt"}},[e._v("#")]),e._v(" Methods to make this SSDT")]),e._v(" "),s("p",[e._v("For the EC fix, there are 3 methods you can choose from:")]),e._v(" "),s("ul",[s("li",[s("RouterLink",{attrs:{to:"/Universal/ec-methods/prebuilt.html"}},[e._v("Prebuilt")])],1),e._v(" "),s("li",[s("RouterLink",{attrs:{to:"/Universal/ec-methods/ssdttime.html"}},[e._v("SSDTTime")])],1),e._v(" "),s("li",[s("RouterLink",{attrs:{to:"/Universal/ec-methods/manual.html"}},[e._v("Manual")])],1)])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{437:function(e,t,s){"use strict";s.r(t);var o=s(25),i=Object(o.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"fixing-embedded-controller-ssdt-ec-usbx"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#fixing-embedded-controller-ssdt-ec-usbx"}},[e._v("#")]),e._v(" Fixing Embedded Controller (SSDT-EC/USBX)")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#fixing-embedded-controller-ssdt-ecusbx"}},[e._v("Fixing Embedded Controller (SSDT-EC/USBX)")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#what-this-ssdt-does"}},[e._v("What this SSDT does")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#methods-to-make-this-ssdt"}},[e._v("Methods to make this SSDT")])])])])]),e._v(" "),s("h2",{attrs:{id:"what-this-ssdt-does"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#what-this-ssdt-does"}},[e._v("#")]),e._v(" What this SSDT does")]),e._v(" "),s("p",[e._v("The purpose of SSDT-EC/UBX is a couple things:")]),e._v(" "),s("ul",[s("li",[e._v("On desktops, the EC(or better known as the embedded controller) isn't compatible with AppleACPIEC driver, to get around this we disable this device when running macOS")]),e._v(" "),s("li",[e._v("AppleBusPowerController will look for a device named "),s("code",[e._v("EC")]),e._v(", so we will want to create a fake device for this kext to load onto\n"),s("ul",[s("li",[e._v("AppleBusPowerController also requires a USBX device to supply USB power properties for Skylake and newer, so we will bundle this device in with the EC fix")])])]),e._v(" "),s("li",[e._v("On laptops, the EC is used for hotkeys and battery so disabling this isn't all too ideal. Problem is our EC's name isn't compatible, so we will create a simple \"fake\" EC device that will satisfy Apple")])]),e._v(" "),s("p",[e._v("So TL;DR:")]),e._v(" "),s("ul",[s("li",[e._v("EC is embedded controller")]),e._v(" "),s("li",[e._v("Desktops will want real EC off, and a fake EC created")]),e._v(" "),s("li",[e._v("Laptops will just want an additional fake EC present")]),e._v(" "),s("li",[e._v("Skylake and newer devices will want USBX as well")])]),e._v(" "),s("h2",{attrs:{id:"methods-to-make-this-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#methods-to-make-this-ssdt"}},[e._v("#")]),e._v(" Methods to make this SSDT")]),e._v(" "),s("p",[e._v("For the EC fix, there are 3 methods you can choose from:")]),e._v(" "),s("ul",[s("li",[s("RouterLink",{attrs:{to:"/Universal/ec-methods/prebuilt.html"}},[e._v("Prebuilt")])],1),e._v(" "),s("li",[s("RouterLink",{attrs:{to:"/Universal/ec-methods/ssdttime.html"}},[e._v("SSDTTime")])],1),e._v(" "),s("li",[s("RouterLink",{attrs:{to:"/Universal/ec-methods/manual.html"}},[e._v("Manual")])],1)])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/40.bfef93ef.js b/assets/js/40.3d792276.js similarity index 96% rename from assets/js/40.bfef93ef.js rename to assets/js/40.3d792276.js index de4375c..bff6a9b 100644 --- a/assets/js/40.bfef93ef.js +++ b/assets/js/40.3d792276.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{440:function(e,t,r){"use strict";r.r(t);var a=r(25),o=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"fixing-embedded-controllers-prebuilt"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#fixing-embedded-controllers-prebuilt"}},[e._v("#")]),e._v(" Fixing Embedded Controllers: Prebuilt")]),e._v(" "),r("p",[e._v("By far the easiest way to fix your Embedded Controller is just downloading one of the files below:")]),e._v(" "),r("p",[r("strong",[e._v("Desktop")]),e._v(":")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-EC-USBX-DESKTOP.aml",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-EC-USBX-DESKTOP"),r("OutboundLink")],1),e._v(" "),r("ul",[r("li",[e._v("For Skylake desktops and newer and AMD CPU based systems")])])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-EC-DESKTOP.aml",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-EC-DESKTOP"),r("OutboundLink")],1),e._v(" "),r("ul",[r("li",[e._v("For Broadwell desktops and older")])])])]),e._v(" "),r("p",[r("strong",[e._v("Laptops")]),e._v(":")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-EC-USBX-LAPTOP.aml",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-EC-USBX-LAPTOP.aml"),r("OutboundLink")],1),e._v(" "),r("ul",[r("li",[e._v("For Skylake laptops and newer")])])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-EC-LAPTOP.aml",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-EC-LAPTOP.aml"),r("OutboundLink")],1),e._v(" "),r("ul",[r("li",[e._v("For Broadwell laptops and older")])])])]),e._v(" "),r("p",[e._v("The main things to note with this method:")]),e._v(" "),r("ul",[r("li",[e._v("Quite Bloated\n"),r("ul",[r("li",[e._v("There's ACPI naming for every type, this means there's added delays in boot times")])])]),e._v(" "),r("li",[e._v("Doesn't really teach you anything\n"),r("ul",[r("li",[e._v("For most, this doesn't matter. But to some knowing what makes your hackintosh tick is part of the journey")])])])]),e._v(" "),r("h2",{attrs:{id:"wrapping-up"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[e._v("#")]),e._v(" Wrapping up")]),e._v(" "),r("p",[e._v("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 wrap up:")]),e._v(" "),r("ul",[r("li",[r("RouterLink",{attrs:{to:"/cleanup.html"}},[r("strong",[e._v("Cleanup")])])],1)])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{439:function(e,t,r){"use strict";r.r(t);var a=r(25),o=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"fixing-embedded-controllers-prebuilt"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#fixing-embedded-controllers-prebuilt"}},[e._v("#")]),e._v(" Fixing Embedded Controllers: Prebuilt")]),e._v(" "),r("p",[e._v("By far the easiest way to fix your Embedded Controller is just downloading one of the files below:")]),e._v(" "),r("p",[r("strong",[e._v("Desktop")]),e._v(":")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-EC-USBX-DESKTOP.aml",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-EC-USBX-DESKTOP"),r("OutboundLink")],1),e._v(" "),r("ul",[r("li",[e._v("For Skylake desktops and newer and AMD CPU based systems")])])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-EC-DESKTOP.aml",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-EC-DESKTOP"),r("OutboundLink")],1),e._v(" "),r("ul",[r("li",[e._v("For Broadwell desktops and older")])])])]),e._v(" "),r("p",[r("strong",[e._v("Laptops")]),e._v(":")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-EC-USBX-LAPTOP.aml",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-EC-USBX-LAPTOP.aml"),r("OutboundLink")],1),e._v(" "),r("ul",[r("li",[e._v("For Skylake laptops and newer")])])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-EC-LAPTOP.aml",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-EC-LAPTOP.aml"),r("OutboundLink")],1),e._v(" "),r("ul",[r("li",[e._v("For Broadwell laptops and older")])])])]),e._v(" "),r("p",[e._v("The main things to note with this method:")]),e._v(" "),r("ul",[r("li",[e._v("Quite Bloated\n"),r("ul",[r("li",[e._v("There's ACPI naming for every type, this means there's added delays in boot times")])])]),e._v(" "),r("li",[e._v("Doesn't really teach you anything\n"),r("ul",[r("li",[e._v("For most, this doesn't matter. But to some knowing what makes your hackintosh tick is part of the journey")])])])]),e._v(" "),r("h2",{attrs:{id:"wrapping-up"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[e._v("#")]),e._v(" Wrapping up")]),e._v(" "),r("p",[e._v("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 wrap up:")]),e._v(" "),r("ul",[r("li",[r("RouterLink",{attrs:{to:"/cleanup.html"}},[r("strong",[e._v("Cleanup")])])],1)])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/41.059296f9.js b/assets/js/41.aa388bc4.js similarity index 95% rename from assets/js/41.059296f9.js rename to assets/js/41.aa388bc4.js index e196b41..a9ea9b7 100644 --- a/assets/js/41.059296f9.js +++ b/assets/js/41.aa388bc4.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{441:function(e,t,o){"use strict";o.r(t);var n=o(25),r=Object(n.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h1",{attrs:{id:"fixing-embedded-controllers-ssdttime"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#fixing-embedded-controllers-ssdttime"}},[e._v("#")]),e._v(" Fixing Embedded Controllers: SSDTTime")]),e._v(" "),o("p",[e._v("The second involves using SSDTTime which automates most of the process. See here on how to use it: "),o("RouterLink",{attrs:{to:"/ssdt-methods/ssdt-easy.html"}},[e._v("SSDTs: Easy Way")])],1),e._v(" "),o("p",[e._v("To get the SSDT-EC on desktops, run the following:")]),e._v(" "),o("ul",[o("li",[o("code",[e._v("7. Dump DSDT")]),e._v(" then run "),o("code",[e._v("2. FakeEC")])])]),e._v(" "),o("p",[e._v("To get the SSDT-EC on laptops, run the following:")]),e._v(" "),o("ul",[o("li",[o("code",[e._v("7. Dump DSDT")]),e._v(" then run "),o("code",[e._v("3. FakeEC Laptop")])])]),e._v(" "),o("p",[e._v("This will provide you with some files, the main one you care about is SSDT-EC."),o("strong",[e._v("aml")]),e._v(". The DSDT and .dsl are only left for referencing or verification.")]),e._v(" "),o("p",[e._v("The main things to note with this method:")]),e._v(" "),o("ul",[o("li",[e._v("Doesn't provide you the USBX property to fix power\n"),o("ul",[o("li",[e._v("This can easily be fixed by using this prebuilt file in addition to SSDT-EC: "),o("a",{attrs:{href:"https://github.com/dortania/OpenCore-Post-Install/blob/master/extra-files/SSDT-USBX.aml",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-USBX.aml"),o("OutboundLink")],1)]),e._v(" "),o("li",[e._v("Note USBX is only needed for Skylake and newer")])])]),e._v(" "),o("li",[e._v("Doesn't really teach you anything\n"),o("ul",[o("li",[e._v("For most, this doesn't matter. But to some knowing what makes your hackintosh tick is part of the journey")])])])]),e._v(" "),o("h2",{attrs:{id:"wrapping-up"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[e._v("#")]),e._v(" Wrapping up")]),e._v(" "),o("p",[e._v("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 wrap up:")]),e._v(" "),o("ul",[o("li",[o("RouterLink",{attrs:{to:"/cleanup.html"}},[o("strong",[e._v("Cleanup")])])],1)])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{440:function(e,t,o){"use strict";o.r(t);var n=o(25),r=Object(n.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h1",{attrs:{id:"fixing-embedded-controllers-ssdttime"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#fixing-embedded-controllers-ssdttime"}},[e._v("#")]),e._v(" Fixing Embedded Controllers: SSDTTime")]),e._v(" "),o("p",[e._v("The second involves using SSDTTime which automates most of the process. See here on how to use it: "),o("RouterLink",{attrs:{to:"/ssdt-methods/ssdt-easy.html"}},[e._v("SSDTs: Easy Way")])],1),e._v(" "),o("p",[e._v("To get the SSDT-EC on desktops, run the following:")]),e._v(" "),o("ul",[o("li",[o("code",[e._v("7. Dump DSDT")]),e._v(" then run "),o("code",[e._v("2. FakeEC")])])]),e._v(" "),o("p",[e._v("To get the SSDT-EC on laptops, run the following:")]),e._v(" "),o("ul",[o("li",[o("code",[e._v("7. Dump DSDT")]),e._v(" then run "),o("code",[e._v("3. FakeEC Laptop")])])]),e._v(" "),o("p",[e._v("This will provide you with some files, the main one you care about is SSDT-EC."),o("strong",[e._v("aml")]),e._v(". The DSDT and .dsl are only left for referencing or verification.")]),e._v(" "),o("p",[e._v("The main things to note with this method:")]),e._v(" "),o("ul",[o("li",[e._v("Doesn't provide you the USBX property to fix power\n"),o("ul",[o("li",[e._v("This can easily be fixed by using this prebuilt file in addition to SSDT-EC: "),o("a",{attrs:{href:"https://github.com/dortania/OpenCore-Post-Install/blob/master/extra-files/SSDT-USBX.aml",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-USBX.aml"),o("OutboundLink")],1)]),e._v(" "),o("li",[e._v("Note USBX is only needed for Skylake and newer")])])]),e._v(" "),o("li",[e._v("Doesn't really teach you anything\n"),o("ul",[o("li",[e._v("For most, this doesn't matter. But to some knowing what makes your hackintosh tick is part of the journey")])])])]),e._v(" "),o("h2",{attrs:{id:"wrapping-up"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[e._v("#")]),e._v(" Wrapping up")]),e._v(" "),o("p",[e._v("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 wrap up:")]),e._v(" "),o("ul",[o("li",[o("RouterLink",{attrs:{to:"/cleanup.html"}},[o("strong",[e._v("Cleanup")])])],1)])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/42.b0e74cdf.js b/assets/js/42.783e38c6.js similarity index 96% rename from assets/js/42.b0e74cdf.js rename to assets/js/42.783e38c6.js index bd3a5fc..2e87dec 100644 --- a/assets/js/42.b0e74cdf.js +++ b/assets/js/42.783e38c6.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{442:function(e,t,i){"use strict";i.r(t);var a=i(25),r=Object(a.a)({},(function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[i("h1",{attrs:{id:"fixing-imei-manual"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#fixing-imei-manual"}},[e._v("#")]),e._v(" Fixing IMEI: Manual")]),e._v(" "),i("ul",[i("li",[i("a",{attrs:{href:"#finding-the-acpi-device"}},[e._v("Finding the ACPI device")])]),e._v(" "),i("li",[i("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),i("li",[i("a",{attrs:{href:"#compiling-the-ssdt"}},[e._v("Compiling the SSDT")])]),e._v(" "),i("li",[i("a",{attrs:{href:"#wrapping-up"}},[e._v("Wrapping up")])])]),e._v(" "),i("h2",{attrs:{id:"finding-the-acpi-device"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-device"}},[e._v("#")]),e._v(" Finding the ACPI device")]),e._v(" "),i("p",[e._v("Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from "),i("RouterLink",{attrs:{to:"/Manual/dump.html"}},[e._v("Dumping the DSDT")]),e._v(" and "),i("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("Decompiling and Compiling")]),e._v(" with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an "),i("a",{attrs:{href:"https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl",target:"_blank",rel:"noopener noreferrer"}},[e._v("ACPI extension"),i("OutboundLink")],1),e._v(" that can also help).")],1),e._v(" "),i("p",[e._v("Next, search for the following devices:")]),e._v(" "),i("ul",[i("li",[i("code",[e._v("IMEI")])]),e._v(" "),i("li",[i("code",[e._v("HECI")])]),e._v(" "),i("li",[i("code",[e._v("MEI")])])]),e._v(" "),i("p",[e._v("If none of the 3 show up, you'll need to create an SSDT-IMEI.")]),e._v(" "),i("p",[i("strong",[e._v("If one of these 3 devices show up")]),e._v(", you do not need SSDT-IMEI! You can simply skip this page.")]),e._v(" "),i("p",[e._v("The rest of this page will however assume none of those 3 devices showed up.")]),e._v(" "),i("h2",{attrs:{id:"compiling-the-ssdt"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[e._v("#")]),e._v(" Compiling the SSDT")]),e._v(" "),i("p",[e._v("So there's actually no edits required to SSDT-IMEI, you can either grab the source code and compile yourself or use the prebuilt")]),e._v(" "),i("ul",[i("li",[i("p",[i("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-IMEI-S.aml",target:"_blank",rel:"noopener noreferrer"}},[e._v("Prebuilt SSDT-IMEI"),i("OutboundLink")],1)])]),e._v(" "),i("li",[i("p",[i("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-IMEI.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-IMEI's source code"),i("OutboundLink")],1)])])]),e._v(" "),i("p",[e._v("With the SSDT done, you're now "),i("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("ready to compile the SSDT!")])],1),e._v(" "),i("h2",{attrs:{id:"wrapping-up"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[e._v("#")]),e._v(" Wrapping up")]),e._v(" "),i("p",[e._v("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 wrap up:")]),e._v(" "),i("ul",[i("li",[i("RouterLink",{attrs:{to:"/cleanup.html"}},[i("strong",[e._v("Cleanup")])])],1)])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{441:function(e,t,i){"use strict";i.r(t);var a=i(25),r=Object(a.a)({},(function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[i("h1",{attrs:{id:"fixing-imei-manual"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#fixing-imei-manual"}},[e._v("#")]),e._v(" Fixing IMEI: Manual")]),e._v(" "),i("ul",[i("li",[i("a",{attrs:{href:"#finding-the-acpi-device"}},[e._v("Finding the ACPI device")])]),e._v(" "),i("li",[i("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),i("li",[i("a",{attrs:{href:"#compiling-the-ssdt"}},[e._v("Compiling the SSDT")])]),e._v(" "),i("li",[i("a",{attrs:{href:"#wrapping-up"}},[e._v("Wrapping up")])])]),e._v(" "),i("h2",{attrs:{id:"finding-the-acpi-device"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-device"}},[e._v("#")]),e._v(" Finding the ACPI device")]),e._v(" "),i("p",[e._v("Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from "),i("RouterLink",{attrs:{to:"/Manual/dump.html"}},[e._v("Dumping the DSDT")]),e._v(" and "),i("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("Decompiling and Compiling")]),e._v(" with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an "),i("a",{attrs:{href:"https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl",target:"_blank",rel:"noopener noreferrer"}},[e._v("ACPI extension"),i("OutboundLink")],1),e._v(" that can also help).")],1),e._v(" "),i("p",[e._v("Next, search for the following devices:")]),e._v(" "),i("ul",[i("li",[i("code",[e._v("IMEI")])]),e._v(" "),i("li",[i("code",[e._v("HECI")])]),e._v(" "),i("li",[i("code",[e._v("MEI")])])]),e._v(" "),i("p",[e._v("If none of the 3 show up, you'll need to create an SSDT-IMEI.")]),e._v(" "),i("p",[i("strong",[e._v("If one of these 3 devices show up")]),e._v(", you do not need SSDT-IMEI! You can simply skip this page.")]),e._v(" "),i("p",[e._v("The rest of this page will however assume none of those 3 devices showed up.")]),e._v(" "),i("h2",{attrs:{id:"compiling-the-ssdt"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[e._v("#")]),e._v(" Compiling the SSDT")]),e._v(" "),i("p",[e._v("So there's actually no edits required to SSDT-IMEI, you can either grab the source code and compile yourself or use the prebuilt")]),e._v(" "),i("ul",[i("li",[i("p",[i("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-IMEI-S.aml",target:"_blank",rel:"noopener noreferrer"}},[e._v("Prebuilt SSDT-IMEI"),i("OutboundLink")],1)])]),e._v(" "),i("li",[i("p",[i("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-IMEI.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-IMEI's source code"),i("OutboundLink")],1)])])]),e._v(" "),i("p",[e._v("With the SSDT done, you're now "),i("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("ready to compile the SSDT!")])],1),e._v(" "),i("h2",{attrs:{id:"wrapping-up"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[e._v("#")]),e._v(" Wrapping up")]),e._v(" "),i("p",[e._v("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 wrap up:")]),e._v(" "),i("ul",[i("li",[i("RouterLink",{attrs:{to:"/cleanup.html"}},[i("strong",[e._v("Cleanup")])])],1)])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/43.d512c6f3.js b/assets/js/43.ef7e25e3.js similarity index 93% rename from assets/js/43.d512c6f3.js rename to assets/js/43.ef7e25e3.js index 650f474..9148246 100644 --- a/assets/js/43.d512c6f3.js +++ b/assets/js/43.ef7e25e3.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{443:function(t,e,r){"use strict";r.r(e);var a=r(25),i=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"fixing-imei-prebuilt"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#fixing-imei-prebuilt"}},[t._v("#")]),t._v(" Fixing IMEI: Prebuilt")]),t._v(" "),r("p",[t._v("By far the easiest method, all you need to do is download the following file:")]),t._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-IMEI.aml",target:"_blank",rel:"noopener noreferrer"}},[t._v("SSDT-IMEI.aml"),r("OutboundLink")],1)])]),t._v(" "),r("h2",{attrs:{id:"wrapping-up"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[t._v("#")]),t._v(" Wrapping up")]),t._v(" "),r("p",[t._v("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 wrap up:")]),t._v(" "),r("ul",[r("li",[r("RouterLink",{attrs:{to:"/cleanup.html"}},[r("strong",[t._v("Cleanup")])])],1)])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{442:function(t,e,r){"use strict";r.r(e);var a=r(25),i=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"fixing-imei-prebuilt"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#fixing-imei-prebuilt"}},[t._v("#")]),t._v(" Fixing IMEI: Prebuilt")]),t._v(" "),r("p",[t._v("By far the easiest method, all you need to do is download the following file:")]),t._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-IMEI.aml",target:"_blank",rel:"noopener noreferrer"}},[t._v("SSDT-IMEI.aml"),r("OutboundLink")],1)])]),t._v(" "),r("h2",{attrs:{id:"wrapping-up"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[t._v("#")]),t._v(" Wrapping up")]),t._v(" "),r("p",[t._v("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 wrap up:")]),t._v(" "),r("ul",[r("li",[r("RouterLink",{attrs:{to:"/cleanup.html"}},[r("strong",[t._v("Cleanup")])])],1)])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/44.51770613.js b/assets/js/44.517f4737.js similarity index 95% rename from assets/js/44.51770613.js rename to assets/js/44.517f4737.js index 120fa2e..9334d45 100644 --- a/assets/js/44.51770613.js +++ b/assets/js/44.517f4737.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{444:function(e,t,i){"use strict";i.r(t);var s=i(25),a=Object(s.a)({},(function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[i("h1",{attrs:{id:"fixing-imei-ssdt-imei"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#fixing-imei-ssdt-imei"}},[e._v("#")]),e._v(" Fixing IMEI (SSDT-IMEI)")]),e._v(" "),i("ul",[i("li",[i("a",{attrs:{href:"#fixing-imei-ssdt-imei"}},[e._v("Fixing IMEI (SSDT-IMEI)")]),e._v(" "),i("ul",[i("li",[i("a",{attrs:{href:"#what-this-ssdt-does"}},[e._v("What this SSDT does")])]),e._v(" "),i("li",[i("a",{attrs:{href:"#methods-to-make-this-ssdt"}},[e._v("Methods to make this SSDT")])])])])]),e._v(" "),i("h2",{attrs:{id:"what-this-ssdt-does"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#what-this-ssdt-does"}},[e._v("#")]),e._v(" What this SSDT does")]),e._v(" "),i("p",[e._v("The purpose of SSDT-IMEI is:")]),e._v(" "),i("ul",[i("li",[e._v("When mixing Ivy Bridge CPUs with 6 series motherboard, we get an issue where the IMEI device becomes incompatible with macOS. Specifically the device-id won't be recognized and this is a very important issue as macOS relies on the IMEI device for iGPU drivers.\n"),i("ul",[i("li",[e._v("The same applies when mixing Sandy Bridge motherboards with 7 series motherboards")])])]),e._v(" "),i("li",[e._v("An extra issue that may pop up is that the IMEI won't appear in ACPI, which can lead to more issues as macOS expects there to be an ACPI device to apply device-id's. So to resolve, we'll want to verify if we have an IMEI device, and if not create a new device.")])]),e._v(" "),i("h2",{attrs:{id:"methods-to-make-this-ssdt"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#methods-to-make-this-ssdt"}},[e._v("#")]),e._v(" Methods to make this SSDT")]),e._v(" "),i("p",[e._v("For the IMEI fix, there are 2 methods you can choose from:")]),e._v(" "),i("ul",[i("li",[i("RouterLink",{attrs:{to:"/Universal/imei-methods/prebuilt.html"}},[e._v("Prebuilt")]),e._v(" "),i("ul",[i("li",[e._v("The prebuilt are a bit bloated. It's recommended to use the method below.")])])],1),e._v(" "),i("li",[i("RouterLink",{attrs:{to:"/Universal/imei-methods/manual.html"}},[e._v("Manual")])],1)])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{443:function(e,t,i){"use strict";i.r(t);var s=i(25),a=Object(s.a)({},(function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[i("h1",{attrs:{id:"fixing-imei-ssdt-imei"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#fixing-imei-ssdt-imei"}},[e._v("#")]),e._v(" Fixing IMEI (SSDT-IMEI)")]),e._v(" "),i("ul",[i("li",[i("a",{attrs:{href:"#fixing-imei-ssdt-imei"}},[e._v("Fixing IMEI (SSDT-IMEI)")]),e._v(" "),i("ul",[i("li",[i("a",{attrs:{href:"#what-this-ssdt-does"}},[e._v("What this SSDT does")])]),e._v(" "),i("li",[i("a",{attrs:{href:"#methods-to-make-this-ssdt"}},[e._v("Methods to make this SSDT")])])])])]),e._v(" "),i("h2",{attrs:{id:"what-this-ssdt-does"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#what-this-ssdt-does"}},[e._v("#")]),e._v(" What this SSDT does")]),e._v(" "),i("p",[e._v("The purpose of SSDT-IMEI is:")]),e._v(" "),i("ul",[i("li",[e._v("When mixing Ivy Bridge CPUs with 6 series motherboard, we get an issue where the IMEI device becomes incompatible with macOS. Specifically the device-id won't be recognized and this is a very important issue as macOS relies on the IMEI device for iGPU drivers.\n"),i("ul",[i("li",[e._v("The same applies when mixing Sandy Bridge motherboards with 7 series motherboards")])])]),e._v(" "),i("li",[e._v("An extra issue that may pop up is that the IMEI won't appear in ACPI, which can lead to more issues as macOS expects there to be an ACPI device to apply device-id's. So to resolve, we'll want to verify if we have an IMEI device, and if not create a new device.")])]),e._v(" "),i("h2",{attrs:{id:"methods-to-make-this-ssdt"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#methods-to-make-this-ssdt"}},[e._v("#")]),e._v(" Methods to make this SSDT")]),e._v(" "),i("p",[e._v("For the IMEI fix, there are 2 methods you can choose from:")]),e._v(" "),i("ul",[i("li",[i("RouterLink",{attrs:{to:"/Universal/imei-methods/prebuilt.html"}},[e._v("Prebuilt")]),e._v(" "),i("ul",[i("li",[e._v("The prebuilt are a bit bloated. It's recommended to use the method below.")])])],1),e._v(" "),i("li",[i("RouterLink",{attrs:{to:"/Universal/imei-methods/manual.html"}},[e._v("Manual")])],1)])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/45.2a577e82.js b/assets/js/45.57fe1021.js similarity index 90% rename from assets/js/45.2a577e82.js rename to assets/js/45.57fe1021.js index 31f36bb..2dd8389 100644 --- a/assets/js/45.2a577e82.js +++ b/assets/js/45.57fe1021.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{445:function(t,s,e){"use strict";e.r(s);var i=e(25),o=Object(i.a)({},(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"fixing-irq-conflicts-ssdt-hpet-oc-patches-plist"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#fixing-irq-conflicts-ssdt-hpet-oc-patches-plist"}},[t._v("#")]),t._v(" Fixing IRQ Conflicts (SSDT-HPET + OC_Patches.plist)")]),t._v(" "),e("p",[t._v("So you miss having those fancy hot-patches from Clover like FixIPIC, FixTMR, FixRTC, FixHPET, etc")]),t._v(" "),e("p",[t._v("Well 1 very small problem, figuring out IRQ patching is a massive headache. "),e("strong",[t._v("I highly recommend you use SSDTTime")]),t._v(". So head over to "),e("RouterLink",{attrs:{to:"/ssdt-methods/ssdt-easy.html"}},[t._v("SSDT: Easy Way")]),t._v(" on how to make it.(use option "),e("code",[t._v("C")]),t._v(" to omit conflicting legacy IRQs)")],1)])}),[],!1,null,null,null);s.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{444:function(t,s,e){"use strict";e.r(s);var i=e(25),o=Object(i.a)({},(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"fixing-irq-conflicts-ssdt-hpet-oc-patches-plist"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#fixing-irq-conflicts-ssdt-hpet-oc-patches-plist"}},[t._v("#")]),t._v(" Fixing IRQ Conflicts (SSDT-HPET + OC_Patches.plist)")]),t._v(" "),e("p",[t._v("So you miss having those fancy hot-patches from Clover like FixIPIC, FixTMR, FixRTC, FixHPET, etc")]),t._v(" "),e("p",[t._v("Well 1 very small problem, figuring out IRQ patching is a massive headache. "),e("strong",[t._v("I highly recommend you use SSDTTime")]),t._v(". So head over to "),e("RouterLink",{attrs:{to:"/ssdt-methods/ssdt-easy.html"}},[t._v("SSDT: Easy Way")]),t._v(" on how to make it.(use option "),e("code",[t._v("C")]),t._v(" to omit conflicting legacy IRQs)")],1)])}),[],!1,null,null,null);s.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/46.51f713d6.js b/assets/js/46.ad4481ef.js similarity index 95% rename from assets/js/46.51f713d6.js rename to assets/js/46.ad4481ef.js index 42a7e79..b8f6dae 100644 --- a/assets/js/46.51f713d6.js +++ b/assets/js/46.ad4481ef.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{446:function(t,e,a){"use strict";a.r(e);var n=a(25),o=Object(n.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"fixing-nvram-prebuilt"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#fixing-nvram-prebuilt"}},[t._v("#")]),t._v(" Fixing NVRAM: Prebuilt")]),t._v(" "),a("p",[t._v("By far the easiest method, all you need to do is download the following file:")]),t._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-PMC.aml",target:"_blank",rel:"noopener noreferrer"}},[t._v("SSDT-PMC.aml"),a("OutboundLink")],1)])]),t._v(" "),a("p",[t._v("Main things to note with this method:")]),t._v(" "),a("ul",[a("li",[t._v("Bit Bloated\n"),a("ul",[a("li",[t._v("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)")])])]),t._v(" "),a("li",[t._v("Doesn't really teach you anything\n"),a("ul",[a("li",[t._v("For most, this doesn't matter. But to some knowing what makes your hackintosh tick is part of the journey")])])])]),t._v(" "),a("h2",{attrs:{id:"wrapping-up"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[t._v("#")]),t._v(" Wrapping up")]),t._v(" "),a("p",[t._v("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 wrap up:")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/cleanup.html"}},[a("strong",[t._v("Cleanup")])])],1)])])}),[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{447:function(t,e,a){"use strict";a.r(e);var n=a(25),o=Object(n.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"fixing-nvram-prebuilt"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#fixing-nvram-prebuilt"}},[t._v("#")]),t._v(" Fixing NVRAM: Prebuilt")]),t._v(" "),a("p",[t._v("By far the easiest method, all you need to do is download the following file:")]),t._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-PMC.aml",target:"_blank",rel:"noopener noreferrer"}},[t._v("SSDT-PMC.aml"),a("OutboundLink")],1)])]),t._v(" "),a("p",[t._v("Main things to note with this method:")]),t._v(" "),a("ul",[a("li",[t._v("Bit Bloated\n"),a("ul",[a("li",[t._v("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)")])])]),t._v(" "),a("li",[t._v("Doesn't really teach you anything\n"),a("ul",[a("li",[t._v("For most, this doesn't matter. But to some knowing what makes your hackintosh tick is part of the journey")])])])]),t._v(" "),a("h2",{attrs:{id:"wrapping-up"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[t._v("#")]),t._v(" Wrapping up")]),t._v(" "),a("p",[t._v("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 wrap up:")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/cleanup.html"}},[a("strong",[t._v("Cleanup")])])],1)])])}),[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/55.76280eb1.js b/assets/js/55.552c0e09.js similarity index 96% rename from assets/js/55.76280eb1.js rename to assets/js/55.552c0e09.js index a669a7c..b508e00 100644 --- a/assets/js/55.76280eb1.js +++ b/assets/js/55.552c0e09.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[55],{460:function(t,s,e){"use strict";e.r(s);var i=e(25),a=Object(i.a)({},(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"fixing-smbus-support-ssdt-sbus-mchc"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#fixing-smbus-support-ssdt-sbus-mchc"}},[t._v("#")]),t._v(" Fixing SMBus support (SSDT-SBUS-MCHC)")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"#what-this-ssdt-does"}},[t._v("What this SSDT does")])]),t._v(" "),e("li",[e("a",{attrs:{href:"#methods-to-make-this-ssdt"}},[t._v("Methods to make this SSDT")])])]),t._v(" "),e("h2",{attrs:{id:"what-this-ssdt-does"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#what-this-ssdt-does"}},[t._v("#")]),t._v(" What this SSDT does")]),t._v(" "),e("p",[t._v("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:")]),t._v(" "),e("ul",[e("li",[t._v("AppleSMBusController\n"),e("ul",[e("li",[t._v("Aids with correct temperature, fan, voltage, ICH, etc readings")])])]),t._v(" "),e("li",[t._v("AppleSMBusPCI\n"),e("ul",[e("li",[t._v("Same idea as AppleSMBusController except for low bandwidth PCI devices")])])]),t._v(" "),e("li",[t._v("Memory Reporting\n"),e("ul",[e("li",[t._v("Aids in proper memory reporting and can aid in getting better kernel panic details if memory related")])])]),t._v(" "),e("li",[t._v("Other things SMBus does: "),e("a",{attrs:{href:"https://en.wikipedia.org/wiki/System_Management_Bus",target:"_blank",rel:"noopener noreferrer"}},[t._v("SMBus wiki"),e("OutboundLink")],1)])]),t._v(" "),e("p",[t._v("For install purposes, this SSDT isn't needed but for post-install it's recommended to put the final touches on your hack.")]),t._v(" "),e("h2",{attrs:{id:"methods-to-make-this-ssdt"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#methods-to-make-this-ssdt"}},[t._v("#")]),t._v(" Methods to make this SSDT")]),t._v(" "),e("p",[t._v("To make this SSDT, you only got 1 method: Doing it manually")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/Universal/smbus-methods/manual.html"}},[t._v("Manual")])],1)])])}),[],!1,null,null,null);s.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[55],{459:function(t,s,e){"use strict";e.r(s);var i=e(25),a=Object(i.a)({},(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"fixing-smbus-support-ssdt-sbus-mchc"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#fixing-smbus-support-ssdt-sbus-mchc"}},[t._v("#")]),t._v(" Fixing SMBus support (SSDT-SBUS-MCHC)")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"#what-this-ssdt-does"}},[t._v("What this SSDT does")])]),t._v(" "),e("li",[e("a",{attrs:{href:"#methods-to-make-this-ssdt"}},[t._v("Methods to make this SSDT")])])]),t._v(" "),e("h2",{attrs:{id:"what-this-ssdt-does"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#what-this-ssdt-does"}},[t._v("#")]),t._v(" What this SSDT does")]),t._v(" "),e("p",[t._v("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:")]),t._v(" "),e("ul",[e("li",[t._v("AppleSMBusController\n"),e("ul",[e("li",[t._v("Aids with correct temperature, fan, voltage, ICH, etc readings")])])]),t._v(" "),e("li",[t._v("AppleSMBusPCI\n"),e("ul",[e("li",[t._v("Same idea as AppleSMBusController except for low bandwidth PCI devices")])])]),t._v(" "),e("li",[t._v("Memory Reporting\n"),e("ul",[e("li",[t._v("Aids in proper memory reporting and can aid in getting better kernel panic details if memory related")])])]),t._v(" "),e("li",[t._v("Other things SMBus does: "),e("a",{attrs:{href:"https://en.wikipedia.org/wiki/System_Management_Bus",target:"_blank",rel:"noopener noreferrer"}},[t._v("SMBus wiki"),e("OutboundLink")],1)])]),t._v(" "),e("p",[t._v("For install purposes, this SSDT isn't needed but for post-install it's recommended to put the final touches on your hack.")]),t._v(" "),e("h2",{attrs:{id:"methods-to-make-this-ssdt"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#methods-to-make-this-ssdt"}},[t._v("#")]),t._v(" Methods to make this SSDT")]),t._v(" "),e("p",[t._v("To make this SSDT, you only got 1 method: Doing it manually")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/Universal/smbus-methods/manual.html"}},[t._v("Manual")])],1)])])}),[],!1,null,null,null);s.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/59.8e045796.js b/assets/js/59.0f525a48.js similarity index 95% rename from assets/js/59.8e045796.js rename to assets/js/59.0f525a48.js index 2265eb3..ab88bf2 100644 --- a/assets/js/59.8e045796.js +++ b/assets/js/59.0f525a48.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{470:function(e,t,o){"use strict";o.r(t);var n=o(25),i=Object(n.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h1",{attrs:{id:"cleanup"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#cleanup"}},[e._v("#")]),e._v(" Cleanup")]),e._v(" "),o("p",[e._v("So you've made all your SSDTs but now there's one thing left: Adding them to Opencore")]),e._v(" "),o("p",[e._v("The 2 main locations:")]),e._v(" "),o("ul",[o("li",[e._v("EFI/OC/ACPI (Only ."),o("strong",[e._v("aml")]),e._v(" files, reminder to "),o("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("compile your SSDTs")]),e._v(")")],1),e._v(" "),o("li",[e._v("config.plist -> ACPI -> Add")])]),e._v(" "),o("p",[e._v("You can save yourself some work with the config.plist by running Cmd/Ctrl+R in ProperTree. "),o("strong",[e._v("Reminder do not add your DSDT.aml to your EFI")])]),e._v(" "),o("p",[e._v("For those who do not yet have a config.plist, you'll want to next head back to your respective OpenCore guides and create the config.plist:")]),e._v(" "),o("ul",[o("li",[o("a",{attrs:{href:"https://dortania.github.io/OpenCore-Install-Guide/",target:"_blank",rel:"noopener noreferrer"}},[e._v("OpenCore Install guide"),o("OutboundLink")],1)])]),e._v(" "),o("p",[e._v("Users of "),o("code",[e._v("FixHPET")]),e._v(" will also need to merge oc_patches.plist into their config.plist")]),e._v(" "),o("p",[e._v("Steps to do this:")]),e._v(" "),o("ul",[o("li",[e._v("Open both files,")]),e._v(" "),o("li",[e._v("Delete the "),o("code",[e._v("ACPI -> Patch")]),e._v(" section from config.plist")]),e._v(" "),o("li",[e._v("Copy the "),o("code",[e._v("ACPI -> Patch")]),e._v(" section from patches.plist")]),e._v(" "),o("li",[e._v("Paste into where old patches were in config.plist")])])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{464:function(e,t,o){"use strict";o.r(t);var n=o(25),i=Object(n.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h1",{attrs:{id:"cleanup"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#cleanup"}},[e._v("#")]),e._v(" Cleanup")]),e._v(" "),o("p",[e._v("So you've made all your SSDTs but now there's one thing left: Adding them to Opencore")]),e._v(" "),o("p",[e._v("The 2 main locations:")]),e._v(" "),o("ul",[o("li",[e._v("EFI/OC/ACPI (Only ."),o("strong",[e._v("aml")]),e._v(" files, reminder to "),o("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("compile your SSDTs")]),e._v(")")],1),e._v(" "),o("li",[e._v("config.plist -> ACPI -> Add")])]),e._v(" "),o("p",[e._v("You can save yourself some work with the config.plist by running Cmd/Ctrl+R in ProperTree. "),o("strong",[e._v("Reminder do not add your DSDT.aml to your EFI")])]),e._v(" "),o("p",[e._v("For those who do not yet have a config.plist, you'll want to next head back to your respective OpenCore guides and create the config.plist:")]),e._v(" "),o("ul",[o("li",[o("a",{attrs:{href:"https://dortania.github.io/OpenCore-Install-Guide/",target:"_blank",rel:"noopener noreferrer"}},[e._v("OpenCore Install guide"),o("OutboundLink")],1)])]),e._v(" "),o("p",[e._v("Users of "),o("code",[e._v("FixHPET")]),e._v(" will also need to merge oc_patches.plist into their config.plist")]),e._v(" "),o("p",[e._v("Steps to do this:")]),e._v(" "),o("ul",[o("li",[e._v("Open both files,")]),e._v(" "),o("li",[e._v("Delete the "),o("code",[e._v("ACPI -> Patch")]),e._v(" section from config.plist")]),e._v(" "),o("li",[e._v("Copy the "),o("code",[e._v("ACPI -> Patch")]),e._v(" section from patches.plist")]),e._v(" "),o("li",[e._v("Paste into where old patches were in config.plist")])])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/6.ebe90b89.js b/assets/js/6.b24077d5.js similarity index 99% rename from assets/js/6.ebe90b89.js rename to assets/js/6.b24077d5.js index e4faa69..68e3a87 100644 --- a/assets/js/6.ebe90b89.js +++ b/assets/js/6.b24077d5.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{384:function(e,t,a){e.exports=a.p+"assets/img/pnp.8c2387eb.png"},385:function(e,t,a){e.exports=a.p+"assets/img/ec.dd4b7c64.png"},386:function(e,t,a){e.exports=a.p+"assets/img/ssdt-before.b846f355.png"},387:function(e,t,a){e.exports=a.p+"assets/img/ssdt-after.7996c4b7.png"},388:function(e,t,a){e.exports=a.p+"assets/img/sta.e2d0aed0.png"},439:function(e,t,a){"use strict";a.r(t);var s=a(25),r=Object(s.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"fixing-embedded-controllers-manual"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#fixing-embedded-controllers-manual"}},[e._v("#")]),e._v(" Fixing Embedded Controllers: Manual")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#fixing-embedded-controllers-manual"}},[e._v("Fixing Embedded Controllers: Manual")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#finding-the-acpi-path"}},[e._v("Finding the ACPI path")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#dsdt"}},[e._v("DSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#devicemanager"}},[e._v("DeviceManager")])])])]),e._v(" "),s("li",[s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#edge-cases"}},[e._v("Edge Cases")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#multiple-pnp0c09s-show-up"}},[e._v("Multiple PNP0C09's show up")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#no-pnp0c09-show-up"}},[e._v("No PNP0C09 show up")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#pnp0c09-already-named-ec"}},[e._v("PNP0C09 already named "),s("code",[e._v("EC")])])]),e._v(" "),s("li",[s("a",{attrs:{href:"#pnp0c09-already-has-an-_sta-method"}},[e._v("PNP0C09 already has an "),s("code",[e._v("_STA")]),e._v(" method")])])])]),e._v(" "),s("li",[s("a",{attrs:{href:"#compiling-the-ssdt"}},[e._v("Compiling the SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#wrapping-up"}},[e._v("Wrapping up")])])])])]),e._v(" "),s("p",[e._v("TO-DO:")]),e._v(" "),s("ul",[s("li",[e._v("Finish Edge cases and sample SSDT edits")])]),e._v(" "),s("h2",{attrs:{id:"finding-the-acpi-path"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path"}},[e._v("#")]),e._v(" Finding the ACPI path")]),e._v(" "),s("p",[e._v("To find the ACPI pathing, you have 2 methods:")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#DSDT"}},[e._v("DSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#devicemanager"}},[e._v("DeviceManager")])])]),e._v(" "),s("h3",{attrs:{id:"dsdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#dsdt"}},[e._v("#")]),e._v(" DSDT")]),e._v(" "),s("p",[e._v("Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from "),s("RouterLink",{attrs:{to:"/Manual/dump.html"}},[e._v("Dumping the DSDT")]),e._v(" and "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("Decompiling and Compiling")]),e._v(" with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an "),s("a",{attrs:{href:"https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl",target:"_blank",rel:"noopener noreferrer"}},[e._v("ACPI extension"),s("OutboundLink")],1),e._v(" that can also help).")],1),e._v(" "),s("p",[e._v("Next, search for "),s("code",[e._v("PNP0C09")]),e._v(". You should get something similar:")]),e._v(" "),s("p",[s("img",{attrs:{src:a(384),alt:""}})]),e._v(" "),s("p",[e._v("From the above example we see 2 main things:")]),e._v(" "),s("ul",[s("li",[e._v("Name of our embedded controller\n"),s("ul",[s("li",[e._v("In this case being "),s("code",[e._v("EC0")])])])]),e._v(" "),s("li",[e._v("Pathing of our embedded controller\n"),s("ul",[s("li",[s("code",[e._v("PC00.LPC0")])])])])]),e._v(" "),s("p",[e._v("But now we get into edge case territory, what fun!")]),e._v(" "),s("p",[e._v("The main ones to check for are:")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#fixing-embedded-controllers-manual"}},[e._v("Fixing Embedded Controllers: Manual")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#finding-the-acpi-path"}},[e._v("Finding the ACPI path")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#dsdt"}},[e._v("DSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#devicemanager"}},[e._v("DeviceManager")])])])]),e._v(" "),s("li",[s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#edge-cases"}},[e._v("Edge Cases")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#multiple-pnp0c09s-show-up"}},[e._v("Multiple PNP0C09's show up")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#no-pnp0c09-show-up"}},[e._v("No PNP0C09 show up")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#pnp0c09-already-named-ec"}},[e._v("PNP0C09 already named "),s("code",[e._v("EC")])])]),e._v(" "),s("li",[s("a",{attrs:{href:"#pnp0c09-already-has-an-_sta-method"}},[e._v("PNP0C09 already has an "),s("code",[e._v("_STA")]),e._v(" method")])])])]),e._v(" "),s("li",[s("a",{attrs:{href:"#compiling-the-ssdt"}},[e._v("Compiling the SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#wrapping-up"}},[e._v("Wrapping up")])])])])]),e._v(" "),s("p",[e._v("If none of the above apply to you, you're ready for the next section:")]),e._v(" "),s("h3",{attrs:{id:"devicemanager"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#devicemanager"}},[e._v("#")]),e._v(" DeviceManager")]),e._v(" "),s("p",[e._v("If you already have Windows installed on this machine, finding the EC pathing is fairly easy.")]),e._v(" "),s("p",[e._v("Start by opening up Device Manager in Windows and looking for a device named "),s("code",[e._v("Embedded Controller")]),e._v(". Once found, click on it and select the "),s("code",[e._v("BIOS device Name")]),e._v(" entry. You should get something like this:")]),e._v(" "),s("p",[s("img",{attrs:{src:a(385),alt:""}})]),e._v(" "),s("p",[e._v("From the above, we can see that our pathing is "),s("code",[e._v("SB.PC00.LPC0.EC0")])]),e._v(" "),s("p",[e._v("Now with the pathing, you can head here: "),s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),s("h2",{attrs:{id:"edits-to-the-sample-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("#")]),e._v(" Edits to the sample SSDT")]),e._v(" "),s("p",[e._v("Now that we have our ACPI path, lets grab our SSDT and get to work:")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-EC-USBX.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-EC-USBX"),s("OutboundLink")],1),e._v(" "),s("ul",[s("li",[e._v("For Skylake and newer and all AMD systems")])])]),e._v(" "),s("li",[s("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-EC.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-EC"),s("OutboundLink")],1),e._v(" "),s("ul",[s("li",[e._v("For Broadwell and older")])])])]),e._v(" "),s("p",[e._v("Now when opening this SSDT, you'll notice a few things. Mainly:")]),e._v(" "),s("ul",[s("li",[e._v("Some code is commented out\n"),s("ul",[s("li",[e._v("This is code for disabling our EC")]),e._v(" "),s("li",[e._v("Laptops users "),s("strong",[e._v("SHOULD NOT")]),e._v(" uncomment this")])])]),e._v(" "),s("li",[e._v("There's a new EC called "),s("code",[e._v("Device (EC)")]),e._v(" "),s("ul",[s("li",[s("strong",[e._v("DO NOT RENAME THIS")]),e._v(", this will be the EC we give to macOS")])])])]),e._v(" "),s("p",[s("strong",[e._v("Before")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("External (_SB_.PCI0.LPCB, DeviceObj) <- Rename this\n\nScope (_SB.PCI0.LPCB) <- Rename this\n")])])]),s("p",[s("img",{attrs:{src:a(386),alt:""}})]),e._v(" "),s("p",[e._v("Following the example pathing we found, the SSDT should look something like this:")]),e._v(" "),s("p",[s("strong",[e._v("After")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("External (_SB_.PC00.LPC0, DeviceObj) <- Renamed\n\nScope (_SB.PC00.LPC0) <- Renamed\n")])])]),s("p",[s("img",{attrs:{src:a(387),alt:""}})]),e._v(" "),s("h2",{attrs:{id:"edge-cases"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#edge-cases"}},[e._v("#")]),e._v(" Edge Cases")]),e._v(" "),s("h3",{attrs:{id:"multiple-pnp0c09-s-show-up"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#multiple-pnp0c09-s-show-up"}},[e._v("#")]),e._v(" Multiple PNP0C09's show up")]),e._v(" "),s("p",[e._v("When multiple PNP0C09 show up, we need to next check for the following properties:")]),e._v(" "),s("ul",[s("li",[s("code",[e._v("_HID")]),e._v(" (Hardware ID)")]),e._v(" "),s("li",[s("code",[e._v("_CRS")]),e._v(" (Current Resource Settings)")]),e._v(" "),s("li",[s("code",[e._v("_GPE")]),e._v(" (General Purpose Events)")])]),e._v(" "),s("p",[e._v("What these signify is whether this PNP0C09 device is real or not, as per the "),s("a",{attrs:{href:"https://uefi.org/sites/default/files/resources/ACPI_6_3_final_Jan30.pdf",target:"_blank",rel:"noopener noreferrer"}},[e._v("ACPI spec"),s("OutboundLink")],1),e._v(". So one's matching the above criteria are the one's we want to disable.")]),e._v(" "),s("ul",[s("li",[e._v("Note: If _STA shows up as well, you'll need to go here: "),s("a",{attrs:{href:"#pnp0c09-already-has-an-sta-method"}},[e._v("PNP0C09 already has an "),s("code",[e._v("_STA")]),e._v(" method")])])]),e._v(" "),s("h3",{attrs:{id:"no-pnp0c09-show-up"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#no-pnp0c09-show-up"}},[e._v("#")]),e._v(" No PNP0C09 show up")]),e._v(" "),s("p",[e._v('When this happens, you\'ll only need to create a "dummy" EC for macOS.')]),e._v(" "),s("p",[e._v('Try searching for any devices named: "LPCB", "LPC0", "LPC", "SBRG", "PX40". If you have any of these, try using the LPC pathing of each of those device in place of the Embedded Controller\'s pathing.')]),e._v(" "),s("p",[e._v("Note that "),s("strong",[e._v("DO NOT")]),e._v(' uncomment the EC disaling code as there are no devices that are considered "EC" in your machine.')]),e._v(" "),s("h3",{attrs:{id:"pnp0c09-already-named-ec"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#pnp0c09-already-named-ec"}},[e._v("#")]),e._v(" PNP0C09 already named "),s("code",[e._v("EC")])]),e._v(" "),s("p",[e._v("Congrats! No need to create an SSDT-EC! However you will still want USBX if you're skylake or newer.")]),e._v(" "),s("p",[e._v("Prebuilt can be grabbed here: "),s("a",{attrs:{href:"https://github.com/dortania/OpenCore-Post-Install/blob/master/extra-files/SSDT-USBX.aml",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-USBX.aml"),s("OutboundLink")],1)]),e._v(" "),s("h3",{attrs:{id:"pnp0c09-already-has-an-sta-method"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#pnp0c09-already-has-an-sta-method"}},[e._v("#")]),e._v(" PNP0C09 already has an "),s("code",[e._v("_STA")]),e._v(" method")]),e._v(" "),s("p",[e._v("This is the equivalent of not having an EC as we can't control it with our SSDT-EC, instead we'll need to create a \"dummy\" EC for macOS. You'll still want to find the PCI and LPC pathing for this device. So follow the guide as if you were creating a laptop SSDT-EC/USBX.")]),e._v(" "),s("p",[e._v("Example of an EC with STA already:")]),e._v(" "),s("p",[s("img",{attrs:{src:a(388),alt:"Credit to rottenpants466"}})]),e._v(" "),s("h2",{attrs:{id:"compiling-the-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[e._v("#")]),e._v(" Compiling the SSDT")]),e._v(" "),s("p",[e._v("With the SSDT done, you're now "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("ready to compile the SSDT!")])],1),e._v(" "),s("h2",{attrs:{id:"wrapping-up"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[e._v("#")]),e._v(" Wrapping up")]),e._v(" "),s("p",[e._v("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 wrap up:")]),e._v(" "),s("ul",[s("li",[s("RouterLink",{attrs:{to:"/cleanup.html"}},[s("strong",[e._v("Cleanup")])])],1)])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{384:function(e,t,a){e.exports=a.p+"assets/img/pnp.8c2387eb.png"},385:function(e,t,a){e.exports=a.p+"assets/img/ec.dd4b7c64.png"},386:function(e,t,a){e.exports=a.p+"assets/img/ssdt-before.b846f355.png"},387:function(e,t,a){e.exports=a.p+"assets/img/ssdt-after.7996c4b7.png"},388:function(e,t,a){e.exports=a.p+"assets/img/sta.e2d0aed0.png"},438:function(e,t,a){"use strict";a.r(t);var s=a(25),r=Object(s.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"fixing-embedded-controllers-manual"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#fixing-embedded-controllers-manual"}},[e._v("#")]),e._v(" Fixing Embedded Controllers: Manual")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#fixing-embedded-controllers-manual"}},[e._v("Fixing Embedded Controllers: Manual")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#finding-the-acpi-path"}},[e._v("Finding the ACPI path")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#dsdt"}},[e._v("DSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#devicemanager"}},[e._v("DeviceManager")])])])]),e._v(" "),s("li",[s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#edge-cases"}},[e._v("Edge Cases")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#multiple-pnp0c09s-show-up"}},[e._v("Multiple PNP0C09's show up")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#no-pnp0c09-show-up"}},[e._v("No PNP0C09 show up")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#pnp0c09-already-named-ec"}},[e._v("PNP0C09 already named "),s("code",[e._v("EC")])])]),e._v(" "),s("li",[s("a",{attrs:{href:"#pnp0c09-already-has-an-_sta-method"}},[e._v("PNP0C09 already has an "),s("code",[e._v("_STA")]),e._v(" method")])])])]),e._v(" "),s("li",[s("a",{attrs:{href:"#compiling-the-ssdt"}},[e._v("Compiling the SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#wrapping-up"}},[e._v("Wrapping up")])])])])]),e._v(" "),s("p",[e._v("TO-DO:")]),e._v(" "),s("ul",[s("li",[e._v("Finish Edge cases and sample SSDT edits")])]),e._v(" "),s("h2",{attrs:{id:"finding-the-acpi-path"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path"}},[e._v("#")]),e._v(" Finding the ACPI path")]),e._v(" "),s("p",[e._v("To find the ACPI pathing, you have 2 methods:")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#DSDT"}},[e._v("DSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#devicemanager"}},[e._v("DeviceManager")])])]),e._v(" "),s("h3",{attrs:{id:"dsdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#dsdt"}},[e._v("#")]),e._v(" DSDT")]),e._v(" "),s("p",[e._v("Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from "),s("RouterLink",{attrs:{to:"/Manual/dump.html"}},[e._v("Dumping the DSDT")]),e._v(" and "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("Decompiling and Compiling")]),e._v(" with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an "),s("a",{attrs:{href:"https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl",target:"_blank",rel:"noopener noreferrer"}},[e._v("ACPI extension"),s("OutboundLink")],1),e._v(" that can also help).")],1),e._v(" "),s("p",[e._v("Next, search for "),s("code",[e._v("PNP0C09")]),e._v(". You should get something similar:")]),e._v(" "),s("p",[s("img",{attrs:{src:a(384),alt:""}})]),e._v(" "),s("p",[e._v("From the above example we see 2 main things:")]),e._v(" "),s("ul",[s("li",[e._v("Name of our embedded controller\n"),s("ul",[s("li",[e._v("In this case being "),s("code",[e._v("EC0")])])])]),e._v(" "),s("li",[e._v("Pathing of our embedded controller\n"),s("ul",[s("li",[s("code",[e._v("PC00.LPC0")])])])])]),e._v(" "),s("p",[e._v("But now we get into edge case territory, what fun!")]),e._v(" "),s("p",[e._v("The main ones to check for are:")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#fixing-embedded-controllers-manual"}},[e._v("Fixing Embedded Controllers: Manual")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#finding-the-acpi-path"}},[e._v("Finding the ACPI path")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#dsdt"}},[e._v("DSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#devicemanager"}},[e._v("DeviceManager")])])])]),e._v(" "),s("li",[s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#edge-cases"}},[e._v("Edge Cases")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#multiple-pnp0c09s-show-up"}},[e._v("Multiple PNP0C09's show up")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#no-pnp0c09-show-up"}},[e._v("No PNP0C09 show up")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#pnp0c09-already-named-ec"}},[e._v("PNP0C09 already named "),s("code",[e._v("EC")])])]),e._v(" "),s("li",[s("a",{attrs:{href:"#pnp0c09-already-has-an-_sta-method"}},[e._v("PNP0C09 already has an "),s("code",[e._v("_STA")]),e._v(" method")])])])]),e._v(" "),s("li",[s("a",{attrs:{href:"#compiling-the-ssdt"}},[e._v("Compiling the SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#wrapping-up"}},[e._v("Wrapping up")])])])])]),e._v(" "),s("p",[e._v("If none of the above apply to you, you're ready for the next section:")]),e._v(" "),s("h3",{attrs:{id:"devicemanager"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#devicemanager"}},[e._v("#")]),e._v(" DeviceManager")]),e._v(" "),s("p",[e._v("If you already have Windows installed on this machine, finding the EC pathing is fairly easy.")]),e._v(" "),s("p",[e._v("Start by opening up Device Manager in Windows and looking for a device named "),s("code",[e._v("Embedded Controller")]),e._v(". Once found, click on it and select the "),s("code",[e._v("BIOS device Name")]),e._v(" entry. You should get something like this:")]),e._v(" "),s("p",[s("img",{attrs:{src:a(385),alt:""}})]),e._v(" "),s("p",[e._v("From the above, we can see that our pathing is "),s("code",[e._v("SB.PC00.LPC0.EC0")])]),e._v(" "),s("p",[e._v("Now with the pathing, you can head here: "),s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),s("h2",{attrs:{id:"edits-to-the-sample-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("#")]),e._v(" Edits to the sample SSDT")]),e._v(" "),s("p",[e._v("Now that we have our ACPI path, lets grab our SSDT and get to work:")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-EC-USBX.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-EC-USBX"),s("OutboundLink")],1),e._v(" "),s("ul",[s("li",[e._v("For Skylake and newer and all AMD systems")])])]),e._v(" "),s("li",[s("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-EC.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-EC"),s("OutboundLink")],1),e._v(" "),s("ul",[s("li",[e._v("For Broadwell and older")])])])]),e._v(" "),s("p",[e._v("Now when opening this SSDT, you'll notice a few things. Mainly:")]),e._v(" "),s("ul",[s("li",[e._v("Some code is commented out\n"),s("ul",[s("li",[e._v("This is code for disabling our EC")]),e._v(" "),s("li",[e._v("Laptops users "),s("strong",[e._v("SHOULD NOT")]),e._v(" uncomment this")])])]),e._v(" "),s("li",[e._v("There's a new EC called "),s("code",[e._v("Device (EC)")]),e._v(" "),s("ul",[s("li",[s("strong",[e._v("DO NOT RENAME THIS")]),e._v(", this will be the EC we give to macOS")])])])]),e._v(" "),s("p",[s("strong",[e._v("Before")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("External (_SB_.PCI0.LPCB, DeviceObj) <- Rename this\n\nScope (_SB.PCI0.LPCB) <- Rename this\n")])])]),s("p",[s("img",{attrs:{src:a(386),alt:""}})]),e._v(" "),s("p",[e._v("Following the example pathing we found, the SSDT should look something like this:")]),e._v(" "),s("p",[s("strong",[e._v("After")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("External (_SB_.PC00.LPC0, DeviceObj) <- Renamed\n\nScope (_SB.PC00.LPC0) <- Renamed\n")])])]),s("p",[s("img",{attrs:{src:a(387),alt:""}})]),e._v(" "),s("h2",{attrs:{id:"edge-cases"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#edge-cases"}},[e._v("#")]),e._v(" Edge Cases")]),e._v(" "),s("h3",{attrs:{id:"multiple-pnp0c09-s-show-up"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#multiple-pnp0c09-s-show-up"}},[e._v("#")]),e._v(" Multiple PNP0C09's show up")]),e._v(" "),s("p",[e._v("When multiple PNP0C09 show up, we need to next check for the following properties:")]),e._v(" "),s("ul",[s("li",[s("code",[e._v("_HID")]),e._v(" (Hardware ID)")]),e._v(" "),s("li",[s("code",[e._v("_CRS")]),e._v(" (Current Resource Settings)")]),e._v(" "),s("li",[s("code",[e._v("_GPE")]),e._v(" (General Purpose Events)")])]),e._v(" "),s("p",[e._v("What these signify is whether this PNP0C09 device is real or not, as per the "),s("a",{attrs:{href:"https://uefi.org/sites/default/files/resources/ACPI_6_3_final_Jan30.pdf",target:"_blank",rel:"noopener noreferrer"}},[e._v("ACPI spec"),s("OutboundLink")],1),e._v(". So one's matching the above criteria are the one's we want to disable.")]),e._v(" "),s("ul",[s("li",[e._v("Note: If _STA shows up as well, you'll need to go here: "),s("a",{attrs:{href:"#pnp0c09-already-has-an-sta-method"}},[e._v("PNP0C09 already has an "),s("code",[e._v("_STA")]),e._v(" method")])])]),e._v(" "),s("h3",{attrs:{id:"no-pnp0c09-show-up"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#no-pnp0c09-show-up"}},[e._v("#")]),e._v(" No PNP0C09 show up")]),e._v(" "),s("p",[e._v('When this happens, you\'ll only need to create a "dummy" EC for macOS.')]),e._v(" "),s("p",[e._v('Try searching for any devices named: "LPCB", "LPC0", "LPC", "SBRG", "PX40". If you have any of these, try using the LPC pathing of each of those device in place of the Embedded Controller\'s pathing.')]),e._v(" "),s("p",[e._v("Note that "),s("strong",[e._v("DO NOT")]),e._v(' uncomment the EC disaling code as there are no devices that are considered "EC" in your machine.')]),e._v(" "),s("h3",{attrs:{id:"pnp0c09-already-named-ec"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#pnp0c09-already-named-ec"}},[e._v("#")]),e._v(" PNP0C09 already named "),s("code",[e._v("EC")])]),e._v(" "),s("p",[e._v("Congrats! No need to create an SSDT-EC! However you will still want USBX if you're skylake or newer.")]),e._v(" "),s("p",[e._v("Prebuilt can be grabbed here: "),s("a",{attrs:{href:"https://github.com/dortania/OpenCore-Post-Install/blob/master/extra-files/SSDT-USBX.aml",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-USBX.aml"),s("OutboundLink")],1)]),e._v(" "),s("h3",{attrs:{id:"pnp0c09-already-has-an-sta-method"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#pnp0c09-already-has-an-sta-method"}},[e._v("#")]),e._v(" PNP0C09 already has an "),s("code",[e._v("_STA")]),e._v(" method")]),e._v(" "),s("p",[e._v("This is the equivalent of not having an EC as we can't control it with our SSDT-EC, instead we'll need to create a \"dummy\" EC for macOS. You'll still want to find the PCI and LPC pathing for this device. So follow the guide as if you were creating a laptop SSDT-EC/USBX.")]),e._v(" "),s("p",[e._v("Example of an EC with STA already:")]),e._v(" "),s("p",[s("img",{attrs:{src:a(388),alt:"Credit to rottenpants466"}})]),e._v(" "),s("h2",{attrs:{id:"compiling-the-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[e._v("#")]),e._v(" Compiling the SSDT")]),e._v(" "),s("p",[e._v("With the SSDT done, you're now "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("ready to compile the SSDT!")])],1),e._v(" "),s("h2",{attrs:{id:"wrapping-up"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[e._v("#")]),e._v(" Wrapping up")]),e._v(" "),s("p",[e._v("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 wrap up:")]),e._v(" "),s("ul",[s("li",[s("RouterLink",{attrs:{to:"/cleanup.html"}},[s("strong",[e._v("Cleanup")])])],1)])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/60.a9422b6b.js b/assets/js/60.c576719a.js similarity index 92% rename from assets/js/60.a9422b6b.js rename to assets/js/60.c576719a.js index 9c4f2c1..91d0762 100644 --- a/assets/js/60.a9422b6b.js +++ b/assets/js/60.c576719a.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[60],{464:function(e,t,s){"use strict";s.r(t);var a=s(25),o=Object(a.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"ssdts-the-long-way"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ssdts-the-long-way"}},[e._v("#")]),e._v(" SSDTs: The long way")]),e._v(" "),s("p",[e._v("Well sadly some things are not handled by SSDTTime, well have no fear as making SSDTs is super easy. The basic process:")]),e._v(" "),s("ul",[s("li",[e._v("Dump DSDT(the one SSDTTime did for use will work)")]),e._v(" "),s("li",[e._v("Decompile DSDT")]),e._v(" "),s("li",[e._v("Make SSDTs based of of it(You'll need either MaciASL or a text editor for this)")]),e._v(" "),s("li",[e._v("Compile SSDTs")])]),e._v(" "),s("p",[e._v("Now continue forth and master the ways of ACPI!")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[60],{470:function(e,t,s){"use strict";s.r(t);var a=s(25),o=Object(a.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"ssdts-the-long-way"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ssdts-the-long-way"}},[e._v("#")]),e._v(" SSDTs: The long way")]),e._v(" "),s("p",[e._v("Well sadly some things are not handled by SSDTTime, well have no fear as making SSDTs is super easy. The basic process:")]),e._v(" "),s("ul",[s("li",[e._v("Dump DSDT(the one SSDTTime did for use will work)")]),e._v(" "),s("li",[e._v("Decompile DSDT")]),e._v(" "),s("li",[e._v("Make SSDTs based of of it(You'll need either MaciASL or a text editor for this)")]),e._v(" "),s("li",[e._v("Compile SSDTs")])]),e._v(" "),s("p",[e._v("Now continue forth and master the ways of ACPI!")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/9.9c96f245.js b/assets/js/9.ecc14e9f.js similarity index 98% rename from assets/js/9.9c96f245.js rename to assets/js/9.ecc14e9f.js index 6be207f..162dd40 100644 --- a/assets/js/9.9c96f245.js +++ b/assets/js/9.ecc14e9f.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{317:function(t,e,a){t.exports=a.p+"assets/img/lpc.bfa9cf23.png"},318:function(t,e,a){t.exports=a.p+"assets/img/pci0.4477f361.png"},389:function(t,e,a){t.exports=a.p+"assets/img/ssdt-before.6ddf7dfa.png"},390:function(t,e,a){t.exports=a.p+"assets/img/ssdt-after.971e8c4d.png"},447:function(t,e,a){"use strict";a.r(e);var i=a(25),s=Object(i.a)({},(function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[i("h1",{attrs:{id:"fixing-nvram-manual"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#fixing-nvram-manual"}},[t._v("#")]),t._v(" Fixing NVRAM: Manual")]),t._v(" "),i("ul",[i("li",[i("a",{attrs:{href:"#finding-the-acpi-path"}},[t._v("Finding the ACPI path")])]),t._v(" "),i("li",[i("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("Edits to the sample SSDT")])]),t._v(" "),i("li",[i("a",{attrs:{href:"#compiling-the-ssdt"}},[t._v("Compiling the SSDT")])]),t._v(" "),i("li",[i("a",{attrs:{href:"#wrapping-up"}},[t._v("Wrapping up")])])]),t._v(" "),i("h2",{attrs:{id:"finding-the-acpi-path"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path"}},[t._v("#")]),t._v(" Finding the ACPI path")]),t._v(" "),i("p",[t._v("Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from "),i("RouterLink",{attrs:{to:"/Manual/dump.html"}},[t._v("Dumping the DSDT")]),t._v(" and "),i("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("Decompiling and Compiling")]),t._v(" with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an "),i("a",{attrs:{href:"https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl",target:"_blank",rel:"noopener noreferrer"}},[t._v("ACPI extension"),i("OutboundLink")],1),t._v(" that can also help).")],1),t._v(" "),i("p",[t._v("Next, search for the following:")]),t._v(" "),i("ul",[i("li",[t._v("Finding the LowPinCount path:\n"),i("ul",[i("li",[t._v("Search "),i("code",[t._v("Name (_ADR, 0x001F0000)")])])])]),t._v(" "),i("li",[t._v("Finding the PCI path:\n"),i("ul",[i("li",[t._v("Search "),i("code",[t._v("PNP0A08")]),t._v(" (If multiple show up, use the first one)")])])])]),t._v(" "),i("p",[t._v("You should get something like the following show up:")]),t._v(" "),i("table",[i("thead",[i("tr",[i("th",{staticStyle:{"text-align":"center"}},[t._v("LPC Pathing")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("PCI Pathing")])])]),t._v(" "),i("tbody",[i("tr",[i("td",{staticStyle:{"text-align":"center"}},[i("img",{attrs:{src:a(317),alt:""}})]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[i("img",{attrs:{src:a(318),alt:""}})])])])]),t._v(" "),i("p",[t._v("Now with the pathing, you can head here: "),i("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("Edits to the sample SSDT")])]),t._v(" "),i("h2",{attrs:{id:"edits-to-the-sample-ssdt"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("#")]),t._v(" Edits to the sample SSDT")]),t._v(" "),i("p",[t._v("Now that we have our ACPI path, lets grab our SSDT and get to work:")]),t._v(" "),i("ul",[i("li",[i("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PMC.dsl",target:"_blank",rel:"noopener noreferrer"}},[t._v("SSDT-PMC.dsl"),i("OutboundLink")],1)])]),t._v(" "),i("p",[t._v("By default, this uses "),i("code",[t._v("PCI0.LPCB")]),t._v(" for the pathing. you'll want to rename accordingly.")]),t._v(" "),i("p",[t._v("Following the example from above, we'll be renaming it to "),i("code",[t._v("PCI0.LPC")]),t._v(":")]),t._v(" "),i("p",[i("strong",[t._v("Before")]),t._v(":")]),t._v(" "),i("div",{staticClass:"language- extra-class"},[i("pre",{pre:!0,attrs:{class:"language-text"}},[i("code",[t._v("External (_SB_.PCI0.LPCB, DeviceObj) <- Rename this\n\nScope (_SB.PCI0.LPCB) <- Rename this\n")])])]),i("p",[i("img",{attrs:{src:a(389),alt:""}})]),t._v(" "),i("p",[t._v("Following the example pathing we found, the SSDT should look something like this:")]),t._v(" "),i("p",[i("strong",[t._v("After")]),t._v(":")]),t._v(" "),i("div",{staticClass:"language- extra-class"},[i("pre",{pre:!0,attrs:{class:"language-text"}},[i("code",[t._v("External (_SB_.PCI0.LPC, DeviceObj) <- Renamed\n\nScope (_SB.PCI0.LPC) <- Renamed\n")])])]),i("p",[i("img",{attrs:{src:a(390),alt:""}})]),t._v(" "),i("h2",{attrs:{id:"compiling-the-ssdt"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[t._v("#")]),t._v(" Compiling the SSDT")]),t._v(" "),i("p",[t._v("With the SSDT done, you're now "),i("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("ready to compile the SSDT!")])],1),t._v(" "),i("h2",{attrs:{id:"wrapping-up"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[t._v("#")]),t._v(" Wrapping up")]),t._v(" "),i("p",[t._v("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 wrap up:")]),t._v(" "),i("ul",[i("li",[i("RouterLink",{attrs:{to:"/cleanup.html"}},[i("strong",[t._v("Cleanup")])])],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{317:function(t,e,a){t.exports=a.p+"assets/img/lpc.bfa9cf23.png"},318:function(t,e,a){t.exports=a.p+"assets/img/pci0.4477f361.png"},389:function(t,e,a){t.exports=a.p+"assets/img/ssdt-before.6ddf7dfa.png"},390:function(t,e,a){t.exports=a.p+"assets/img/ssdt-after.971e8c4d.png"},446:function(t,e,a){"use strict";a.r(e);var i=a(25),s=Object(i.a)({},(function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[i("h1",{attrs:{id:"fixing-nvram-manual"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#fixing-nvram-manual"}},[t._v("#")]),t._v(" Fixing NVRAM: Manual")]),t._v(" "),i("ul",[i("li",[i("a",{attrs:{href:"#finding-the-acpi-path"}},[t._v("Finding the ACPI path")])]),t._v(" "),i("li",[i("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("Edits to the sample SSDT")])]),t._v(" "),i("li",[i("a",{attrs:{href:"#compiling-the-ssdt"}},[t._v("Compiling the SSDT")])]),t._v(" "),i("li",[i("a",{attrs:{href:"#wrapping-up"}},[t._v("Wrapping up")])])]),t._v(" "),i("h2",{attrs:{id:"finding-the-acpi-path"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path"}},[t._v("#")]),t._v(" Finding the ACPI path")]),t._v(" "),i("p",[t._v("Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from "),i("RouterLink",{attrs:{to:"/Manual/dump.html"}},[t._v("Dumping the DSDT")]),t._v(" and "),i("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("Decompiling and Compiling")]),t._v(" with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an "),i("a",{attrs:{href:"https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl",target:"_blank",rel:"noopener noreferrer"}},[t._v("ACPI extension"),i("OutboundLink")],1),t._v(" that can also help).")],1),t._v(" "),i("p",[t._v("Next, search for the following:")]),t._v(" "),i("ul",[i("li",[t._v("Finding the LowPinCount path:\n"),i("ul",[i("li",[t._v("Search "),i("code",[t._v("Name (_ADR, 0x001F0000)")])])])]),t._v(" "),i("li",[t._v("Finding the PCI path:\n"),i("ul",[i("li",[t._v("Search "),i("code",[t._v("PNP0A08")]),t._v(" (If multiple show up, use the first one)")])])])]),t._v(" "),i("p",[t._v("You should get something like the following show up:")]),t._v(" "),i("table",[i("thead",[i("tr",[i("th",{staticStyle:{"text-align":"center"}},[t._v("LPC Pathing")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("PCI Pathing")])])]),t._v(" "),i("tbody",[i("tr",[i("td",{staticStyle:{"text-align":"center"}},[i("img",{attrs:{src:a(317),alt:""}})]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[i("img",{attrs:{src:a(318),alt:""}})])])])]),t._v(" "),i("p",[t._v("Now with the pathing, you can head here: "),i("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("Edits to the sample SSDT")])]),t._v(" "),i("h2",{attrs:{id:"edits-to-the-sample-ssdt"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("#")]),t._v(" Edits to the sample SSDT")]),t._v(" "),i("p",[t._v("Now that we have our ACPI path, lets grab our SSDT and get to work:")]),t._v(" "),i("ul",[i("li",[i("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PMC.dsl",target:"_blank",rel:"noopener noreferrer"}},[t._v("SSDT-PMC.dsl"),i("OutboundLink")],1)])]),t._v(" "),i("p",[t._v("By default, this uses "),i("code",[t._v("PCI0.LPCB")]),t._v(" for the pathing. you'll want to rename accordingly.")]),t._v(" "),i("p",[t._v("Following the example from above, we'll be renaming it to "),i("code",[t._v("PCI0.LPC")]),t._v(":")]),t._v(" "),i("p",[i("strong",[t._v("Before")]),t._v(":")]),t._v(" "),i("div",{staticClass:"language- extra-class"},[i("pre",{pre:!0,attrs:{class:"language-text"}},[i("code",[t._v("External (_SB_.PCI0.LPCB, DeviceObj) <- Rename this\n\nScope (_SB.PCI0.LPCB) <- Rename this\n")])])]),i("p",[i("img",{attrs:{src:a(389),alt:""}})]),t._v(" "),i("p",[t._v("Following the example pathing we found, the SSDT should look something like this:")]),t._v(" "),i("p",[i("strong",[t._v("After")]),t._v(":")]),t._v(" "),i("div",{staticClass:"language- extra-class"},[i("pre",{pre:!0,attrs:{class:"language-text"}},[i("code",[t._v("External (_SB_.PCI0.LPC, DeviceObj) <- Renamed\n\nScope (_SB.PCI0.LPC) <- Renamed\n")])])]),i("p",[i("img",{attrs:{src:a(390),alt:""}})]),t._v(" "),i("h2",{attrs:{id:"compiling-the-ssdt"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[t._v("#")]),t._v(" Compiling the SSDT")]),t._v(" "),i("p",[t._v("With the SSDT done, you're now "),i("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("ready to compile the SSDT!")])],1),t._v(" "),i("h2",{attrs:{id:"wrapping-up"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[t._v("#")]),t._v(" Wrapping up")]),t._v(" "),i("p",[t._v("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 wrap up:")]),t._v(" "),i("ul",[i("li",[i("RouterLink",{attrs:{to:"/cleanup.html"}},[i("strong",[t._v("Cleanup")])])],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/app.501e4866.js b/assets/js/app.ec085b12.js similarity index 93% rename from assets/js/app.501e4866.js rename to assets/js/app.ec085b12.js index 19e8dca..b2d4323 100644 --- a/assets/js/app.501e4866.js +++ b/assets/js/app.ec085b12.js @@ -1,9 +1,9 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(t){function e(e){for(var r,a,s=e[0],u=e[1],c=e[2],f=0,p=[];f0?o(r(t),9007199254740991):0}},function(t,e){var n=Array.isArray;t.exports=n},function(t,e,n){var r=n(33),o=n(20);t.exports=function(t){return r(o(t))}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(144),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();t.exports=i},function(t,e,n){var r=n(5),o=n(1),i=n(6),a=Object.defineProperty,s={},u=function(t){throw t};t.exports=function(t,e){if(i(s,t))return s[t];e||(e={});var n=[][t],c=!!i(e,"ACCESSORS")&&e.ACCESSORS,l=i(e,0)?e[0]:u,f=i(e,1)?e[1]:void 0;return s[t]=!!n&&!o((function(){if(c&&!r)return!0;var t={length:-1};c?a(t,1,{enumerable:!0,get:u}):t[1]=1,n.call(t,l,f)}))}},function(t,e,n){var r=n(116),o=n(2),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?i(r[t])||i(o[t]):r[t]&&r[t][e]||o[t]&&o[t][e]}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){t.exports=!1},function(t,e,n){var r=n(5),o=n(80),i=n(35),a=n(15),s=n(34),u=n(6),c=n(111),l=Object.getOwnPropertyDescriptor;e.f=r?l:function(t,e){if(t=a(t),e=s(e,!0),c)try{return l(t,e)}catch(t){}if(u(t,e))return i(!o.f.call(t,e),t[e])}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,e,n){var r=n(229),o=n(232);t.exports=function(t,e){var n=o(t,e);return r(n)?n:void 0}},function(t,e,n){"use strict";function r(t,e,n,r,o,i,a,s){var u,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),i&&(c._scopeId="data-v-"+i),a?(u=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=u):o&&(u=s?function(){o.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:o),u)if(c.functional){c._injectStyles=u;var l=c.render;c.render=function(t,e){return u.call(e),l(t,e)}}else{var f=c.beforeCreate;c.beforeCreate=f?[].concat(f,u):[u]}return{exports:t,options:c}}n.d(e,"a",(function(){return r}))},function(t,e,n){"use strict";var r=n(0),o=n(31).filter,i=n(53),a=n(18),s=i("filter"),u=a("filter");r({target:"Array",proto:!0,forced:!s||!u},{filter:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},function(t,e,n){var r,o=n(7),i=n(188),a=n(78),s=n(36),u=n(115),c=n(75),l=n(50),f=l("IE_PROTO"),p=function(){},d=function(t){return" + diff --git a/index.html b/index.html index c774dd0..fc60ee8 100644 --- a/index.html +++ b/index.html @@ -11,7 +11,7 @@ - + @@ -56,6 +56,6 @@ ⟶

- + diff --git a/ssdt-methods/ssdt-easy.html b/ssdt-methods/ssdt-easy.html index 76eee0a..a211b28 100644 --- a/ssdt-methods/ssdt-easy.html +++ b/ssdt-methods/ssdt-easy.html @@ -11,7 +11,7 @@ - + @@ -57,6 +57,6 @@ If you have X99 or X299, you'll need to configure it to your system

- + diff --git a/ssdt-methods/ssdt-long.html b/ssdt-methods/ssdt-long.html index 824e944..30df08e 100644 --- a/ssdt-methods/ssdt-long.html +++ b/ssdt-methods/ssdt-long.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/ssdt-methods/ssdt-methods.html b/ssdt-methods/ssdt-methods.html index d6dcf0e..45bb0b4 100644 --- a/ssdt-methods/ssdt-methods.html +++ b/ssdt-methods/ssdt-methods.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/ssdt-methods/ssdt-prebuilt.html b/ssdt-methods/ssdt-prebuilt.html index da20926..9cfcf8c 100644 --- a/ssdt-methods/ssdt-prebuilt.html +++ b/ssdt-methods/ssdt-prebuilt.html @@ -11,7 +11,7 @@ - + @@ -76,6 +76,6 @@ ⟶

- + diff --git a/ssdt-platform.html b/ssdt-platform.html index a7ef328..c06e518 100644 --- a/ssdt-platform.html +++ b/ssdt-platform.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/troubleshooting.html b/troubleshooting.html index b995ec5..78dd211 100644 --- a/troubleshooting.html +++ b/troubleshooting.html @@ -11,7 +11,7 @@ - + @@ -68,6 +68,6 @@ Pass 1 parse of [DSDT] ⟶

- +