[For existing OpenCore users, you can always download my latest OpenCore package at post #1314 for update]
Full HWAccel achieved now!
Everything is covered in the OpenCore thread. The step by step tutorial to enable AMD hardware acceleration is now at here, but I strongly recommend you go through the OpenCore thread before you do anything.
The same method works in both Mojave and beyond.HOWEVER, for dual processor cMP user, please stick with Mojave at this moment. (Update: please stick to Mojave for ALL who want HWAccel. CMMChris advised Apple removed HEVC HWAccel for all Polaris GPU in the latest Catalina beta. Which means you may not upgrade the OS to get any security fix, unless this is an error in beta. Stay with Mojave, get HWAccel, and keep your OS up to date seems will be a better choice at this moment)
Sidecar (and AirPlay Display) should also work, but I have no iPad to test it yet. The latest config.plist in post #594 and #1314 will now keep the cMP ident as 5,1. Therefore, will NOT activate Sidecar by default now.
------ The procedure below is depreciated, just keep in this post as a record (but I will still maintain the FAQ section to keep that up to date. Please read through the FAQ before you ask anything. Any question that already covered in FAQ won't be answered by me.). For those who don't need HEVC hardware encode, and prefer not to install OpenCore. You may still follow the procedure below to activate HWAccel ------
10.14.5 is now official. And I can confirm that AMD card users (Polaris or above) can enjoy H264 hardware encode / H264 hardware decode / and HEVC hardware decode.
The procedure is as follow: (please read through the entire Q&A section BEFORE you do anything. You should know how to recover, or may need to use alternate procedure, etc)
1) Keep SIP disabled
2) Download Lilu.kext
3) Download WhateverGreen.kext
4) open Lilu.kext (right click -> show package contents)
5) enter Contents
6) create folder "Plugins" (N.B. This folder is INSIDE Contents, please do NOT miss step 5)
7) Copy the WhateverGreen.kext into Plugins
8) Copy the whole modded Lilu kext to /Library/Extensions/
9) Open terminal
10) Enter
11) Enter
12) Enter
13) Enter
(you may get some strange return with this command, don't worry about it)
14) Enter
For Catalina, you may need to enter the no compat check boot argument as well, otherwise, you may stuck at the no boot situation until you fix the boot argument in recovery partition.
15) Reboot
FAQ, please read through this section BEFORE you ask. I won’t answer anything that already covered in this section.
Q1: Is this safe?
A: Tested since 10.14.5 beta 4, so far, no system damaged by this mod. (Update: OpenCore may write something into the cMP's firmware. So, if you want to stay safe, avoid OpenCore. And only use Lilu + WhareverGreen, or hex edit method)
Q2: Is there any down side?
A: Yes, for Lilu or hex edit method, iTunes, TV+, and Safari Netflix DRM streaming may not work, but fully download DRM movie should not be affected. And Netflix on Chromium base browsers (Chrome, Brave, Edge, etc) are OK.
DRM streaming can work flawlessly with the OpenCore method.
Q3: Any other known issue?
A: Photos app crash if HDMIAudio.kext is also installed. Besides, few more users reported system freeze (in 10.14.5). It seems only Polaris GPU is affected e.g. RX580. So far, all freeze only occur in Apple apps. e.g. FCPX, Photos, Compressor, etc. 3rd party apps such as PP, DV, VideoProc are not affected. However, Polaris GPU hwaccel seems perfectly stable in 10.14.6 beta by hex editing the AppleGVA file. Beside, Adobe Media Encoder seems will cause the video engine stall. Not system freeze / crash, but the video engine simply like stop working, perform extremely bad. Normal performance can only recover by reboot. (Update: 10.14.6 official release seems fixed most of these issue. At least, I have no way to reproduce any freeze with my RX580)
Q4: If my system crash after the mod, how to fix it?
A: For Lilu / OpenCore 0.5.5 method, NVRAM reset will remove the boot argument, and disable the kexts / OpenCore. So, will effective revert your system back to the original state. Once your system boot again, you can remove the kext / OpenCore.
For Hex edit method, I ran lots of tests, no way to crash the system. But if there is any instability, please restore the original file from your backup.
For OpenCore 0.5.6 and later, you have to re-mount the EFI partition -> remove the BOOT and OC folder -> reset NVRAM
Q5: What's the benefit?
A: Able to play some very demanding HEVC video (e.g. this one)
https://4kmedia.org/sony-swordsmith-hdr-uhd-4k-demo/
This is how my cMP can play this video now. Smooth playback with very low CPU usage (please use a browser that support VP9 to watch all the following Youtube videos in 4k, otherwise, you may not able to read the details)
Able to edit H264 directly smoothly, no need to transcode to ProRes anymore, greatly reduce the storage speed and capacity requirement. Most likely can improve productivity as well
Able to edit HEVC directly smoothly, no need to transcode to ProRes anymore, greatly reduce the storage speed and capacity requirement. Most likely can improve productivity as well
Can greatly improve H264 export speed with low CPU usage (depends on your CPU / GPU spec)
Able to record the screen at 4k smoothly. As you can see from the above link. My cMP now can do those stuff and still record the screen smoothly at the same time.
Able to play VP9 video smoothly. My cMP now can play this 8K 24FPS youtube video with zero frame drop. (VP9 hardware decode is NOT supported in macOS up to Catalina.)
Q6: Can this work in 10.14.4 or before?
A: One user reported that latest 10.13.6 with Vega also work with Lilu mehtod. But RX580 will cause GPURestart fault, which freeze the display and make the OS unusable. (update: users reported hardware decode works, but H264 hardware encode will cause the crash)
Q7: Can this work in 10.15?
A: Not as good as 10.14.6. Only Lilu method, or OpenCore method work. Also, in 10.15.2, Polaris (e.g. RX580) HEVC HWAccel support is removed by Apple (WhateverGreen should fix this Polaris supportability issue. But I haven’t test it personally)
Update: HWAccel works quite well in all 10.14.6, 10.15.7, and 11.2.3 now.
Q8: Can this work for Nvidia GPU?
A: NO
Q9: Can this work for flashed 7950 etc?
A: I don't know. Please test it for me. (Update: The answer is NO, thanks bazza5938 to perform the test)
Q10: Which software can benefit from this mod?
A: This will provide hardware acceleration at system level. So far, all my tested software works (e.g. FCPX, iMovie, Handbrake, Compressor, VideoProc, DVDFab, DV, AE, PP, FFMpeg, QuickTime Player, VLC, IINA......)
Q11: If I do a NVRAM reset due to other reason, how to regain these functions?
A: For Lilu method, repeat step 14 and reboot.
Hex edit method / OpenCore 0.5.6 (post #1314) is not affected.
For OpenCore 0.5.5 (in post #594), depends on your setup, you may need to re-bless to boot via OpenCore again.
Q12: What's the recommended GPU?
A: RX560, RX580, Vega 56, Vega 64, Vega FE. As long as that card can work on cMP, brand / model doesn’t really matter (Update: for this particular purpose, Vega is definitely better than Polaris card. There is zero crash / freeze report from Vega users yet).
Q13: Why not recommend the Radeon VII or RX570, etc.
A: AFAIK, all Polaris, Vega, Navi GPU works, I just not sure how mature the overall support is. (Update: I upgraded my GPU to Radeon VII, perfectly stable, and hardware encoding is about 100% faster than RX580. Navi's HWAccel also confirmed can be activated.)
Q14: Is this QuickSync?
A: NO, QuickSync is the hardware acceleration for Intel iGPU, not the generic term for GPU video hardware acceleration. AMD GPU use UVD (Unified Video Decoder) for decoding, and VCE (Video Coding Engine) for encoding. All this will be controlled by VideoToolBox automatically in macOS, virtually transparent to users. It's the same concept as QuickSync, but not QuickSync.
Q15: I can see that my GPU is working in Compressor before this mod (on a cMP). Is that mean I already have hardware acceleration?
A: NO, we are talking about H264 / HEVC hardware acceleration here. Not the general compute hardware acceleration. They are completely different.
Q16: How's the quality of the hardware encoded video?
A: Not as good as software encoder in general. But if at high bitrate, the difference isn't that noticeable.
Q17: When will we able to get HEVC encoding as well?
A: I don't know. But you can always boot to Windows and use HEVC hardware encode. (Update: FULL HWAccel including HEVC encoding can also be achieved by using OpenCore. Not sure how safe, but it works stably on my cMP)
Q18: How much improvement can I expect?
A: Well, depends on usage. But a quick iMovie 4K H264 export test shows a Vega 64 can reduce the export time from 6:19 to 1:25, which means reduced the export time by ~77% (on a dual X5680 cMP).
Q19: Why VideoProc shows no HEVC decode after the mod?
A: I don't know why, but this is normal in this case. My recommendation is to download demo HEVC video from the above link, and play it via QuickTime (or simply via Finder preview). As long as the CPU usage only stay around 20% (but not 800%), that means HEVC decoding is working properly.
For those who use OpenCore method, you should able to see HEVC HWAccel avail. If not there, please click the little reload icon.
Q20: Should I install the newer version of Lilu and WhateverGreen?
A: NO. Despite the newer version can work, but provide no extra function in this case, and I have no idea if the newer one has poorer stability. If I found a better way / kext to use. I will update the post accordingly. (Update: For Catalina, please install Lilu 1.4.0 and WhateverGreen 1.3.5. And so far, all newer Lilu and WEG only provide better result due to bug fix. Users should be OK to install the latest version)
Q21: I experienced system freeze, Console log shows "GPU Restart" event, what should I do?
A: PRAM reset will bring your system back to normal. If you are with Polaris GPU (RX560, RX570, RX580, etc), it seems some people are affected by this bug. What I found is an alternate method by directly hex edit the AppleGVA file seems more stable for these GPUs. Initial test shows very safe to do so, even I completely destroy the AppleGVA file, the OS can still boot to desktop. If you prefer to go this route, please make sure you know how to restore the file (or even completely recover from an unbootable OS). The info is at post #205. (update: 10.14.6 shows extremely good stability, highly recommended for RX580 users)
Q22: How do I know if hardware acceleration is really working?
A: My suggestion is by using Terminal. Detail info in post #273. You may also use OpenGL Driver Monitor to observe the UVD / VCE activities (link).
Q23: Can I use this mod with MVC flashed RX580?
A: According to this post, the answer is YES.
Q24: Is it possible to turn OFF hwaccel without reboot. So that I can enjoy DRM streaming anytime?
A: Only the alternate method allow ON/OFF on the fly. If you don't want to use terminal / Finder to do that every time, you can make two simple apps to do that, procedures at here. (Update: My OpenCore package should allow you to play DRM streaming video by default)
Q25: Does background rendering still works in FCPX?
A: Background rendering still works for both methods. This is completely independent to hwaccel. I turned that off in the above demo is just to illustrate the real time timeline editing performance. Not because of it can't work.
Q26: I tried the hex edit method many many times, it doesn't work, but I am sure I did everything right. What should I do?
A: May be you should try open a new user profile, and see if it help (reference link)
Q27: Why the "Graphics" in VideoProc HWAccel page shows N/A?
A: No idea, but it's just a cosmetic error in this case. (Update: It seems VideoProc looking for the key word "AMD". e.g. If the card ident as
P.S. For those who want to add the prefix
Q28: Why VideoProc shows that I am use "Intel "HWAccel when converting videos?
A: Also no idea, but again, it's just a cosmetic error in this case. (Update: So far, it shows that VideoProc only knows if HWAccel is working (via VideoToolBox), but it can't tell which hardware is providing HWAccel in macOS. Therefore, it use a "one size fit all" solution. Due to most Mac out there use the iGPU Intel Quick Sync to provide HWAccel. VideoProc seems only will display
Q29: Why VideoProc shows nothing activated but everything seems working as expected?
A: As long as you can see this tick, which mean HWAccel is activated. From my observation, this tick always change automatically.
For the Hardware Info Detected page, please click the little reload icon in order to let VideoProc to show you the latest status.
Q30: will this work on 6,1?
A: Only via eGPU (Polaris or higher).
Q31: will this work on 3,1?
A: Yes (link)
Q32: Why "About This Mac" shows a different clock speed after installing OpenCore?
A: The CPU still work at its native clock speed, nothing is really changed. The only thing changed is just the presentation. We inject the iMac Pro board ID via OpenCore to activate HWAccel in macOS. Therefore, macOS also use the iMac Pro's format to show the CPU clock speed (e.g. 3.46GHz will be rounded up to 3.5GHz). This is normal, 100% cosmetic, and purely 2 digit vs 3 digit presentation.
Full HWAccel achieved now!
Everything is covered in the OpenCore thread. The step by step tutorial to enable AMD hardware acceleration is now at here, but I strongly recommend you go through the OpenCore thread before you do anything.
OpenCore on the Mac Pro
This guide explains how to use the excellent OpenCore boot loader to install, run, and update the latest version of macOS on the MacPro5,1, resulting in a clean, unaltered operating system just like on a supported Mac.
forums.macrumors.com
The same method works in both Mojave and beyond.
------ The procedure below is depreciated, just keep in this post as a record (but I will still maintain the FAQ section to keep that up to date. Please read through the FAQ before you ask anything. Any question that already covered in FAQ won't be answered by me.). For those who don't need HEVC hardware encode, and prefer not to install OpenCore. You may still follow the procedure below to activate HWAccel ------
10.14.5 is now official. And I can confirm that AMD card users (Polaris or above) can enjoy H264 hardware encode / H264 hardware decode / and HEVC hardware decode.
The procedure is as follow: (please read through the entire Q&A section BEFORE you do anything. You should know how to recover, or may need to use alternate procedure, etc)
1) Keep SIP disabled
2) Download Lilu.kext
3) Download WhateverGreen.kext
4) open Lilu.kext (right click -> show package contents)
5) enter Contents
6) create folder "Plugins" (N.B. This folder is INSIDE Contents, please do NOT miss step 5)
7) Copy the WhateverGreen.kext into Plugins
8) Copy the whole modded Lilu kext to /Library/Extensions/
9) Open terminal
10) Enter
Code:
sudo chmod -R 755 /Library/Extensions/Lilu.kext
11) Enter
Code:
sudo chown -R root:wheel /Library/Extensions/Lilu.kext
12) Enter
Code:
sudo touch /Library/Extensions
13) Enter
Code:
sudo kextcache -update-volume /
14) Enter
Code:
sudo nvram boot-args="shikigva=96 shiki-id=Mac-7BA5B2D9E42DDD94"
15) Reboot
FAQ, please read through this section BEFORE you ask. I won’t answer anything that already covered in this section.
Q1: Is this safe?
A: Tested since 10.14.5 beta 4, so far, no system damaged by this mod. (
Q2: Is there any down side?
A: Yes, for Lilu or hex edit method, iTunes, TV+, and Safari Netflix DRM streaming may not work, but fully download DRM movie should not be affected. And Netflix on Chromium base browsers (Chrome, Brave, Edge, etc) are OK.
DRM streaming can work flawlessly with the OpenCore method.
Q3: Any other known issue?
A: Photos app crash if HDMIAudio.kext is also installed. Besides, few more users reported system freeze (in 10.14.5). It seems only Polaris GPU is affected e.g. RX580. So far, all freeze only occur in Apple apps. e.g. FCPX, Photos, Compressor, etc. 3rd party apps such as PP, DV, VideoProc are not affected. However, Polaris GPU hwaccel seems perfectly stable in 10.14.6 beta by hex editing the AppleGVA file. Beside, Adobe Media Encoder seems will cause the video engine stall. Not system freeze / crash, but the video engine simply like stop working, perform extremely bad. Normal performance can only recover by reboot. (Update: 10.14.6 official release seems fixed most of these issue. At least, I have no way to reproduce any freeze with my RX580)
Q4: If my system crash after the mod, how to fix it?
A: For Lilu / OpenCore 0.5.5 method, NVRAM reset will remove the boot argument, and disable the kexts / OpenCore. So, will effective revert your system back to the original state. Once your system boot again, you can remove the kext / OpenCore.
For Hex edit method, I ran lots of tests, no way to crash the system. But if there is any instability, please restore the original file from your backup.
For OpenCore 0.5.6 and later, you have to re-mount the EFI partition -> remove the BOOT and OC folder -> reset NVRAM
Q5: What's the benefit?
A: Able to play some very demanding HEVC video (e.g. this one)
https://4kmedia.org/sony-swordsmith-hdr-uhd-4k-demo/
This is how my cMP can play this video now. Smooth playback with very low CPU usage (please use a browser that support VP9 to watch all the following Youtube videos in 4k, otherwise, you may not able to read the details)
Able to edit H264 directly smoothly, no need to transcode to ProRes anymore, greatly reduce the storage speed and capacity requirement. Most likely can improve productivity as well
Able to edit HEVC directly smoothly, no need to transcode to ProRes anymore, greatly reduce the storage speed and capacity requirement. Most likely can improve productivity as well
Can greatly improve H264 export speed with low CPU usage (depends on your CPU / GPU spec)
Able to record the screen at 4k smoothly. As you can see from the above link. My cMP now can do those stuff and still record the screen smoothly at the same time.
Q6: Can this work in 10.14.4 or before?
A: One user reported that latest 10.13.6 with Vega also work with Lilu mehtod. But RX580 will cause GPURestart fault, which freeze the display and make the OS unusable. (update: users reported hardware decode works, but H264 hardware encode will cause the crash)
Q7: Can this work in 10.15?
A: Not as good as 10.14.6. Only Lilu method, or OpenCore method work. Also, in 10.15.2, Polaris (e.g. RX580) HEVC HWAccel support is removed by Apple (WhateverGreen should fix this Polaris supportability issue. But I haven’t test it personally)
Update: HWAccel works quite well in all 10.14.6, 10.15.7, and 11.2.3 now.
Q8: Can this work for Nvidia GPU?
A: NO
Q9: Can this work for flashed 7950 etc?
A: I don't know. Please test it for me. (Update: The answer is NO, thanks bazza5938 to perform the test)
Q10: Which software can benefit from this mod?
A: This will provide hardware acceleration at system level. So far, all my tested software works (e.g. FCPX, iMovie, Handbrake, Compressor, VideoProc, DVDFab, DV, AE, PP, FFMpeg, QuickTime Player, VLC, IINA......)
Q11: If I do a NVRAM reset due to other reason, how to regain these functions?
A: For Lilu method, repeat step 14 and reboot.
Hex edit method / OpenCore 0.5.6 (post #1314) is not affected.
For OpenCore 0.5.5 (in post #594), depends on your setup, you may need to re-bless to boot via OpenCore again.
Q12: What's the recommended GPU?
A: RX560, RX580, Vega 56, Vega 64, Vega FE. As long as that card can work on cMP, brand / model doesn’t really matter (Update: for this particular purpose, Vega is definitely better than Polaris card. There is zero crash / freeze report from Vega users yet).
Q13: Why not recommend the Radeon VII or RX570, etc.
A: AFAIK, all Polaris, Vega, Navi GPU works, I just not sure how mature the overall support is. (Update: I upgraded my GPU to Radeon VII, perfectly stable, and hardware encoding is about 100% faster than RX580. Navi's HWAccel also confirmed can be activated.)
Q14: Is this QuickSync?
A: NO, QuickSync is the hardware acceleration for Intel iGPU, not the generic term for GPU video hardware acceleration. AMD GPU use UVD (Unified Video Decoder) for decoding, and VCE (Video Coding Engine) for encoding. All this will be controlled by VideoToolBox automatically in macOS, virtually transparent to users. It's the same concept as QuickSync, but not QuickSync.
Q15: I can see that my GPU is working in Compressor before this mod (on a cMP). Is that mean I already have hardware acceleration?
A: NO, we are talking about H264 / HEVC hardware acceleration here. Not the general compute hardware acceleration. They are completely different.
Q16: How's the quality of the hardware encoded video?
A: Not as good as software encoder in general. But if at high bitrate, the difference isn't that noticeable.
Q17: When will we able to get HEVC encoding as well?
A: I don't know. But you can always boot to Windows and use HEVC hardware encode. (Update: FULL HWAccel including HEVC encoding can also be achieved by using OpenCore. Not sure how safe, but it works stably on my cMP)
Q18: How much improvement can I expect?
A: Well, depends on usage. But a quick iMovie 4K H264 export test shows a Vega 64 can reduce the export time from 6:19 to 1:25, which means reduced the export time by ~77% (on a dual X5680 cMP).
Q19: Why VideoProc shows no HEVC decode after the mod?
A: I don't know why, but this is normal in this case. My recommendation is to download demo HEVC video from the above link, and play it via QuickTime (or simply via Finder preview). As long as the CPU usage only stay around 20% (but not 800%), that means HEVC decoding is working properly.
For those who use OpenCore method, you should able to see HEVC HWAccel avail. If not there, please click the little reload icon.
Q20: Should I install the newer version of Lilu and WhateverGreen?
A: NO. Despite the newer version can work, but provide no extra function in this case, and I have no idea if the newer one has poorer stability. If I found a better way / kext to use. I will update the post accordingly. (Update: For Catalina, please install Lilu 1.4.0 and WhateverGreen 1.3.5. And so far, all newer Lilu and WEG only provide better result due to bug fix. Users should be OK to install the latest version)
Q21: I experienced system freeze, Console log shows "GPU Restart" event, what should I do?
A: PRAM reset will bring your system back to normal. If you are with Polaris GPU (RX560, RX570, RX580, etc), it seems some people are affected by this bug. What I found is an alternate method by directly hex edit the AppleGVA file seems more stable for these GPUs. Initial test shows very safe to do so, even I completely destroy the AppleGVA file, the OS can still boot to desktop. If you prefer to go this route, please make sure you know how to restore the file (or even completely recover from an unbootable OS). The info is at post #205. (update: 10.14.6 shows extremely good stability, highly recommended for RX580 users)
Q22: How do I know if hardware acceleration is really working?
A: My suggestion is by using Terminal. Detail info in post #273. You may also use OpenGL Driver Monitor to observe the UVD / VCE activities (link).
Q23: Can I use this mod with MVC flashed RX580?
A: According to this post, the answer is YES.
Q24: Is it possible to turn OFF hwaccel without reboot. So that I can enjoy DRM streaming anytime?
A: Only the alternate method allow ON/OFF on the fly. If you don't want to use terminal / Finder to do that every time, you can make two simple apps to do that, procedures at here. (Update: My OpenCore package should allow you to play DRM streaming video by default)
Q25: Does background rendering still works in FCPX?
A: Background rendering still works for both methods. This is completely independent to hwaccel. I turned that off in the above demo is just to illustrate the real time timeline editing performance. Not because of it can't work.
Q26: I tried the hex edit method many many times, it doesn't work, but I am sure I did everything right. What should I do?
A: May be you should try open a new user profile, and see if it help (reference link)
Q27: Why the "Graphics" in VideoProc HWAccel page shows N/A?
A: No idea, but it's just a cosmetic error in this case. (Update: It seems VideoProc looking for the key word "AMD". e.g. If the card ident as
AMD Radeon VII
, VideoProc can show it properly. But if the card ident as Radeon VII
, then VideoProc can't show its name)P.S. For those who want to add the prefix
AMD
in front of they graphic card's name, please join the OpenCore thread. We can rename the graphic card to whatever we want in OpenCore.Q28: Why VideoProc shows that I am use "Intel "HWAccel when converting videos?
A: Also no idea, but again, it's just a cosmetic error in this case. (Update: So far, it shows that VideoProc only knows if HWAccel is working (via VideoToolBox), but it can't tell which hardware is providing HWAccel in macOS. Therefore, it use a "one size fit all" solution. Due to most Mac out there use the iGPU Intel Quick Sync to provide HWAccel. VideoProc seems only will display
Intel
whenever HWAccel is in use, regardless if the computer is actually using AMD VCE / VCN, Intel Quick Sync, or even M1.)Q29: Why VideoProc shows nothing activated but everything seems working as expected?
A: As long as you can see this tick, which mean HWAccel is activated. From my observation, this tick always change automatically.
For the Hardware Info Detected page, please click the little reload icon in order to let VideoProc to show you the latest status.
Q30: will this work on 6,1?
A: Only via eGPU (Polaris or higher).
Q31: will this work on 3,1?
A: Yes (link)
Q32: Why "About This Mac" shows a different clock speed after installing OpenCore?
A: The CPU still work at its native clock speed, nothing is really changed. The only thing changed is just the presentation. We inject the iMac Pro board ID via OpenCore to activate HWAccel in macOS. Therefore, macOS also use the iMac Pro's format to show the CPU clock speed (e.g. 3.46GHz will be rounded up to 3.5GHz). This is normal, 100% cosmetic, and purely 2 digit vs 3 digit presentation.
Last edited: