Contribute
Register

HDMI Black Screen w/RX580

Joined
Apr 30, 2021
Messages
7
Motherboard
Gigabyte z270p-d3
CPU
Intel Core i7 6700
Graphics
MSI Radeon RX 580
I have a 4k monitor plugged into a display port of the RX580 in my Hackintosh, and it works fine. However when I plug in my 4K TV with HDMI to the same card, it doesn't display properly. It'll flash up for a second then disappear, despite macOS recognizing the TV is plugged in. The same setup works perfectly when booting into Windows, so I know the cables etc are good. How do I fix this?

macOS 12.7.1
MSI RX580 8GB Armor Edition
Broadcom BCM4352Z
Gigabyte Z270 Gaming 5
Intel i7 6700
 

Attachments

  • EFI.zip
    21 MB · Views: 13
First thing you need to do is to remove your DSDT.aml table from your OC setup. This should not be present in the /EFI/OC/ACPI folder or your config.plist, ever.

It is automatically used when the system boots, so it doesn't need to be added via OpenCore.

If you have added patches to your DSDT.aml, then you need to create a separate SSDT that contains these patches.

A better use of your DSDT.aml would be to generate custom SSDT tables using Corpnewt's SSDTTime script. So you don't have to use the generic SSDT-EC-USBX-DESKTOP and SSDT-PLUG-DRTNIA tables. See the 'Results' folder attached below.

Assuming you are running a version of macOS newer than Catalina then you don't need to add the 'shikigva' device property for your RX 580 dGPU. This property/boot argument was dropped from use with the release of macOS Big Sur, as Apple changed some inner workings related to graphics. So this option is no longer functional/working in newer releases of macOS. Removing this obsolete device property may help fix your HDMI Black screen issue.

I have gone through your EFI and config.plist, cleaning it up, adding some custom SSDT's and removing unnecessary and obsolete entries. See if this revised EFI helps.

Copy the revised EFI folder to the EFI partition on a spare USB pen drive and boot from the pen drive to test the EFI.

Don't replace your current EFI until you are sure the revised EFI works and boots without any issues.
 

Attachments

  • Results.zip
    40.9 KB · Views: 8
  • EFI.zip
    21 MB · Views: 15
Hi,

Thanks for your efforts. Unfortunately this EFI does not work properly. The HDMI issue persists (displays for a quick second then reverts back to no signal) and the wake from sleep function doesn't work properly.
 
Try adding one of the SSDT-Radeon_Deinit.aml tables to the ACPI folder and config.plist, see if that helps with the RX 580 initialising correctly on first boot and waking from sleep.

Just check that you use the correct table, i.e. the one that matches the IOReg Device path for your RX 580.
 

Attachments

  • SSDT-Radeon_Deinit-PEGP.aml.zip
    752 bytes · Views: 7
  • SSDT-Radeon_Deinit-GFX0.aml.zip
    750 bytes · Views: 7
I tried both of these SSDT's and the TV still doesn't work unfortunately. Added one of the Radeon_Deinit files to ACPI folder, then CMD+R on the config.plist. Deleted the first, tried the other, still nothing. Here is IOReg. GFX0 would've been the correct one, yeah?
 

Attachments

  • Screenshot 2024-01-29 at 23.52.33.png
    Screenshot 2024-01-29 at 23.52.33.png
    3.9 MB · Views: 9
  • Screenshot 2024-01-29 at 23.56.02.png
    Screenshot 2024-01-29 at 23.56.02.png
    7.3 MB · Views: 11
Last edited:
Here are the device properties of the GPU in Windows, and my most current DSDT. I tried remaking all of the SSDT's myself, but this still didn't help.


RX580.PNG
 

Attachments

  • DSDT.aml
    155.1 KB · Views: 5
Do you have any idea? I'd really like to get this working.
Try adding one of the SSDT-Radeon_Deinit.aml tables to the ACPI folder and config.plist, see if that helps with the RX 580 initialising correctly on first boot and waking from sleep.

Just check that you use the correct table, i.e. the one that matches the IOReg Device path for your RX 580.
 
Your IOReg shows the AMD GPU path as SB.PCI0.PEG0.GFX0.

Windows Device Manager screenshot shows AMD RX580 path as SB.PCI0.PEG0.PEGP.

Assuming you only have one AMD RX 580 installed in your system, then one of these paths is wrong. The same device will not normally have a different path in the two OS's.

Your DSDT.aml only contains the SB.PCI0.PEG0.PEGP path. So I would try using the SSDT I have added to the OC EFI folder attached below, as it matches the path shown for your AMD RX 580 in Windows and your DSDT.aml.
 

Attachments

  • EFI.zip
    16 MB · Views: 10
Your IOReg shows the AMD GPU path as SB.PCI0.PEG0.GFX0.

Windows Device Manager screenshot shows AMD RX580 path as SB.PCI0.PEG0.PEGP.

Assuming you only have one AMD RX 580 installed in your system, then one of these paths is wrong. The same device will not normally have a different path in the two OS's.

Your DSDT.aml only contains the SB.PCI0.PEG0.PEGP path. So I would try using the SSDT I have added to the OC EFI folder attached below, as it matches the path shown for your AMD RX 580 in Windows and your DSDT.aml.
Thank you so much. Though again I'm not getting anything different from the display. A picture appears for a brief second then disappears.
 
Back
Top