Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.
Finally, FULL HWaccel achieved (including HEVC hardware encode)
View attachment 873373

The exact condition still unknown due to few variables exist.

My understanding so far. The requirements are

1) OpenCore
2) Inject iMac Pro SMBIOS (via OpenCore)
3) Rename the graphic card APCI name to GFX0 (via OpenCore)

Since we ident the cMP as iMac Pro 1,1 now. There is no need to patch the AppleGVA framework anymore.

However, I am not 100% sure if WhateverGreen still require (boot argument is 100% not required anymore, but the existence of WhateverGteen may be crucial)
Great work!! Look forward to the full write up
 
HEVC encoding function tested. Pass with flying colour.
Screenshot 2019-10-31 at 10.18.10 AM.png


And this is the output file media info.
Screenshot 2019-10-30 at 4.23.13 AM.png
 
Last edited:
I did the hex mod and I wanted to thank everyone for sharing this info. After putting a sapphire NItro+ Vega 64 in my cMP 5,1 I was disappointed with FCPX performance with HVEC 4K playback in the editor. There were still stutters and real-time playback of transitions were rough. This fixed it though and not only does FCPX play smoothly but I can use many other applications at the same time with no issues. it’s awesome. After the last security update, however, I noticed an issue where FCPX launches and the VTDecoderXPCService spikes and stuttering is back. I re-applied the hex mod (paste/rename of bak file of previous mod). So now it works again but sometimes it seems like it’s not working even though videoproc shows it enabled still. When it’s playing properly Final Cut Pro and VTDecoderXPCService are both around 30% cpu or less. When it starts stuttering it never goes away even after killing the processes. The VTDecoderXPCService just churns and burns at 800% or more until I stop playback. Resume playback and it pegs again. A computer reboot or just waiting a while to reopen FCPX will be successful sometimes, but sometimes it’s stubborn and doesn’t want to go away. Anybody else get this? This whole fix would be perfect if I could figure out why it pegs the cpu sometimes. I wonder if the security update changed something?
 
Last edited:
@wangchungyoon
You do know that the update wipes out the Alternative Hex method don’t you?
You have to repeat the process after the update.

Yeah, I saw the poster’s comment earlier about it, so I replaced it with a backup of the modded framework I made from before. I wish I had redone the mod on the file that came with the security update but I didn’t think about that until after the fact. I don’t have it now, it’s been trashed.

EDIT: Apparently I had not installed the security update yet. Just did it and will do alternative mod manually again.

EDIT2: Ok, I'm up to date and I still have the issue in FCPX. It could just be a bug in the 10.4.7 version of the software or something. Specifically, my GoPro7 HEVC videos. They play great when FCPX is running properly, but when the issue pops up, it seems to revert to CPU transcoding. If I kill both FCPX and VTDecoderXPCService and restart, it will often go away. I tried CPUThrottling VTDecoderXPCService, but when the bug is active that just cripples it even more. Anyway, if anybody else experiences this, ping me.

EDIT 3: I found resetting Final Cut Pro settings with Cmd + option + click will fix the issue
 
Last edited:
Ready to try out here to. Would highly appreciate your steps to reproduce =).

Of course I will be more than happy if anyone willing to join the test / development.

However, please think twice before you do that, by spoofing the SMBIOS in OpenCore, both SMC and CPU Base Frequency will be messed up as well.

e.g. All sensors missing, but only the PSU and PCIe fan still show up (controllable, and the fan RPM is correct, and will react automatically when I stress the GPU)
Screenshot 2019-10-30 at 3.56.22 AM.png


And the incorrect CPU Base Frequency obviously makes the CPU only deliver ~50% of its performance
iMad Pro.png


It's OK for my own test. The CPU now won't even go above 50°C (by using VirtualSMC, I can read the CPU temperature at per core level). So I don't need to worry about overheat even though not sure if the Intake / Exhaust / Booster fans are still working properly.
Screenshot 2019-10-30 at 6.06.29 AM.png


