Contribute
Register

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

Status
Not open for further replies.
Joined
Oct 25, 2013
Messages
1,044
Motherboard
Gigabyte B550M DS3H AC
CPU
Ryzen 5 5600G
Graphics
Radeon Vega 7
Mac
  1. iMac
For Radeon RX 4XX/5XX standalone system, AMDRadeonX4250.kext (GVA support H264) does not support HEVC HW decode/encode, need edit AMDRadeonX4250.kext info.plist, copy below settings from AMDRadeonX5000.kext info.plist to fully enable HW HEVC support,

IOGVACodec
IOGVAHEVCDecode
IOGVAHEVCEncode
IOGVAVTCapabilities

The best is create a dummy kext injector (similar to verde.kext method) and place it into Clover/kext/Other folder.
 
Code:
                Device (PEGP)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    Device (LTRE)
                    {
                        Name (_ADR, Zero)  // _ADR: Address
                        Device (GFX0)
                        {
                            Name (_ADR, Zero)  // _ADR: Address
                            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                            {
                                If (LEqual (Arg2, Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                          
                                    })
                                }

                                Return (Package (0x10)
                                {
                                    "AAPL,slot-name",
                                    Buffer (0x07)
                                    {
                                        "Slot-1"
                                    },

                                    "@0,name",
                                    Buffer (0x0D)
                                    {
                                        "ATY,Kamarang"
                                    },

                                    "@1,name",
                                    Buffer (0x0D)
                                    {
                                        "ATY,Kamarang"
                                    },

                                    "@2,name",
                                    Buffer (0x0D)
                                    {
                                        "ATY,Kamarang"
                                    },

                                    "@3,name",
                                    Buffer (0x0D)
                                    {
                                        "ATY,Kamarang"
                                    },

                                    "device_type",
                                    Buffer (0x13)
                                    {
                                        "ATY,KamarangParent"
                                    },

                                    "model",
                                    Buffer (0x13)
                                    {
                                        "Radeon Pro Vega 64"
                                    },

                                    "hda-gfx",
                                    Buffer (0x0A)
                                    {
                                        "onboard-2"
                                    }
                                })
                            }
                        }
                    }
                }
            }



This is my way to Inject FB Name “Kamarang”on the Vega 64 with DSDT。Add a new device“LTRE” to replace the “pci-bridge”。I tried to inject it with SSDT,but at last I failed.

501152BB-DC86-4298-8F33-064691AF5502.jpg
 
For Radeon RX 4XX/5XX standalone system, AMDRadeonX4250.kext (GVA support H264) does not support HEVC HW decode/encode, need edit AMDRadeonX4250.kext info.plist, copy below settings from AMDRadeonX5000.kext info.plist to fully enable HW HEVC support,

IOGVACodec
IOGVAHEVCDecode
IOGVAHEVCEncode
IOGVAVTCapabilities

The best is create a dummy kext injector (similar to verde.kext method) and place it into Clover/kext/Other folder.

Have you created that dummy kext?
 

Attachments

  • X4250.kext.zip
    2.8 KB · Views: 1,528
Yes, edited from verde.kext for experiment.
Thanks for the kext to enable HEVC.

But did not work for me on RX580.
CPU was was almost maxing out to 4.8Ghz during playback of the Sony 4K HEVC movie implying that the RX580 was NOT decoding the movie.

See attached pics.
Screen Shot 2017-12-11 at 18.12.29.png

Screen Shot 2017-12-11 at 18.10.19.png
 
Thanks for the kext to enable HEVC.

But did not work for me on RX580.
CPU was was almost maxing out to 4.8Ghz during playback of the Sony 4K HEVC movie implying that the RX580 was NOT decoding the movie.

See attached pics.
View attachment 298921
View attachment 298920

If AMD VDADecoder is implement correctly, result should look like attached png, smoother and better than IGPU HD630.
Seems to be GVA not implement correctly or SMBios not supported.

Try set hardware video decoder preferences, force ATI decoder, run below from terminal

defaults write com.apple.AppleGVA forceATI -boolean yes

