Contribute
Register

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

Status
Not open for further replies.
I try SMBIOS 14.2 / 18.3 , right now I'm on 18.3 Graphics are OK but can not understand HEVC / H264 are work or not.
So Video confer show this

On 10.14.3, H264 encoder will not work, HEVC encoder work but very unstable.
On 10.14.4 beta1, use SMBIOS iMacPro1,1, both AMD H264 / HEVC GVA encoder work stably.

In IOReg not show AMDRadeonX4250.

From 10.13.4 up, AMDRadeonX4250 no longer exist, now is AMDRadeonX4000.
 
On 10.14.3, H264 encoder will not work, HEVC encoder work but very unstable.
On 10.14.4 beta1, use SMBIOS iMacPro1,1, both AMD H264 / HEVC GVA encoder work stably.



From 10.13.4 up, AMDRadeonX4250 no longer exist, now is AMDRadeonX4000.
How to use SMBIOS iMacPro1,1 / with boot flags shikigva=32 shiki-id=Mac-7BA5B2D9E42DDD94
or I should change it on config.plist ?
 
How to use SMBIOS iMacPro1,1 / with boot flags shikigva=32 shiki-id=Mac-7BA5B2D9E42DDD94
or I should change it on config.plist ?

Change SMBIOS to iMacPro1,1 from config.plist, native support hwe420, does not need any shiki boot flags.
 
I have full hardware acceleration with AMDRadeonPro.kext in macOS 10.14.3, but VideoProc still freezing with hardware information.
 

Attachments

  • Captura de pantalla 2019-01-31 a las 20.26.50.png
    Captura de pantalla 2019-01-31 a las 20.26.50.png
    82.6 KB · Views: 188
  • AMDRadeonPro.kext.zip
    15.3 KB · Views: 188
Last edited:
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 ).


It's ****ing beautiful guys.

Radeon RX 580 + 10.14.4-beta1 + dummy141.kext + (boot flags shikigva=32 shiki-id=Mac-7BA5B2D9E42DDD94)

I was able to export my movie from iMovies and use ffmpeg to convert with hardware acceleration.


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

VDADecoderChecker only verify GVA H264 not GVA HEVC, work with both IGPU and RX4XX/5XX DGPU.
 
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
 
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.
 
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.
 
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 ?
 
Status
Not open for further replies.
Back
Top