Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Awesome work, would love to try this with my Radeon VII on my x299 Catalina Hackintosh! But I'm not using OpenCore yet, still on Clover.

@CMMChris - can you give proper install directions for us Clover users please? Thanks! :)


here are the original thread for hackintosh (in german)

 
This kext does NOT require OpenCore, and it has nothing to do with OpenCore.

OpenCore is just one of the method to load this kext, therefore, just need to do it once, than all installed macOS can benefit from it. No need to install that one by one for each single macOS installation.

You can simply disable SIP and download the kext from post #1, then

1) Copy the RadeonBoost.kext to /Library/Extensions/ (NOT /System/Library/Extensions/)

2) Open Terminal, enter
Code:
sudo chmod -R 755 /Library/Extensions/RadeonBoost.kext.kext
3) Enter
Code:
sudo chown -R root:wheel /Library/Extensions/RadeonBoost.kext.kext
4) Enter
Code:
sudo codesign --deep -fs - /Library/Extensions/RadeonBoost.kext.kext
5) Enter
Code:
sudo touch /Library/Extensions; kextcache -update-volume /
(May shows something like "No such file..." or "Error 107", don't worry, you can safely ignore them. This step is optional indeed)

6) Restart

Once you've done this process, do you enable SIP again or does it need to be permanently off for the RAdeonBoost kext to work?
 
On my 3,1 this may be breaking sleep functionality.
i had put it to sleep a few times and started hearing a fan blast every minute or so, turns out the GPU fan on the RX580 pulse was turning on and off for a moment.

Seems to cycle through this behavior

