Contribute
Register

New DRM enabling method for systems with AMD GPU

This is the easiest method I found in Big Sur with imac smbios for drm. Add -igfxvesa to bootargs with WEG. igpu will be disabled and appletv, drm etc. works fine. If you need igpu for sidecar etc., remove and reboot. I get about additional 10 secs black screen during boot though with this -igfxvesa.
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?
 
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: 114
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.
 
-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.
 
-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.
 
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.
 
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:
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:
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.
 
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.
 
Back
Top