Check VDADecoder status with attached file.
 

Attachments

  • RX460 HEVC.png
    RX460 HEVC.png
    1.5 MB · Views: 3,447
  • VDADecoderCheckerSierra.zip
    6.4 KB · Views: 1,112
If AMD VDADecoder is implement correctly, result should look like attached png, smoother and better than IGPU HD630.
Seems to be GVA not implement correctly or SMBios not supported.

Try set hardware video decoder preferences, force ATI decoder, run below from terminal

defaults write com.apple.AppleGVA forceATI -boolean yes

Check VDADecoder status with attached file.

Question... do you have the integrated graphics disabled and just using your RX580?

When I run the HEVC video I the GT line in Intel Power Gadget go to about 0.4 GHz otherwise it's at 0.

Also here is the output I get from VDADecoderCheckerSierra

Code:
/Users/ed/Downloads/VDADecoderCheckerSierra ; exit;
GVA info: Successfully connected to the Intel plugin, offline Gen95
Hardware acceleration is fully supported
 

Attachments

  • Screen Shot 2017-12-11 at 9.28.35 PM.png
    Screen Shot 2017-12-11 at 9.28.35 PM.png
    88.9 KB · Views: 803
Question... do you have the integrated graphics disabled and just using your RX580?

When I run the HEVC video I the GT line in Intel Power Gadget go to about 0.4 GHz otherwise it's at 0.

Also here is the output I get from VDADecoderCheckerSierra

Code:
/Users/ed/Downloads/VDADecoderCheckerSierra ; exit;
GVA info: Successfully connected to the Intel plugin, offline Gen95
Hardware acceleration is fully supported

No IQSV, IGPU is disabled just use RX460, very good power consumption during high bitrate HEVC video playback, better than HD630.

Your png show IQSV is working, GT frequency round 0.4 GHz during high bitrate HEVC playback is normal, but CPU PM seems to be not implement correctly.
 
If AMD VDADecoder is implement correctly, result should look like attached png, smoother and better than IGPU HD630.
Seems to be GVA not implement correctly or SMBios not supported.

Try set hardware video decoder preferences, force ATI decoder, run below from terminal

defaults write com.apple.AppleGVA forceATI -boolean yes

Check VDADecoder status with attached file.

I had already set forceATI and VDADecoderCheckerSierra reports that h/w acceleration is fully supported but clearly not being used. See:
Screen Shot 2017-12-12 at 15.28.49.png

Screen Shot 2017-12-12 at 15.27.07.png

My IGPU is disabled in the BIOS (likes yours).

If I run MacX Video converter, it says that H/W acceleration is available AND (interestingly) it lets me tick the Intel box (which must be a bug as my IGPU is disabled) :

Screen Shot 2017-12-12 at 15.34.29.png


Ideally, IGPU should be enabled (in connectorless mode using ig-platform-id = 0x01620006 for my i7-3770K to enable Quicksync) but that does not work either.

Any other ideas ?
 
I had already set forceATI and VDADecoderCheckerSierra reports that h/w acceleration is fully supported but clearly not being used. See:
View attachment 299115
View attachment 299116
My IGPU is disabled in the BIOS (likes yours).

If I run MacX Video converter, it says that H/W acceleration is available AND (interestingly) it lets me tick the Intel box (which must be a bug as my IGPU is disabled) :

View attachment 299117

Ideally, IGPU should be enabled (in connectorless mode using ig-platform-id = 0x01620006 for my i7-3770K to enable Quicksync) but that does not work either.

Any other ideas ?

VTDecoderXPCService show HW HEVC decode is available, but not used by apps, 0 % cpu usage.

If VTDecoderXPCService show VCPHEVC then it is software HEVC decode, see attached png.

IQSV work well with HSW/SKL/KBL IGPU + AMD GPU, but seems to be not support Ivy GT1/GT2 + AMD GPU, VDADecoderChecker always failed.
 

Attachments

  • VCPHEVC.png
    VCPHEVC.png
    2.3 MB · Views: 1,617
Status
Not open for further replies.
Back
Top