MP All Models Turn a "new" Sapphire RX580 PULSE into the "Mac Edition" card

sarkrui

macrumors newbie
Jan 22, 2018
12
11
ForceCompatibleRenderer = 4,
sudo nvram boot-args="shikigva=60 shiki-id=Mac-7BA5B2D9E42DDD94"
I can't find the documents that explain those shikigva options.
Accrodig to kern_shiki.hpp, shikigva=32 is for replacing board-id. So I would suggest you using the command below.
Code:
sudo nvram boot-args="shikigva=32 shiki-id=Mac-7BA5B2D9E42DDD94"
// Aside generic DRM unlock patches, which are always on, Shiki also provides a set of patches
// to workaround various issues with hardware video acceleration support.
// These are set as a shikigva boot-arg bitmask.
// For example, to enable ForceOnlineRenderer, ExecutableWhitelist, and ReplaceBoardID
// you sum 1 + 8 + 32 = 41 -> and pass shikigva=41.
ForceOnlineRenderer = 1,
AllowNonBGRA = 2,
ForceCompatibleRenderer = 4,
AddExecutableWhitelist = 8,
DisabledUnused16 = 16,
ReplaceBoardID = 32,
UnlockFP10Streaming = 64,
DeprecatedUnused128 = 128
For detailed information, please check
https://github.com/acidanthera/WhateverGreen/blob/master/WhateverGreen/kern_shiki.hpp
 
  • Like
Reactions: h9826790

startergo

macrumors 68020
Sep 20, 2018
2,217
886
ForceCompatibleRenderer = 4,

Accrodig to kern_shiki.hpp, shikigva=32 is for replacing board-id. So I would suggest you using the command below.
Code:
sudo nvram boot-args="shikigva=32 shiki-id=Mac-7BA5B2D9E42DDD94"

For detailed information, please check
https://github.com/acidanthera/WhateverGreen/blob/master/WhateverGreen/kern_shiki.hpp
These patches are for hakintosh smbios not the cMP smbios. I don't believe there are such NVRAM variables in the real Mac firmware.
 

cdf

macrumors 6502a
Jul 27, 2012
789
632
These patches are for hakintosh smbios not the cMP smbios. I don't believe there are such NVRAM variables in the real Mac firmware.
These are boot arguments and they certainly work for real Macs. At boot time, the WhateverGreen plugin reads these parameters and acts accordingly.
 

h9826790

macrumors G5
Original poster
Apr 3, 2014
14,139
6,769
Hong Kong
These are boot arguments and they certainly work for real Macs. At boot time, the WhateverGreen plugin reads these parameters and acts accordingly.
This is what I was thinking.
ForceCompatibleRenderer = 4,

Accrodig to kern_shiki.hpp, shikigva=32 is for replacing board-id. So I would suggest you using the command below.
Code:
sudo nvram boot-args="shikigva=32 shiki-id=Mac-7BA5B2D9E42DDD94"

For detailed information, please check
https://github.com/acidanthera/WhateverGreen/blob/master/WhateverGreen/kern_shiki.hpp
Thanks for the info. In that case, we may start with 32, then see if 1,4,8 make any difference (if pure 32 doesn't work).
 

startergo

macrumors 68020
Sep 20, 2018
2,217
886
These are boot arguments and they certainly work for real Macs. At boot time, the WhateverGreen plugin reads these parameters and acts accordingly.
I may be wrong, but there are places in the firmware NVRAM where an user can write and some sections/places where the user cannot write. I would imagine the board ID is the latter case. Is that correct @tsialex?
 

startergo

macrumors 68020
Sep 20, 2018
2,217
886
It shows nothing changed.
View attachment 834999

It's even more interesting that, I just remember that my AppleGVA.framework is modded. So, I resume the original one. (In other word, the OS itself is 100% vanilla now)

I've also changed "shikigva=32 shiki-id=Mac-7BA5B2D9E42DDD94" to "shikigva=60 shiki-id=Mac-7BA5B2D9E42DDD94" (I did this before I saw your post, will change it back and give it another try later)

And now I have H264 hardware accel.
View attachment 835012

Quick check shows HEVC hardware playback still there. And it's working perfectly in Finder and QuickTime Player (in 10.14.0, user must fully close the player and open it again in order to play another HEVC video smoothly, which isn't perfect).

H264 hardware playback also working perfectly in Finder and QuickTime player (I tested it with very high bitrate H264 file, and the CPU usage is extremely low, which I am confident that H264 hardware playback is working correctly).