But since it really mess up something behind the scene. I don't recommend anyone go this route at this moment. Unless who really enjoy this kind of test, and know how to deal with the possible abnormalities.

By the way, if anyone want to do the test, please join the OpenCore thread. It's more appropriate to discuss OpenCore settings at there.

 
Finally, FULL HWaccel achieved (including HEVC hardware encode)
View attachment 873373

The exact condition still unknown due to few variables exist.

My understanding so far. The requirements are

1) OpenCore
2) Inject iMac Pro SMBIOS (via OpenCore)
3) Rename the graphic card APCI name to GFX0 (via OpenCore)

Since we ident the cMP as iMac Pro 1,1 now. There is no need to patch the AppleGVA framework anymore.

However, I am not 100% sure if WhateverGreen still require (boot argument is 100% not required anymore, but the existence of WhateverGteen may be crucial)
WOW this is HUGE !! So only Polaris, Vega, and Navi cards will do this?
 
For those who looking for Catalina, and still want to boot as 5,1 (not as iMac Pro or 7,1, which screw up the SMC and CPU base frequency). I just tested cdf’s OpenCore method with the 10.15.1 official release.

With Lilu, WhateverGreen, and the boot argument, HEVC decoding also work now. The situation is same as Mojave, only HEVC encoding is missing.

If want HEVC encoding, CPU performance will be cut for ~50% and all temperature sensors will be missing. I don’t think that’s an operational configuration (despite it pass all stress tests, benchmarks, no KP, no freeze, no crash, fan still spin up when GPU works hard......)
 
With Lilu, WhateverGreen, and the boot argument, HEVC decoding also work now. The situation is same as Mojave, only HEVC encoding is missing.

Is there an alternative method for Catalina, like Mojave HEX edit? I looked for the file in Catalina but it doesn't seem to be in the same place. Searching my drive yielded no results either.
 
This was exciting to find. I just completed this on a 2010 Mac Pro and what a difference it has made. Currently I have an RX580 card. Would a Vega 56/64 make any difference? With this modification is my biggest concern.
 
This is the one stop shop HWAccel guide. The 1st half was invented by cdf, credit to him. I just put everything into a single post. So that no need to visit the OpenCore thread for those only interested in HWAccel. I won't explain anything in this post. The steps here just for "how to make it work". If you want to know what those setting really means. Please go to the OpenCore thread, everything should be covered at there.


WARNING:
For those who need dual boot, please stay with the old method. I have no time to test the dual boot compatibility with this method yet. (Update: dual boot Windows with NVRAM protection works, but that required latest 0.5.6 beta. I will wait until 0.5.6 goes official, then amend this post)

For those who want to run Catalina on a dual processor cMP, you may do this mod. HOWEVER, you will need to add AppleMCEReporterDisabler.kext by yourself. A simple work around is to use Startergo's EFI folder (link in step 4).

For those who need multiple monitors, you must follow all steps below. Otherwise, some display ports may not work. Also, you may experience some screen flickering when just boot to desktop. But then should be stabilised. For single monitor users, you may skip steps 4a, 4b and 12a, but expect only the 1st display port on your graphic card work. It's your choice. (config file updated for perfect DRM streaming, all users should follow all steps below now regardless monitor count)

iStat menu sensors won't work. But MacsFanControl and smcFanControl, and TG-Pro can still control the fans. However, most sensors reading may still disappear (For TG_Pro, you can enable Hackintosh support to recover most sensors reading). AFAIK, all sensors still work, just the 3rd party software not necessary able to read them. (all sensors working now)

At this moment, the only known bug is that the CPU will fix at the base clock speed (e.g. 3.46GHz for W3690), and macOS may report the wrong clock speed (e.g. 3.5GHz for W3690). So far, expect Turbo Boost is practically disabled, and about 5W higher idle power consumption (per CPU), there is no other known adverse effect. (This bug is fixed in the latest OpenCore 0.5.5 beta)

BACKUP! BACKUP! and BACKUP! before you do anything.

I also highly recommend you have a bootable clone of your current boot drive. Or at least have a Bootable installer right next to you, just in case something goes wrong.

