Contribute
Register

New DRM enabling method for systems with AMD GPU

Joined
Jun 22, 2020
Messages
25
Motherboard
Gigabyte Aorus B360 Gaming 3
CPU
i7-9700K
Graphics
RX 580
Mac
  1. iMac
Mobile Phone
  1. iOS
I gave it a try and it didn't work for me. When my IGPU is enabled with -igfxvesa
as a boot argument, WEG configures it using an Nvidia framebuffer instead of the
usual Intel Capri framebuffer for my 3rd generation CPU. I tried with an HP 8300
configured as a MacPro6,1 in Big Sur, and an HP 8300 configured as an iMacPro1,1
in Big Sur. I tried with IGPU off or on, secondary or primary in BIOS, headless or
undefined.

Do you define your IGPU in device properties? Which iMac SMBIOS are you using?
-igfxvesa disables the intel acceleration. So you have to push amd dgpu profile. I use the attached kext.

This is what I use.
Smbios - imac19,1
Bios - igpu enabled
igpu properties - headless platform id
Kexts - WEG (no shikigva), AMDRadeonpro
Everything works except drm

For drm, add -igfxvesa to boot arg and reboot.
 

Attachments

  • AMDRadeonPro.kext.zip
    15.4 KB · Views: 61
Joined
Dec 2, 2011
Messages
44
Motherboard
AsRock Z370 Pro4 3.20
CPU
i7-8700k
Graphics
RX 580
Mac
  1. MacBook Pro
  2. Mac mini
Mobile Phone
  1. Android
  2. iOS
How did you manage to fix Apple TV without changing to iMacPro or MacPro SMBIOS?
Yes, I'm using SMBIOS 19,2 and OC 0.6.3. Here are the slimmed down settings to get AppleTV working:
iGPU PciRoot(0x0)/Pci(0x2,0x0) AAPL,ig-platform-id 03001259
dGPU PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0) AAPL,slot-name Internal@0,1,0/0,0
BIOS iGPU memory assigned 256mb, but iGPU multi monitor disabled in bios.

You will still need to use Chrome for online content, and 4k in youtube appears to be not as smooth(maybe a bug in Safari). Anyway, that's about as streamlined I've got it, but it adds boot time. Can't see any errors in the logs, but clearly a 14 second delay. A work in progress. Hope this helps.
 
Joined
Dec 2, 2011
Messages
44
Motherboard
AsRock Z370 Pro4 3.20
CPU
i7-8700k
Graphics
RX 580
Mac
  1. MacBook Pro
  2. Mac mini
Mobile Phone
  1. Android
  2. iOS
-igfxvesa disables the intel acceleration. So you have to push amd dgpu profile. I use the attached kext.

This is what I use.
Smbios - imac19,1
Bios - igpu enabled
igpu properties - headless platform id
Kexts - WEG (no shikigva), AMDRadeonpro
Everything works except drm

For drm, add -igfxvesa to boot arg and reboot.
I'll give that kext a go.
 
Joined
Dec 28, 2018
Messages
11
Motherboard
Gigabyte Z390 AORUS PRO WIFI
CPU
i7-8700K
Graphics
RX 5700 XT
Mobile Phone
  1. iOS
-igfxvesa disables the intel acceleration. So you have to push amd dgpu profile. I use the attached kext.

This is what I use.
Smbios - imac19,1
Bios - igpu enabled
igpu properties - headless platform id
Kexts - WEG (no shikigva), AMDRadeonpro
Everything works except drm

For drm, add -igfxvesa to boot arg and reboot.
I tested these configs with AMDRadeonPro kext, and while Apple TV worked, DRM on Safari didn't.
 
Joined
Jun 22, 2020
Messages
25
Motherboard
Gigabyte Aorus B360 Gaming 3
CPU
i7-9700K
Graphics
RX 580
Mac
  1. iMac
Mobile Phone
  1. iOS
Yes, drm on safari is an issue since catalina. Only options for that are imacpro smbios or another browser. Apple tv and quick time drm works fine with this fix. Youtube 4k is smooth too with or without this fix.
I heard the kext is supposed to improve hevc hardware acceleration too as it tells mac to load radeon pro settings. I noticed agpm is also handled better with this kext.
 
Joined
Sep 20, 2011
Messages
87
Motherboard
Gigabyte Z370M D3H
CPU
i5-8600K
Graphics
RX 580
Mac
  1. iMac
  2. MacBook Pro
Mobile Phone
  1. iOS