In FCPX, both H264 and HEVC can be edited, no error, no crash / hang, but playback isn't that smooth (I switched OFF all background rendering and optimised / proxy media, so ,100% playing back from the original HEVC / H264).
View attachment 835015

However, here is the BIG news. H264 hardware encoding is working!!!

I use this setting to export a H264 video (30 seconds long).
View attachment 835005

The encoding is clearing doing by the GPU but not CPU. And I only need 40 seconds to export this video.
View attachment 835006

This is the outcome
View attachment 835007
Great news!
So to conclude the board Id does not matter. You only have LILU and Whatevergreen and the original AppleGVA.framework right?
 

startergo

macrumors 68020
Sep 20, 2018
2,217
886
Not 100% sure yet.

But I can confirm you that the AppleGVA.framework is 100% original.

Lilu + WEG should be required.

But I am not 100% sure if NVRAM boot argument
Code:
sudo nvram boot-args="shikigva=60 shiki-id=Mac-7BA5B2D9E42DDD94"
is also required.

Anyway, Hendrik just confirm this method also work for Radeon Vii, super fast H264 encoding now.
[doublepost=1556875218][/doublepost]More tests shows H264 hardware encoding, H264 / HEVC hardware decoding can also working correctly in FFmpeg

HEVC to H264
View attachment 835020

H264 to H264 (re-encoding with different bitrate)
View attachment 835021

Of course, 100% using hwaccel isn't the best way to transcode in general (because unable to utilise the CPU resources, but over stress the GPU). We better use CPU to decode and GPU to encode (this should be true on a properly upgrade cMP), but at least, we now proved it can be done.
[doublepost=1556875860][/doublepost]Here is how I make it work. (ONLY tested for 10.14.5 build 18F127a)

1) Keep SIP disabled

2) Download Lilu.kext version 1.3.5

3) Download WhateverGreen.kext version 1.2.8

4) open Lilu.kext

5) enter Contents

6) create folder "Plugins"
View attachment 835024

7) Copy the WhateverGreen.kext into Plugins
View attachment 835023

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=60 shiki-id=Mac-7BA5B2D9E42DDD94"
15) Reboot
Great! Could you also add it to the:
https://forums.macrumors.com/thread...-5-1-upgrade-guide-sticky-discussion.2099092/

What is sad is that Apple decided to block this feature in Mojave. And I don't see the reason for that as it is enabled in Windows and you can use Windows on the cMP.
 
  • Like
Reactions: octoviaa

Hendrik94

macrumors regular
Oct 17, 2014
138
263
Germany
I can confirm this also works with Vega Cards.

Tested with RX Vega 64 and Radeon VII sadly those X5690 bottleneck in SingeCore Performance but I will not try it on my main rig until 10.14.5 is final.....

Also DRM Content Playback does NOT!! work (If you need that I don't use it)
Bildschirmfoto 2019-05-03 um 10.36.11.png
 
  • Like
Reactions: h9826790

bsbeamer

macrumors 68040
Sep 19, 2012
3,652
1,929
Has anyone tried this same method with the publicly available 10.14.4 18E226, or will this ONLY work in 10.14.5 beta versions at the moment?
 

h9826790

macrumors G5
Original poster
Apr 3, 2014
14,139
6,769
Hong Kong
I can confirm this also works with Vega Cards.

Tested with RX Vega 64 and Radeon VII sadly those X5690 bottleneck in SingeCore Performance but I will not try it on my main rig until 10.14.5 is final.....

Also DRM Content Playback does NOT!! work (If you need that I don't use it)
View attachment 835044
Correct, I only get red screen and the sound when playing DRM content, no solution to get both hardware accel and DRM content playback at the same time yet.

However, it's relatively simple to temporarily disable hardware accel by clearing the boot argument, and reboot. Then the user can enjoy the movie. After than, set the boot argument again as per step 14, and reboot again to get hardware accel back. With SSD, 2 reboots only cost a min, not too bad IMO.
 
  • Like
Reactions: Hendrik94

Hendrik94

macrumors regular
Oct 17, 2014
138
263
Germany
However, it's relatively simple to temporarily disable hardware accel by clearing the boot argument, and reboot. Then the user can enjoy the movie. After than, set the boot argument again as per step 14, and reboot again to get hardware accel back. With SSD, 2 reboots only cost a min, not too bad IMO.
True, after all I use an ATV 4K anyway for iTunes... AND Netflix works with 1080p in Chrome (I think even with Hardware accel)
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.