Contribute
Register

Radeon RX 4XX/5XX standalone system, AMDRadeonX4250.kext (GVA support H264) does not support HEVC HW

Joined
Sep 15, 2015
Messages
150
Motherboard
Gigabyte GA-Z97X-GAMING 3
CPU
i7-4790K
Graphics
Sapphire Nitro RX 480 OC
Mac
  1. MacBook Pro
Independent which Video App you use for encoding tests, it is always good to check which GPU, iGPU or RX 5xxx or both are really used!
You can do this by running INTEL Gadget for looking after usage/load (= full speed MHz) on IGPU and other Tools like HWMonitor2 to look same (load/usage) on RX 5xx card.

Only if you verify that the GPU has much load (=working on encoding) you can be sure that your setting is OK.
Often users think RX is enoding but in reality isnt because iGPU (QSV) did the encoding...

PS:
./VDADecoderChecker
Hardware acceleration is fully supported
Is only for iGPU / QSV check - NOT for normal GPU (RX 5xx ).

This is not the case. It checks for the successful creation of a decoder via VDADecoderCreate(), which can be any supported accelerated decoder that's available. There is no way to tell the API to favor one of the other, the system(AppleGVA) framework determines which hardware decoder to use.

The one it uses is a combination of available hardware, various IORegistry entries, and the system BoardID (AppleGVA contains per-model rules in its Info.plist). I believe it uses the same rules for both the encoder and decoder, WEG/Shiki's forceOfflineRenderer fix/flag can also change which hardware is used for decode.

Generally, if you are using an SMBIOS where the real apple hardware contains an IGPU (even one not connected to anything) it's probably going to favor using the intel hardware unless you use shiki flags to patch out forceOfflineRenderer

Unfortunately there's no API to to tell which hardware the decoder chose
 
Joined
Jul 23, 2012
Messages
802
Motherboard
GA-Z77N-WIFI-F3-Clover
CPU
E3-1225 v2
Graphics
GT 640 | P4000
Mac
  1. Mac mini
This is not the case. It checks for the successful creation of a decoder via VDADecoderCreate(), which can be any supported accelerated decoder that's available. There is no way to tell the API to favor one of the other, the system(AppleGVA) framework determines which hardware decoder to use.

The one it uses is a combination of available hardware, various IORegistry entries, and the system BoardID (AppleGVA contains per-model rules in its Info.plist). I believe it uses the same rules for both the encoder and decoder, WEG/Shiki's forceOfflineRenderer fix/flag can also change which hardware is used for decode.

Generally, if you are using an SMBIOS where the real apple hardware contains an IGPU (even one not connected to anything) it's probably going to favor using the intel hardware unless you use shiki flags to patch out forceOfflineRenderer

Unfortunately there's no API to to tell which hardware the decoder chose

videotoolbox framework is the low-level framework that provides direct access to hardware encoders and decoders.

VideoToolbox
Work directly with hardware-accelerated video encoding and decoding capabilities.
 
Joined
Sep 15, 2015
Messages
150
Motherboard
Gigabyte GA-Z97X-GAMING 3
CPU
i7-4790K
Graphics
Sapphire Nitro RX 480 OC
Mac
  1. MacBook Pro
videotoolbox framework is the low-level framework that provides direct access to hardware encoders and decoders.

VideoToolbox
Work directly with hardware-accelerated video encoding and decoding capabilities.

VideoToolBox has no documented API for choosing which hardware decoder to use, nor to find out which one a given session is actually using. It's possible there are undocumented property keys that provided this, but I haven't found them yet.

It has the same limitation as the VDA framework, in that it picks the decoder for you based on the system's setup. I'm pretty sure VDA is just a thin wrapper around VTDecompressionSession anyways.
 
Joined
Aug 7, 2017
Messages
35
Motherboard
Lenovo Ideapad 330-15IKB (81DE)
CPU
i5-8250U
Graphics
UHD 620
Your dummy kext is outdate, it base on swap ID method, try dummy141 kext, should help.



My ASUS and Asrock mobos also have this issue, due to some ACPI code are missing on usb ssdt table, correct ACPI code then all usb ports work with new SMBIOS like iMacPro1,1.

hi !
i have a RX 470 GPU and , i am on macos high sierra 10.13.6
i also changed the smbios to iMacpro1,1
can you please tell me what dummy kext to use to enable encoding and decoding ?
also should i install it in clover kexts folder or S/L/E ?
 
Joined
Oct 25, 2013
Messages
1,053
Motherboard
MSI B250M PRO-VHD
CPU
i3-7100
Graphics
RX 570
i have a RX 470 GPU and , i am on macos high sierra 10.13.6
i also changed the smbios to iMacpro1,1

For RX470, AMD GVA is native supported on 1013.6, no dummy kext is required.
DGPU must attached to device GFX0 for GVA HEVC support.

Do not use SMBIOS iMacPro1,1 on 10.13.6, system will freeze due to hwe420 not yet supported by AppleGVA and graphic kexts.

can you please tell me what dummy kext to use to enable encoding and decoding ?
also should i install it in clover kexts folder or S/L/E ?

From 10.14.1 up, dummy141 kext is required to enable AMD GVA support, install it in Clover/kexts/Other folder.

On 10.14.4 beta, hwe420 is supported by RX4XX/5XX graphics kexts, AMD GVA H264 encoder will work properly, SMBIOS iMacPro1,1 is recommended (recently, the only SMBIOS support hwe420).
 
Joined
Jan 30, 2012
Messages
41
Motherboard
GA-Z170-HD3
CPU
i5-6400
Graphics
RX 580
Hello, I just installed Sapphire NITRO+ RX 580, but i can not export h264 from FCPX. I'm running 10.13.5 and have installed latest Lilu + whatevergreen + and x4250.kext, but still i get the same error. Pls help!
 

Attachments

  • Screen Shot 2019-02-05 at 02.36.23.png
    Screen Shot 2019-02-05 at 02.36.23.png
    46.8 KB · Views: 83
Joined
Oct 25, 2013
Messages
1,053
Motherboard
MSI B250M PRO-VHD
CPU
i3-7100
Graphics
RX 570
Hello, I just installed Sapphire NITRO+ RX 580, but i can not export h264 from FCPX. I'm running 10.13.5 and have installed latest Lilu + whatevergreen + and x4250.kext, but still i get the same error. Pls help!

AMD H264 GVA encoder only work on 10.14.4 beta, will not work on 10.13.5.
X4250.kext work from 10.13 to 10.13.3.
From 10.13.4 to 10.14.0, RX580 GVA support is native, no dummy kext is required.
From 10.14.1 up, RX4XX/5XX GVA support is removed, need dummy141 kext to re-enable AMD GVA support.
 
Joined
Jan 30, 2012
Messages
41
Motherboard
GA-Z170-HD3
CPU
i5-6400
Graphics
RX 580
Thanks, Shuhung! Is there anything else I can try to do?
 
Joined
Oct 25, 2013
Messages
1,053
Motherboard
MSI B250M PRO-VHD
CPU
i3-7100
Graphics
RX 570
Thanks, Shuhung! Is there anything else I can try to do?

On 10.13.5, No.

If want full GVA support for RX4XX/5XX, upgrade to 10.14.4 beta, use SMBIOS iMacPro1,1 + dummy141.kext.
 
Joined
Aug 7, 2017
Messages
35
Motherboard
Lenovo Ideapad 330-15IKB (81DE)
CPU
i5-8250U
Graphics
UHD 620
For RX470, AMD GVA is native supported on 1013.6, no dummy kext is required.
DGPU must attached to device GFX0 for GVA HEVC support.

Do not use SMBIOS iMacPro1,1 on 10.13.6, system will freeze due to hwe420 not yet supported by AppleGVA and graphic kexts.



From 10.14.1 up, dummy141 kext is required to enable AMD GVA support, install it in Clover/kexts/Other folder.

On 10.14.4 beta, hwe420 is supported by RX4XX/5XX graphics kexts, AMD GVA H264 encoder will work properly, SMBIOS iMacPro1,1 is recommended (recently, the only SMBIOS support hwe420).
i changed the smbios to iMac14,2 but macos still freeze while rendering with h264 in davinci resolve : ( ,any fix ?
thanks !
 
Last edited:
Top