The whole process does not need boot screen. However, I still highly recommend you have a Mac EFI UGA graphic card immediately available to you when required.

So, now if you willing to take the risk, you may start. And please report back if there is any error you. I prefer some experienced users as testers, and then tell me if it work or not. There is no guarantee that the follow steps (and my uploaded config.plist file) are 100% correct. The steps and config in this guide are a bit different than my actual setup. Because I fine tune the setting a bit to fit my own cMP. It is extremely hard to keep everything as simple as possible, but also can fine tune for different configs cMP. Therefore, the following steps are developed for "one method fit all 5,1".

000) Dump your current BootROM with ROMTool. I have absolutely no idea if this SMBIOS spoofing method is 100% safe to the firmware. For those who worry about may brick the logic board, please stand by for at least few more weeks. So that some pioneers can test this method, and analyse if this is safe to do so. At this moment, we simply lack of evidence to decide if it's safe / unsafe. (Credit to Tsialex, he advice me that still no evidence to tell if OpenCore with SMBIOS Spoofing will write anything into the private NVRAM section. Which has no way to erase by normal user except flash your backup BootROM image back to the cMP. We already started the investigation, stay tuned).

00) Remove Lilu and WhateverGreen if you installed them before. Also, revert the AppleGVA.framework if you edit that before.

0) Disable SIP -> Shutdown -> Remove ALL hard drives (as safety precaution. Also easier for step 7) except your current boot drive (I expect it's with the latest Mojave, but Catalina should also work), make sure the graphic card installed in slot 1, then boot to desktop

[Last update: 16 Feb 2020]

1) Download OpenCore 0.5.5

2) Download AppleSupport 2.1.1

3) Download Clover Configurator

4) Download one of the Config.plist (credit to Startergo to find out the key parameter. For dual processor 5,1 + Catalina, please use the package provided by Startergo. Your setup need AppleMCEReporterDisabler.kext, which is not included in my package. I don't have dual processor cMP, can't test it now.)

Universal - the recommended config to use, good for both Mojave and Catalina (does NOT provide macOS update in Catalina)

Upgradeable - use with caution, will allow you to upgrade to Catalina, or perform OS update inside Catalina (CPU Trubo Boost will be disabled. Please only use this if you want to perform Catalina OS update. No guarantee can work as expected. Only use this one if you have your own backup boot drive)

Boot Picker - experimental, for those who have non flashed (still with the factory ROM) RX580 / Vega, this config should also provide Boot Picker (otherwise, same as universal. Radeon VII users can skip this. It won't provide boot selector for you, but just 10s delay during boot.)

4a) Download Lilu 1.4.1

4b) Download WhateverGreen 1.3.6

5) Unzip everything (please ignore the version number in the screen capture. I am too lazy to make new screen capture when I update the links above)
Screenshot 2019-10-31 at 12.32.00 PM.png



6) Open terminal, and enter
Code:
diskutil list

7) You should see something like this, but with different disk identifier. If there is only one hard drive, the disk identifier should be disk0s1 for your EFI partition. Not matter what the number is, just use that number. e.g. In my case, it's disk6s1.
Screenshot 2019-10-31 at 11.21.24 AM.png


8) enter (use your own identifier if not disk0s1)
Code:
sudo diskutil mount /dev/disk0s1
and enter your admin password accordingly

9) You should now see a EFI partition mounted on your desktop. Open it, there should be a EFI folder inside, backup this folder and everything inside. I suggest make at least two backups. don't worry if you can't see the EFI folder. You can safely continue to step 10.
Screenshot 2019-10-31 at 12.00.55 PM.png


10) Copy the OpenCore-0.5.5-RELEASE/EFI folder to the EFI partition (NOT into the EFI folder in step 9). The resulting folder, /Volumes/EFI/EFI, should contain the folders OC and BOOT

11) In /Volumes/EFI/EFI/OC/Drivers, remove all .efi file except FwRuntimeServices.efi
Screenshot 2019-10-31 at 12.16.07 PM.png


12) Copy config.plist to /Volumes/EFI/EFI/OC
Screenshot 2019-10-31 at 12.15.57 PM.png


12a) Copy Lilu-1.4.1-RELEASE/Lilu.kext and WhateverGreen-1.3.6-RELEASE/WhateverGreen.kext to /Volumes/EFI/EFI/OC/Kexts
Screenshot 2019-10-31 at 12.33.28 PM.png


13) Go back to terminal, and enter
Code:
sudo bless --mount /Volumes/EFI --setBoot --file /Volumes/EFI/EFI/OC/OpenCore.efi

If you reboot now, your 5,1 should have full HWAccel. DRM streaming should also work (e.g. Netflix in Safari)。[If not work as expected, please read through post #1 FAQ section before you ask]

If anything goes wrong, NVRAM reset should disable OpenCore and make your cMP boot normally (may not work if you are using the Upgradable config.plist).

However, if that doesn't work, you should swap in your backup boot drive, remove the modded hard drive, and try NVRAM reset again.

If still doesn't work, swap in your Mac EFI UGA graphic card to see what's wrong.

Once you can boot to desktop, you can shutdown and re-install you modded hard drive. If you replace the EFI folder by your backup, OpenCore and all associated kexts will be completely removed from your
boot drive. That should go back to the "normal" state.

If you use the Upgradable config plist, this mod will also makes the Catalina update shows up. It should work, but no guarantee.
Screenshot 2020-01-22 at 4.15.36 PM.png


And please report back if the above can actually work, thanks!
 

Attachments

  • Config-Upgradable.zip
    2.5 KB · Views: 696
  • Config-Universal.zip
    2.5 KB · Views: 1,090
  • Config-Boot Picker.zip
    2.5 KB · Views: 886
Last edited:
This is the one stop shop HWAccel guide. The 1st half was invented by cdf, credit to him. I just put everything into a single post. So that no need to visit the OpenCore thread for those only interested in HWAccel.

A big thanks to you. Will try it as soon as im not relied on my MacPro for productive work.

just to be sure, does this apply to catalina and theres no CPU loss with this method?
 
A big thanks to you. Will try it as soon as im not relied on my MacPro for productive work.

just to be sure, does this apply to catalina and theres no CPU loss with this method?

Sure, please do NOT rush to try. I just added a warning about may brick the cMP. At this moment, we simply have no evidence to tell if it's safe or not.

Correct, the same procedure also good for Catalina. HOWEVER, this test only be carried out on my single process 5,1. Due to the new AppleIntelMCEReporter.kext in Catalina, spoofing as iMac Pro may have stability / performance issue for dual processor models.
FULL HWAccel Catalina.png


CPU Performance now confirmed can be at the normal range with correct setting. It was my fault to turn off the VMM flag. cdf emphasised that in his guide. I intentionally turned that off during test. And which actually lead to CPU performance drop. (The captured score isn't that high, I was doing a few things during benchmarking. All I want is just to get a rough figure to confirm performance level normal. So, this "little bit lower than normal score" most likely not because of OpenCore).
Screenshot 2019-10-31 at 7.14.01 AM.png
 
Last edited:
9) You should now see a EFI partition mounted on your desktop. Open it, there should be a EFI folder inside, backup this folder and everything inside. I suggest make at least two backups.
Just having a look at this but will wait until the experts have given the all clear hopefully! However, this might be a silly question but my EFI partition is completely empty with no folder in it.
 
Just having a look at this but will wait until the experts have given the all clear hopefully! However, this might be a silly question but my EFI partition is completely empty with no folder in it.

That sounds weird to me. Can you post the screen capture of you diskutil list?
 
That sounds weird to me. Can you post the screen capture of you diskutil list?
Thanks for looking at this. It is disk0s1 which is a NVME disk with Catalina 15.1. This is the boot disk. If I mount the other EFI for the SATA SSDs then there is a folder.
 

Attachments

  • Screenshot 2019-10-31 at 16.32.33.png
    Screenshot 2019-10-31 at 16.32.33.png
    151.8 KB · Views: 385
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.