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
- Refactor USB map building, fixes USB 3.0 displaying as USB 2.0
- Fix blackscreen on MacBookPro9,1
- May require `sudo pkill displaypolicyd` to fix GPU switching
- Disable on every boot: `sudo launchctl disable system/com.apple.displaypolicyd`
- Update RestrictEvents with custom build (1.0.1)
- Blocks `/usr/libexec/displaypolicyd` on MacBookPro9,1 to ensure smooth GPU switching
## 0.0.18
- Disable Vault by default due to breaking installations

View File

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

View File

@@ -75,7 +75,7 @@ class BuildOpenCore:
# Essential kexts
("Lilu.kext", self.constants.lilu_version, self.constants.lilu_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),
("SMC-Spoof.kext", self.constants.smcspoof_version, self.constants.smcspoof_path, lambda: True),
# 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)
* [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)
* [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`
@@ -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."
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
```
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.

Binary file not shown.