Fix GPU Switching in MacBookPro9,1

Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/116
This commit is contained in:
Mykola Grymalyuk
2021-03-24 17:00:12 -06:00
parent f006ee4569
commit 04a039caf3
6 changed files with 5 additions and 20 deletions

View File

@@ -11,8 +11,8 @@
- Add Mavericks and newer .app support - Add Mavericks and newer .app support
- Refactor USB map building, fixes USB 3.0 displaying as USB 2.0 - Refactor USB map building, fixes USB 3.0 displaying as USB 2.0
- Fix blackscreen on MacBookPro9,1 - Fix blackscreen on MacBookPro9,1
- May require `sudo pkill displaypolicyd` to fix GPU switching - Update RestrictEvents with custom build (1.0.1)
- Disable on every boot: `sudo launchctl disable system/com.apple.displaypolicyd` - Blocks `/usr/libexec/displaypolicyd` on MacBookPro9,1 to ensure smooth GPU switching
## 0.0.18 ## 0.0.18
- Disable Vault by default due to breaking installations - Disable Vault by default due to breaking installations

View File

@@ -24,7 +24,7 @@ class Constants:
self.io80211high_sierra_version = "1.0.0" self.io80211high_sierra_version = "1.0.0"
self.io80211mojave_version = "1.0.0" self.io80211mojave_version = "1.0.0"
self.voodoohda_version = "296" self.voodoohda_version = "296"
self.restrictevents_version = "1.0.0" self.restrictevents_version = "1.0.1"
self.piixata_version = "1.0.0" self.piixata_version = "1.0.0"
self.backlight_version = "1.0.0" self.backlight_version = "1.0.0"
self.cpufriend_version = "1.2.3" self.cpufriend_version = "1.2.3"

View File

@@ -75,7 +75,7 @@ class BuildOpenCore:
# Essential kexts # Essential kexts
("Lilu.kext", self.constants.lilu_version, self.constants.lilu_path, lambda: True), ("Lilu.kext", self.constants.lilu_version, self.constants.lilu_path, lambda: True),
("WhateverGreen.kext", self.constants.whatevergreen_version, self.constants.whatevergreen_path, lambda: True), ("WhateverGreen.kext", self.constants.whatevergreen_version, self.constants.whatevergreen_path, lambda: True),
("RestrictEvents.kext", self.constants.restrictevents_version, self.constants.restrictevents_path, lambda: self.model in ModelArray.MacPro71), ("RestrictEvents.kext", self.constants.restrictevents_version, self.constants.restrictevents_path, lambda: (self.model in ModelArray.MacPro71) or (self.model == "MacBookPro9,1")),
("NightShiftEnabler.kext", self.constants.nightshift_version, self.constants.nightshift_path, lambda: self.model not in ModelArray.NightShiftExclude), ("NightShiftEnabler.kext", self.constants.nightshift_version, self.constants.nightshift_path, lambda: self.model not in ModelArray.NightShiftExclude),
("SMC-Spoof.kext", self.constants.smcspoof_version, self.constants.smcspoof_path, lambda: True), ("SMC-Spoof.kext", self.constants.smcspoof_version, self.constants.smcspoof_path, lambda: True),
# CPU patches # CPU patches

View File

@@ -9,7 +9,6 @@ Here are some common errors users may experience while using this patcher:
* [Booting with a non-flashed GPU](#booting-with-a-non-flashed-gpu) * [Booting with a non-flashed GPU](#booting-with-a-non-flashed-gpu)
* [How to Boot Big Sur Recovery](#how-to-boot-big-sur-recovery) * [How to Boot Big Sur Recovery](#how-to-boot-big-sur-recovery)
* [Stuck on "Your Mac needs a firmware update"](#stuck-on-your-mac-needs-a-firmware-update) * [Stuck on "Your Mac needs a firmware update"](#stuck-on-your-mac-needs-a-firmware-update)
* [GPU stuck on Nvidia with MacBookPro9,1](#gpu-stuck-on-nvidia-with-macbookpro9-1)
## Stuck on `This version of Mac OS X is not supported on this platform` ## Stuck on `This version of Mac OS X is not supported on this platform`
@@ -59,18 +58,4 @@ By default, the patcher will try to hide extra boot options such as recovery fro
Full error: "Your Mac needs a firmware update in order to install to this Volume. Please select a Mac OS Extended (Journaled) volume instead." Full error: "Your Mac needs a firmware update in order to install to this Volume. Please select a Mac OS Extended (Journaled) volume instead."
This error occurs when macOS determines the firmware to not have full APFS support. To resolve is quite simple, when building OpenCore head to "Patcher Settings" and enable "Moderate SMBIOS Patching" or higher. This will ensure that the firmware reported will show as supporting full APFS capabilities. This error occurs when macOS determines the firmware to not have full APFS support. To resolve is quite simple, when building OpenCore head to "Patcher Settings" and enable "Moderate SMBIOS Patching" or higher. This will ensure that the firmware reported will show as supporting full APFS capabilities.
## GPU stuck on Nvidia with MacBookPro9,1
For some users, `displaypolicyd` will retain onto the Nvidia GPU on OS start and refuses to let go. The easiest way to resolve is to simply kill the process in macOS:
```sh
sudo pkill displaypolicyd
```
For a more permanat fix across reboots, you can run the following:
```sh
sudo launchctl disable system/com.apple.displaypolicyd
```

Binary file not shown.