From 29d7924e32ba032de1d1cae9673e7204c68e6abe Mon Sep 17 00:00:00 2001
From: "Travis Build Bot (from Travis CI)" Last modified: Thu Apr 23 2020 02:26:59 GMT+0000 (Coordinated Universal Time) Last modified: Fri Apr 24 2020 03:47:44 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: Thu Apr 23 2020 02:26:59 GMT+0000 (Coordinated Universal Time) Last modified: Fri Apr 24 2020 03:47:44 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: Thu Apr 23 2020 02:26:59 GMT+0000 (Coordinated Universal Time)
+Last modified: Fri Apr 24 2020 03:47:44 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: Thu Apr 23 2020 02:26:59 GMT+0000 (Coordinated Universal Time)
+Last modified: Fri Apr 24 2020 03:47:44 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: Thu Apr 23 2020 02:26:59 GMT+0000 (Coordinated Universal Time)
+Last modified: Fri Apr 24 2020 03:47:44 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.
@@ -600,7 +600,7 @@ diff --git a/Laptops/trackpad.html b/Laptops/trackpad.html index 994e1b5..42f8032 100644 --- a/Laptops/trackpad.html +++ b/Laptops/trackpad.html @@ -462,7 +462,7 @@-Last modified: Thu Apr 23 2020 02:26:59 GMT+0000 (Coordinated Universal Time)
+Last modified: Fri Apr 24 2020 03:47:44 GMT+0000 (Coordinated Universal Time)
This SSDT is used to force enable our GPI0 for VoodooI2C to connect onto.
@@ -543,7 +543,7 @@ diff --git a/Manual/compile.html b/Manual/compile.html index e127576..44bffe7 100644 --- a/Manual/compile.html +++ b/Manual/compile.html @@ -462,7 +462,7 @@-Last modified: Thu Apr 23 2020 02:26:59 GMT+0000 (Coordinated Universal Time)
+Last modified: Fri Apr 24 2020 03:47:44 GMT+0000 (Coordinated Universal Time)
See Troubleshooting if you have dumping/compiling errors
@@ -489,7 +489,7 @@Compiling and decompiling with Linux is just as simple, you will need a special copy of iasl and terminal:
+Compiling and decompiling with Linux is just as simple, you will need a copy of iasl and terminal(note iasl from any package manager will do fine as well):
path/to/iasl path/to/DSDT.aml
-Last modified: Thu Apr 23 2020 02:26:59 GMT+0000 (Coordinated Universal Time)
+Last modified: Fri Apr 24 2020 03:47:44 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:
@@ -546,7 +546,7 @@ fs0:\EFI\OC\Tools> acpidump.efi -b -n DSDT -z diff --git a/Universal/awac.html b/Universal/awac.html index b0f6372..efb0f0b 100644 --- a/Universal/awac.html +++ b/Universal/awac.html @@ -462,7 +462,7 @@-Last modified: Thu Apr 23 2020 02:26:59 GMT+0000 (Coordinated Universal Time)
+Last modified: Fri Apr 24 2020 03:47:44 GMT+0000 (Coordinated Universal Time)
For Intel 300 series chipsets and newer, this also includes X299 refreshes and Icelake laptops. Common machines:
@@ -549,7 +549,7 @@ diff --git a/Universal/irq.html b/Universal/irq.html index 68019da..54f9739 100644 --- a/Universal/irq.html +++ b/Universal/irq.html @@ -462,7 +462,7 @@-Last modified: Thu Apr 23 2020 02:26:59 GMT+0000 (Coordinated Universal Time)
+Last modified: Fri Apr 24 2020 03:47:44 GMT+0000 (Coordinated Universal Time)
So you miss having those fancy hot-patches from Clover like FixIPIC, FixTMR, FixRTC, FixHPET, etc
@@ -510,7 +510,7 @@ diff --git a/Universal/nvram.html b/Universal/nvram.html index 2e4a694..6174a24 100644 --- a/Universal/nvram.html +++ b/Universal/nvram.html @@ -462,7 +462,7 @@-Last modified: Thu Apr 23 2020 02:26:59 GMT+0000 (Coordinated Universal Time)
+Last modified: Fri Apr 24 2020 03:47:44 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.
@@ -531,7 +531,7 @@ diff --git a/Universal/plug.html b/Universal/plug.html index 81358ea..ac95942 100644 --- a/Universal/plug.html +++ b/Universal/plug.html @@ -462,7 +462,7 @@-Last modified: Thu Apr 23 2020 02:26:59 GMT+0000 (Coordinated Universal Time)
+Last modified: Fri Apr 24 2020 03:47:44 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: Thu Apr 23 2020 02:26:59 GMT+0000 (Coordinated Universal Time)
+Last modified: Fri Apr 24 2020 03:47:44 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:
@@ -567,7 +567,7 @@ Device (_SB.PC00.SMBS.BUS0) <- Renamed diff --git a/Universal/spoof.html b/Universal/spoof.html index e77d279..f71539f 100644 --- a/Universal/spoof.html +++ b/Universal/spoof.html @@ -462,7 +462,7 @@-Last modified: Thu Apr 23 2020 02:26:59 GMT+0000 (Coordinated Universal Time)
+Last modified: Fri Apr 24 2020 03:47:44 GMT+0000 (Coordinated Universal Time)
So this is mainly needed for GPUs that are not natively supported OOB due to their names, most commonly:
@@ -583,7 +583,7 @@ Buffer () diff --git a/cleanup.html b/cleanup.html index 7418f3f..46219c2 100644 --- a/cleanup.html +++ b/cleanup.html @@ -462,7 +462,7 @@-Last modified: Thu Apr 23 2020 02:26:59 GMT+0000 (Coordinated Universal Time)
+Last modified: Fri Apr 24 2020 03:47:44 GMT+0000 (Coordinated Universal Time)
So you've made all your SSDTs but now there's one thing left: Adding them to Opencore
@@ -523,7 +523,7 @@ diff --git a/index.html b/index.html index fe40053..9292ff8 100644 --- a/index.html +++ b/index.html @@ -460,7 +460,7 @@-Last modified: Thu Apr 23 2020 02:26:59 GMT+0000 (Coordinated Universal Time)
+Last modified: Fri Apr 24 2020 03:47:44 GMT+0000 (Coordinated Universal Time)

-Last modified: Thu Apr 23 2020 02:26:59 GMT+0000 (Coordinated Universal Time)
+Last modified: Fri Apr 24 2020 03:47:44 GMT+0000 (Coordinated Universal Time)
So here we'll be using a super simple tool made by CorpNewt: SSDTTime
@@ -586,7 +586,7 @@ diff --git a/ssdt-long.html b/ssdt-long.html index 544a267..64fe7e5 100644 --- a/ssdt-long.html +++ b/ssdt-long.html @@ -462,7 +462,7 @@-Last modified: Thu Apr 23 2020 02:26:59 GMT+0000 (Coordinated Universal Time)
+Last modified: Fri Apr 24 2020 03:47:44 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:
@@ -516,7 +516,7 @@