From 72d20bee717f54cc349527945f38ec67246dc2cb Mon Sep 17 00:00:00 2001
From: "Travis Build Bot (from Travis CI)" Last modified: Tue Apr 14 2020 03:29:40 GMT+0000 (Coordinated Universal Time) Last modified: Tue Apr 14 2020 15:47:02 GMT+0000 (Coordinated Universal Time) So this is mainly needed for GPUs that are not supported in macOS, mainly this will be Nvidia users who wish to pair an AMD GPU for macOS use. While WhateverGreen does support the boot-arg Last modified: Tue Apr 14 2020 03:29:40 GMT+0000 (Coordinated Universal Time) Last modified: Tue Apr 14 2020 15:47:02 GMT+0000 (Coordinated Universal Time) What we'll be doing is hiding our actual EC and creating a fake Embedded Comtroller for macOS to play with.
-
Disabling unsupported GPUs(Desktops)
-wegnoegpu, this only works when running on iGPU so for the rest of us we'll need to make an SSDT.
-
Fixing Embedded Controller (Desktop)
-Last modified: Tue Apr 14 2020 03:29:40 GMT+0000 (Coordinated Universal Time)
+Last modified: Tue Apr 14 2020 15:47:02 GMT+0000 (Coordinated Universal Time)
So what this SSDT does is create a PNLF device for macOS to play with, specifically one with a hardware ID of APP0002. WhateverGreen will handle the rest of the work
-Last modified: Tue Apr 14 2020 03:29:40 GMT+0000 (Coordinated Universal Time)
+Last modified: Tue Apr 14 2020 15:47:02 GMT+0000 (Coordinated Universal Time)
So with laptops, we can hide the dGPU from macOS with the little boot-arg called -wegnoegpu from WhateverGreen. But one small problem, the dGPU is still pulling power draining your battery slowly. We'll be going over 2 methods for disabling the dGPU in a laptop:
-Last modified: Tue Apr 14 2020 03:29:40 GMT+0000 (Coordinated Universal Time)
+Last modified: Tue Apr 14 2020 15:47:02 GMT+0000 (Coordinated Universal Time)
To fix the ECs found in laptops, we'll be renaming them to look like the ones macOS expects. The reason for this is that many laptops break when you turn off their EC with an SSDT. So this is why we can't use the fancy SSDTTime to make a patch for us.
@@ -567,7 +567,7 @@ diff --git a/Laptops/trackpad.html b/Laptops/trackpad.html index 03182b0..166f739 100644 --- a/Laptops/trackpad.html +++ b/Laptops/trackpad.html @@ -429,7 +429,7 @@-Last modified: Tue Apr 14 2020 03:29:40 GMT+0000 (Coordinated Universal Time)
+Last modified: Tue Apr 14 2020 15:47:02 GMT+0000 (Coordinated Universal Time)
This SSDT is used to force enable our GPI0 for VoodooI2C to connect onto.
@@ -510,7 +510,7 @@ diff --git a/Manual/compile.html b/Manual/compile.html index 4bc4824..8b4f647 100644 --- a/Manual/compile.html +++ b/Manual/compile.html @@ -429,10 +429,10 @@-Last modified: Tue Apr 14 2020 03:29:40 GMT+0000 (Coordinated Universal Time)
+Last modified: Tue Apr 14 2020 15:47:02 GMT+0000 (Coordinated Universal Time)
See General Troubleshooting if you have dumping/compiling errors
+See General Troubleshooting if you have dumping/compiling errors
-Last modified: Tue Apr 14 2020 03:29:40 GMT+0000 (Coordinated Universal Time)
+Last modified: Tue Apr 14 2020 15:47:02 GMT+0000 (Coordinated Universal Time)
So to start, we'll need to get a copy of your DSDT from your firmware. The easiest way is grabbing the DSDT.aml SSDTTime dumped for us earlier but here are some other options:
@@ -513,7 +513,7 @@ fs0:\EFI\OC\Tools> acpidump.efi -b -n DSDT -z diff --git a/Universal/awac.html b/Universal/awac.html index 8776957..7c8f6c3 100644 --- a/Universal/awac.html +++ b/Universal/awac.html @@ -429,7 +429,7 @@-Last modified: Tue Apr 14 2020 03:29:40 GMT+0000 (Coordinated Universal Time)
+Last modified: Tue Apr 14 2020 15:47:02 GMT+0000 (Coordinated Universal Time)
For Intel 300 series chipsets and newer, this also includes X299 refreshes and Icelake laptops. Common machines:
@@ -516,7 +516,7 @@ diff --git a/Universal/irq.html b/Universal/irq.html index 2641c83..b4f14a4 100644 --- a/Universal/irq.html +++ b/Universal/irq.html @@ -429,7 +429,7 @@-Last modified: Tue Apr 14 2020 03:29:40 GMT+0000 (Coordinated Universal Time)
+Last modified: Tue Apr 14 2020 15:47:02 GMT+0000 (Coordinated Universal Time)
So you miss having those fancy hot-patches from Clover like FixIPIC, FixTMR, FixRTC, FixHPET, etc
@@ -477,7 +477,7 @@ diff --git a/Universal/nvram.html b/Universal/nvram.html index f54eea9..e0c2728 100644 --- a/Universal/nvram.html +++ b/Universal/nvram.html @@ -429,7 +429,7 @@-Last modified: Tue Apr 14 2020 03:29:40 GMT+0000 (Coordinated Universal Time)
+Last modified: Tue Apr 14 2020 15:47:02 GMT+0000 (Coordinated Universal Time)
This SSDT is required for all "true" 300 series motherboards and newer(Z370 is excluded), it specifically brings back NVRAM support and requires very little configuration for the end user.
@@ -498,7 +498,7 @@ diff --git a/Universal/plug.html b/Universal/plug.html index 3cfe5d8..4a0d8cd 100644 --- a/Universal/plug.html +++ b/Universal/plug.html @@ -429,7 +429,7 @@-Last modified: Tue Apr 14 2020 03:29:40 GMT+0000 (Coordinated Universal Time)
+Last modified: Tue Apr 14 2020 15:47:02 GMT+0000 (Coordinated Universal Time)
CPU naming is fairly easy to figure out as well, open your decompiled DSDT and search for Processor. This should give you a result like this:
-Last modified: Tue Apr 14 2020 03:29:40 GMT+0000 (Coordinated Universal Time)
+Last modified: Tue Apr 14 2020 15:47:02 GMT+0000 (Coordinated Universal Time)
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:
@@ -534,7 +534,7 @@ Device (_SB.PC00.SMBS.BUS0) <- Renamed diff --git a/Universal/spoof.html b/Universal/spoof.html index 4e5cbdf..209f57c 100644 --- a/Universal/spoof.html +++ b/Universal/spoof.html @@ -429,7 +429,7 @@-Last modified: Tue Apr 14 2020 03:29:40 GMT+0000 (Coordinated Universal Time)
+Last modified: Tue Apr 14 2020 15:47:02 GMT+0000 (Coordinated Universal Time)
So this is mainly needed for GPUs that are not natively supported OOB due to their names, most commonly:
@@ -449,7 +449,7 @@To find a suitable PCI ID, we'll be using PCI ID Repository 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 GPU Buyers Guide. The closest match to this GPU would be the 390X, and looking on that site near the top gives us this:
+To find a suitable PCI ID, we'll be using PCI ID Repository 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 GPU Buyers Guide. The closest match to this GPU would be the 390X, and looking on that site near the top gives us this:
Vendor 1002 -> Device 1002:67b0
Now lets break this down into a device ID we can use:
-Last modified: Tue Apr 14 2020 03:29:40 GMT+0000 (Coordinated Universal Time)
+Last modified: Tue Apr 14 2020 15:47:02 GMT+0000 (Coordinated Universal Time)
So you've made all your SSDTs but now there's one thing left: Adding them to Opencore
@@ -484,7 +484,7 @@ diff --git a/index.html b/index.html index 8f8e99b..ef7e7b7 100644 --- a/index.html +++ b/index.html @@ -427,7 +427,7 @@-Last modified: Tue Apr 14 2020 03:29:40 GMT+0000 (Coordinated Universal Time)
+Last modified: Tue Apr 14 2020 15:47:02 GMT+0000 (Coordinated Universal Time)

-Last modified: Tue Apr 14 2020 03:29:40 GMT+0000 (Coordinated Universal Time)
+Last modified: Tue Apr 14 2020 15:47:02 GMT+0000 (Coordinated Universal Time)
So here we'll be using a super simple tool made by CorpNewt: SSDTTime
@@ -494,7 +494,7 @@What about USBX?
For Skylake and newer plus AMD, you can grab a prebuilt file here: SSDT-USBX.aml. This file is plug and play and requires no device configuration, do not use on Broadwell and older.
-Troubleshooting note: See General Troubleshooting if you're having issues running SSDTTime
+Troubleshooting note: See General Troubleshooting if you're having issues running SSDTTime
Don't forget that SSDTs need to be added to Opencore, reminder that .aml is complied, .dsl is code. Add only the .aml file:
-Last modified: Tue Apr 14 2020 03:29:40 GMT+0000 (Coordinated Universal Time)
+Last modified: Tue Apr 14 2020 15:47:02 GMT+0000 (Coordinated Universal Time)
Well sadly some things are not handled by SSDTTime, well have no fear as making SSDTs is super easy. The basic process:
@@ -483,7 +483,7 @@