Code:
2020-04-22 14:11:47 -0500 HibernateStats          hibmode=0 standbydelay=0                                                                 457
2020-04-22 14:11:47 -0500 WakeTime                WakeTime: 6.186 sec
2020-04-22 14:11:47 -0500 Kernel Client Acks      Delays to Wake notifications: [PRT1 driver is slow(msg: SetState to 2)(1223 ms)] [PRT5 driver is slow(msg: SetState to 2)(1231 ms)] [en0 driver is slow(msg: DidChangeState to 1)(2583 ms)] [en1 driver is slow(msg: DidChangeState to 1)(5238 ms)] [AMDFramebufferVIB driver is slow(msg: SetState to 1)(325 ms)]
2020-04-22 14:11:47 -0500 Assertions              PID 119(powerd) Created InternalPreventSleep "com.apple.powermanagement.acwakelinger" 00:00:00  id:0x0xd00009daf [System: PrevIdle BGTask SRPrevSleep kCPU]
2020-04-22 14:12:01 -0500 Assertions              PID 119(powerd) Released InternalPreventSleep "PM configd - Wait for Device enumeration" 00:00:14  id:0x0xd00009dae [System: PrevIdle BGTask SRPrevSleep kCPU]
2020-04-22 14:12:05 -0500 Assertions              PID 143(apsd) Released ApplePushServiceTask "com.apple.apsd-waitingformessages-push.apple.com" 00:00:20  id:0x0xb00009dac [System: PrevIdle SRPrevSleep IPushSrvc kCPU]
2020-04-22 14:12:32 -0500 Assertions              PID 119(powerd) TimedOut InternalPreventSleep "com.apple.powermanagement.acwakelinger" 00:00:45  id:0x0xd00009daf [System: PrevIdle SRPrevSleep kCPU]
2020-04-22 14:12:32 -0500 Sleep                   Entering Sleep state due to 'Maintenance Sleep': Using AC (Charge:0%) 15 secs
2020-04-22 14:12:34 -0500 Wake Requests           [*proc=mDNSResponder request=Maintenance inDelta=6477]
2020-04-22 14:12:34 -0500 PM Client Acks          Delays to Sleep notifications: [mDNSResponder is slow(257 ms)] [com.apple.apsd is slow(1818 ms)]
2020-04-22 14:12:41 -0500 Kernel Client Acks      Delays to Sleep notifications: [AppleAHCIDiskQueueManager driver is slow(msg: SetState to 0)(555 ms)] [AppleAHCIDiskQueueManager driver is slow(msg: SetState to 0)(748 ms)] [IOSCSIPeripheralDeviceType05 driver is slow(msg: SetState to 0)(2715 ms)] [IOSCSIPeripheralDeviceType05 driver is slow(msg: SetState to 0)(3351 ms)]
2020-04-22 14:12:41 -0500 Assertions              PID 335(mDNSResponder) Created MaintenanceWake "mDNSResponder:maintenance" 00:00:00  id:0x0xd00009dbe [System: PrevIdle BGTask SRPrevSleep kCPU]
2020-04-22 14:12:41 -0500 Assertions              PID 335(mDNSResponder) Released MaintenanceWake "mDNSResponder:maintenance" 00:00:00  id:0x0xd00009dbe [System: PrevIdle BGTask]
2020-04-22 14:12:47 -0500 Assertions              PID 119(powerd) Created InternalPreventSleep "PM configd - Wait for Device enumeration" 00:00:00  id:0x0xd00009dc0 [System: PrevIdle SRPrevSleep kCPU]
2020-04-22 14:12:47 -0500 DarkWake                DarkWake from Normal Sleep [CDN] due to UHC2/: Using AC (Charge:0%) 45 secs
2020-04-22 14:12:47 -0500 HibernateStats          hibmode=0 standbydelay=0                                                                 458
2020-04-22 14:12:47 -0500 WakeTime                WakeTime: 6.185 sec
2020-04-22 14:12:47 -0500 Kernel Client Acks      Delays to Wake notifications: [PRT5 driver is slow(msg: SetState to 2)(1219 ms)] [PRT1 driver is slow(msg: SetState to 2)(1220 ms)] [Back-UPS BR1000G FW:868.L2 .D USB FW:L2   driver is slow(msg: DidChangeState to 2)(707 ms)] [en0 driver is slow(msg: DidChangeState to 1)(2879 ms)] [en1 driver is slow(msg: DidChangeState to 1)(5238 ms)] [AMDFramebufferVIB driver is slow(msg: SetState to 1)(324 ms)]
2020-04-22 14:12:47 -0500 Assertions              PID 119(powerd) Created InternalPreventSleep "com.apple.powermanagement.acwakelinger" 00:00:00  id:0x0xd00009dc1 [System: PrevIdle SRPrevSleep kCPU]
2020-04-22 14:13:32 -0500 Assertions              PID 119(powerd) Released InternalPreventSleep "PM configd - Wait for Device enumeration" 00:00:45  id:0x0xd00009dc0 [System: PrevIdle SRPrevSleep kCPU]
2020-04-22 14:13:32 -0500 Assertions              PID 119(powerd) TimedOut InternalPreventSleep "com.apple.powermanagement.acwakelinger" 00:00:45  id:0x0xd00009dc1 [System: PrevIdle SRPrevSleep kCPU]
2020-04-22 14:13:32 -0500 Sleep                   Entering Sleep state due to 'Maintenance Sleep': Using AC (Charge:0%) 14 secs
2020-04-22 14:13:34 -0500 Wake Requests           [*proc=mDNSResponder request=Maintenance inDelta=6477]
2020-04-22 14:13:34 -0500 PM Client Acks          Delays to Sleep notifications: [com.apple.apsd is slow(1921 ms)]
2020-04-22 14:13:40 -0500 Kernel Client Acks      Delays to Sleep notifications: [AppleAHCIDiskQueueManager driver is slow(msg: SetState to 0)(653 ms)] [AppleAHCIDiskQueueManager driver is slow(msg: SetState to 0)(727 ms)] [IOSCSIPeripheralDeviceType05 driver is slow(msg: SetState to 0)(2548 ms)] [IOSCSIPeripheralDeviceType05 driver is slow(msg: SetState to 0)(3322 ms)]
2020-04-22 14:13:40 -0500 Assertions              PID 335(mDNSResponder) Created MaintenanceWake "mDNSResponder:maintenance" 00:00:00  id:0x0xd00009dcb [System: PrevIdle BGTask SRPrevSleep kCPU]
2020-04-22 14:13:40 -0500 Assertions              PID 335(mDNSResponder) Released MaintenanceWake "mDNSResponder:maintenance" 00:00:00  id:0x0xd00009dcb [System: PrevIdle BGTask]
2020-04-22 14:13:46 -0500 Assertions              PID 119(powerd) Created InternalPreventSleep "PM configd - Wait for Device enumeration" 00:00:00  id:0x0xd00009dcf [System: PrevIdle SRPrevSleep kCPU]
2020-04-22 14:13:46 -0500 DarkWake                DarkWake from Normal Sleep [CDN] due to UHC2/: Using AC (Charge:0%) 45 secs

Not sure if this is just me, related directly to RadeonBoost or even the newer beta mousse emulation kext, just noted this started now.
 
Holy Sh*t! This kext is amazing!

I simply dropped it in my EFI's kext/other folder, rebooted, and here's my results:

OpenCL before:
Screen Shot 2020-04-22 at 12.28.24 PM.png


OpenCL after:
Screen Shot 2020-04-22 at 12.28.42 PM.png


Metal before:
Screen Shot 2020-04-22 at 12.29.00 PM.png


Metal after:
Screen Shot 2020-04-22 at 12.29.15 PM.png


This is just the kext without any power play table tweaking.

How much this improvement translates to actual real-world work remains to be seen but I am still totally impressed!

Thank you @CMMChris for this excellent tweak! :)
 
Using the 8Gb RX580 red devil in a hack...
OpenCL didn't change at all outside of standard deviation, but metal got about a 5k bump.

Metal before: 50083
Metal after: 55367

So the Polaris cards do get some bump, but its not a dramatic like VII
 
List of supported GPUs:
  • RX480, RX580, RX590 (!!! USE ALONG WHATEVERGREEN !!!)
  • Radeon VII, RX 5500, RX 5500 XT, RX 5600, RX 5700, RX 5700 XT (WHATEVERGREEN NOT NECESSARY)

Download & Changelog
  • April 20 2020: V1.3 Replaced "ATY,EFIVersion" with "ForceLoadFalconSmuFirmware" (thanks to Whatevergreen developers for discovery of this parameter), changed Polaris properties (RX480, 580, 590 users please re-test), removed Apple framebuffer properties (performance difference is minor)
  • April 19 2020: V1.2 Removed support for Vega 56, Vega 64 and Vega Frontier (REASON)
  • April 19 2020: V1.1 Removed unnecessary device properties, added integrated AGPM injector for SMBIOSes where it makes sense (iMacPro1,1; MacPro7,1; MacPro5,1; MacPro4,1)
  • April 17 2020: V1.0 Initial Public Release
Warning: In 10.15.5 Beta this kext causes a kernel panic with Navi GPUs. It's not possible for me to fix that and might be some kind of bug in the graphics driver. If the issue does not go away with the final release of 10.15.5 I will remove Navi support.

For download of RadeonBoost.kext please check this posts attachements.

Enjoy!
Hi there

Do I need whatevergreen on a 5.1 macpro as well or is it for hackintoshes only? If yes do I simply copy whatever green in the ?labrary/Extensions?

Thanks!
 
4) Enter
Code:
sudo codesign --deep -fs - /Library/Extensions/RadeonBoost.kext.kext

6) Restart

This produces: /Library/Extensions/RadeonBoost.kext: resource fork, Finder information, or similar detritus not allowed
 
I guess this is exclusively for vega gpus. On my mac pro (5.1 with an rx580) were slightly worse.
 
Look at the id's inside the kext plist for Polaris. If it matches the device Id it should work. How efficient? You have to test it.

Unfortunately no IDs match my WX4100, and I'm not sure if manually adding the ID would work as there are very specific properties.
 
Nothing to improve. Expected results for that GPU.
I mean it’s still better. Both of the RX 580s I have saw a bump in bechmarks. 5k points in metal isnt nothing for the 8gb red devil.

The 4gb pulse saw 10k points in metal and about 5k in opencl gains.

however The potential sleep issue may make it a non-starter for me. I’ll have to find some more time to test it out. In the mean time is anyone else seeing a change on sleep?
 
Agree, but lastleve, please make sure you know how to recover if that modification cause your OS fail to boot.

I was able to add the IDs and it booted normally, vBios shows RadeonBoost in System Information, but my Geekbench score is now worse than without the kext. With the kext and the Metal benchmark, I am scoring 8845, without the kext the score jumps to 18433.
 
@CMMChris

Thanks for your hard work! The Geekbench v4 results are great!

I used RadeonBoost v1.3 (modified to add AGPM for iMac19,1) with an SSDT that has PP_PhmSoftPowerPlayTable injection (also thanks to your spreadsheet!) for a Radeon VII. It was run on the Z390 build which is water-cooled for CPU/VRM (OC @ 5GHz) and the Radeon VII. SMBIOS: iMac19,1; OS: Mojave 10.14.6; Bootloader: Clover. (Note: WEG is disabled; it doesn't seem to play nicely with Radeon VII: jittery mouse followed by complete freeze.)

Pre-RadeonBoost (but with PowerPlayTable injected): OpenCL = 149862; Metal = 144018

When RadeonBoost is added to above, the results were impressive (see Spoiler).

RadeonBoost-OpenCl.jpg


RadeonBoost-Metal.jpg
 
Last edited:
  • Like
Reactions: Pressure
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.