Netflix did not work on any of my computers using Safari and Catalina. Now updated to BigSur on a 19,1 Gigabyte z370-amd580 hack and also a NUC8i3 (macmini8,1) both using OP 0.6.3, it does not work. Seems complicated. No problem when using Chrome.
 
Last edited:
Joined
Dec 2, 2011
Messages
44
Motherboard
AsRock Z370 Pro4 3.20
CPU
i7-8700k
Graphics
RX 580
Mac
  1. MacBook Pro
  2. Mac mini
Mobile Phone
  1. Android
  2. iOS
well, I turned off iGPU in the bios (memory set to AUTO that fully disables it), and used the .kext while still keeping with the same SMBIOS(iMAC 19,2) so not to mess up my Apple account and messages, hand-off, etc and DRM issues are also gone when using Safari.

I'm not too sure on the full implications yet with iGPU being disabled(apart from sidecar that just gives a black screen saying connecting on my iPad pro due to it needing a T2 chip or Intel iGPU), but with regards to hardware acceleration VideoProc is saying it's now using my AMD RX580 on both HEVC and H.264, but not too sure this is the case in Final Cut Pro looking at the dGPU usage. Some strange results with Final Cut Pro using different codecs(h.264,HEVC) that are supported on a RX580: very low CPU and low GPU, or high CPU, and low GPU. It looks like some codecs are being passed to hardware and others software, but does not appear optimised. Anyone got experience in this area?
 
Last edited:
Joined
Jun 22, 2020
Messages
25
Motherboard
Gigabyte Aorus B360 Gaming 3
CPU
i7-9700K
Graphics
RX 580
Mac
  1. iMac
Mobile Phone
  1. iOS
I did few tests with videoproc both with imac19,1 and windows 10 pro. Windows shows it will use both Intel 630 and RX 580 for H264 but only RX 580 for HEVC. With all drivers installed, windows speed is about 1/3rd of mac. If you enable intel graphics as connectorless, mac uses cpu, dgpu and igpu and the encoding is fast.
Disabling igpu is only helpful for drm until it is fixed. For vega or higher end dgpu, it is better to stick with imacpro1,1 without igpu but for amd rx, the dgpu/igpu/imac setup is the best.
Glad to hear safari drm works. May be I have to try imac19,2 instead of 19,1.
 
Joined
Dec 2, 2011
Messages
44
Motherboard
AsRock Z370 Pro4 3.20
CPU
i7-8700k
Graphics
RX 580
Mac
  1. MacBook Pro
  2. Mac mini
Mobile Phone
  1. Android
  2. iOS
I did few tests with videoproc both with imac19,1 and windows 10 pro. Windows shows it will use both Intel 630 and RX 580 for H264 but only RX 580 for HEVC. With all drivers installed, windows speed is about 1/3rd of mac. If you enable intel graphics as connectorless, mac uses cpu, dgpu and igpu and the encoding is fast.
Disabling igpu is only helpful for drm until it is fixed. For vega or higher end dgpu, it is better to stick with imacpro1,1 without igpu but for amd rx, the dgpu/igpu/imac setup is the best.
Glad to hear safari drm works. May be I have to try imac19,2 instead of 19,1.
completely agree. SMBIOS iMac 19,2 with iGPU as headless seems very stable and the best option I've found at the moment. I'm sure a fix will be found soon for the DRM issue.
 
Joined
Dec 2, 2011
Messages
44
Motherboard
AsRock Z370 Pro4 3.20
CPU
i7-8700k
Graphics
RX 580
Mac
  1. MacBook Pro
  2. Mac mini
Mobile Phone
  1. Android
  2. iOS
Just to update to hardware encoding:
I've done encoding testing using Windows 10 Pro and macOS 11.0.1( SMBIOS 19,2 without additional AMD kext or gfx patching in device properties, just plain OC 0.6.3) and export times are the same to the second. Interestingly, DaVinci Resolve uses more dGPU on Windows, and Cut Fine Pro seems to use less dGPU and more Intel iGPU but times are about the same. However metal bench marks using geekbench and GFXbench in Big Sur are little slower than Catalina( I guess that will be addressed in future updates). kexts used: Lilu, VirtualSMC,WEG(no shiki). Some advice if moving from clover to OC is to completely remove clover scripts, as it adds boot and shutdown scripts to update NVRAM that's not needed with OC and can mess things up.

Hope this is of some help to someone :)
Screenshot 2020-11-18 at 17.09.35.png
 
Top