Contribute
Register

Graphics/performance issues on Z390 Catalina build (UHD Graphics 630)

Status
Not open for further replies.
Joined
Feb 10, 2021
Messages
7
Motherboard
Gigabyte Z390 Designare
CPU
i9 9900
Graphics
RX580
Mobile Phone
  1. iOS
Hi,

I'm having trouble with my first build, where after days of trial and error I finally found a solution to booting, opting to use my internal graphics (UHD 630) instead of my radeon Rx580 GPU. I installed Catalina 10.15.4 via gibmacOS (after trying .15.7 and .15.6), and followed CaseySJ's microguide here for OpenCore 0.6.6 with the Z390 Motherboard.

Upon booting, the graphics are inverted (blue is yellow), applications are glitchy, freeze often, and sometimes the system hangs indefinitely. Any ideas what might be going on? I've attached my EFI folder for reference.

IMG_1451.jpg


Build:
Motherboard: Gigabyte Z390 Designare
CPU: Intel i9 9900
GPU: Sapphire Radeon Pulse RX 580 (Internal Graphics)
RAM: Crucial Ballistix 2666 MHz DDR4 DRAM (16GBx2)
SSD: Samsung 860 PRO 1TB SATA III
Power: Corsair RM650x - 650 Watt
CPU Cooler: CoolerMaster MasterLiquid 120L RGB
Case: Corsair 275R Carbide Series

Thanks
 

Attachments

  • EFI-Z390_OC-066.zip
    4.8 MB · Views: 88
How are you connecting the Hack to the Display, DisplayPort to DisplayPort, HDMI to HDMI or are you using an adapter cable?

Have you edited the DeviceProperties section for your IGPU? You seem to have 4 display connections con0, con1, con2 and con3. But you motherboard only has a single DisplayPort and a single HDMI port.

Screenshot 2021-02-27 at 20.34.05.png Rear I/O plate from Z390 Designare

The DeviceProperties > PciRoot(0x0)/Pci(0x2,0x0) section is missing the 'framebuffer-stolenmem' option, which is commonly used when just the IGPU is used to drive a display. The additional entry would look like this in your config.plist, when viewed in ProperTree:

Screenshot 2021-02-27 at 20.32.15.png DeviceProperties section of Config, with new entry highlighted

The RX580 dGPU requires the RadeonDeInit=true graphics setting when using Clover bootloader. When using OpenCore there is no equivalent quirk. So an additional SSDT-RadeonDeInit.aml is required. I use the SSDT-Radeon-DeInit-PEGP.aml attached when booting my Hacks that contain an RX580.

Your RX580 may not be the same, it may require the SSDT-Radeon-DeInit-GFX0.aml. You would need to look in your IOReg when the RX580 is installed to confirm which of the two SSDTs you need to use. Remember you need to add the SSDT's details to your config.plist for the SSDT to be used by OpenCore.
 

Attachments

  • SSDT-Radeon_Deint-GFX0.aml.zip
    987 bytes · Views: 61
  • SSDT-Radeon_Deint-PEGP.aml.zip
    991 bytes · Views: 60
Thanks for the reply.

How are you connecting the Hack to the Display, DisplayPort to DisplayPort, HDMI to HDMI or are you using an adapter cable?
I am connecting via HDMI to HDMI on this monitor.

Have you edited the DeviceProperties section for your IGPU? You seem to have 4 display connections con0, con1, con2 and con3. But you motherboard only has a single DisplayPort and a single HDMI port.
I just tried adding the 'framebuffer-stolenmem' option, and rebooted with the same issues. The reason for those extra connections are because I foolishly kept the config exactly as it was provided in the microguide, since I had been having constant issues setting up my own configuration, and wanted to try something prebuilt.

I would like to try your suggestion of adding an SSDT for the RX580, using the AMD config that CaseySJ provided.


The only questions I have are:

You would need to look in your IOReg when the RX580 is installed to confirm which of the two SSDTs you need to use.
1) Could you please elaborate on how exactly I can do this?

2) Would the required SSDT details just be enabled = true, the string of the SSDT, and a blank comment value? (copying this from the other SSDTs in my config.)

Thanks again.
 
Have you tried using an different HDMI cable?
Have you tried using the other HDMI port on the monitor (specs say it has two HDMI connections)?

Do you still have all the con1, con2 etc. entries for the IGPU in your config.plist? Try deleting them and see what happens. Obviously make a copy of the original first, so you can reinstate them if needed.

Yes, to the SSDT config.plist entry. The entry in my config looks like this in ProperTree:

Screenshot 2021-02-27 at 22.05.04.png


Here is a link to a guide showing how to obtain a copy of your IORegistry. Use the version (v 2.1) linked in the guide, as newer versions of the application are subject to corruption of the IOReg - https://www.tonymacx86.com/threads/guide-how-to-make-a-copy-of-ioreg.58368/

If you post a copy here, I or one of the other members would be able to say which SSDT you need to use. Or if it needs to be edited to match a different acpi address.

You would need to keep your display connected to the IGPU but have the RX580 installed in to the top PCIe x16 slot on your motherboard. The Discrete GPU will show up in the IOReg with a specific ACPI address, that ACPI Address is what needs to match with the SSDT. Otherwise it won't work as expected.
 
Have you tried using an different HDMI cable?
Have you tried using the other HDMI port on the monitor (specs say it has two HDMI connections)?

Do you still have all the con1, con2 etc. entries for the IGPU in your config.plist? Try deleting them and see what happens. Obviously make a copy of the original first, so you can reinstate them if needed.

Yes, to the SSDT config.plist entry. The entry in my config looks like this in ProperTree:

View attachment 510748

Here is a link to a guide showing how to obtain a copy of your IORegistry. Use the version (v 2.1) linked in the guide, as newer versions of the application are subject to corruption of the IOReg - https://www.tonymacx86.com/threads/guide-how-to-make-a-copy-of-ioreg.58368/

If you post a copy here, I or one of the other members would be able to say which SSDT you need to use. Or if it needs to be edited to match a different acpi address.

You would need to keep your display connected to the IGPU but have the RX580 installed in to the top PCIe x16 slot on your motherboard. The Discrete GPU will show up in the IOReg with a specific ACPI address, that ACPI Address is what needs to match with the SSDT. Otherwise it won't work as expected.

Tried the 2nd port and using another HDMI cable, same results.

After making a copy of the bootable EFI, I deleted all the connectors from the plist for those that were not HDMI type (I think framebuffer-con1-type = 00080000 is HDMI, and the 0004000 are DVI). After rebooting, I get the same results.

After connecting the RX580 to the PCIE slot and rebooting, halfway through starting up I am met with a red/white apple logo and a green status bar which seems to hang indefinitely. Although I can move the mouse and see a text box, indicating the password text field is there, it's just a graphics issue.

So I am not sure how to proceed at this point. I could trial and error the SSDTs and see how it goes, or go back to the original boot copy I made and try something else. Please let me know what you think, and thanks again for the help.
 
These are the only connector types used by Apple with a Coffee Lake CPU:
  • LVDS - 02000000
  • DisplayPort - 00040000
Apple do not use HDMI or DVI on any of their recent or older systems. But you are correct when saying HDMI uses the 00080000 connector.

If possible you would be better served using a DisplayPort connection between your Hack and Display. Especially if you plan to use more than one display in the future.

You are using the 0x3E9B0007 Framebuffer, which is the Recommended framebuffer and has the following properties:
Screenshot 2021-02-28 at 16.50.57.png

As you can see it has 3 x DisplayPort connections, no HDMI, DVI not even an LVDS connection, which are usually found on MacBook Pro/Air systems.

Switching to an alternative Framebuffer probably won't help, as they are pretty much the same as the one above.

If you get your RX580 working, then you may be able to get a decent screen resolution and image using a HDMI connection, but this should not be taken as a given. As the quality of the HDMI cable and other factors all have a bearing on whether HDMI will work or not.

I would recommend you try each of the SSDT's provided in post #2. Make sure you try them separately and with the correct edited ACPI entry for the respective SSDT in your config.plist. Worst that will happen is you waste a bit of time trying the two SSDT's out.
 
So I updated the EFI on the same USB I used to initially install, using the same 0.6.6 EFI from that microguide, but with the provided AMD config.plist, adding one of your SSDTs as well. I have been trying to boot with it, but have been hitting a black screen after choosing to boot from the EFI on the USB.

I'm using a DVI to HDMI cable from the Radeon RX580, but also tried HDMI to HDMI on it with no luck. Attached is the EFI I've been trying to use. I may go run and get a DisplayPort cable to try that.
 

Attachments

  • EFI with SSDT Deint-GFX0.zip
    4.9 MB · Views: 87
Update: Displayport cable fixed the surface level graphics issues momentarily.. I had correct colors and applications seemed to look ok, but then the system froze and after restart I can't get it to boot up again :(
 
If you have been moving the case around, which I expect you have swapping cables etc. I would recommend you check all the internal and external power, SATA, USB and other connections are all fully connected/seated within their respective sockets. This is unlikely to be related to the change to a DisplayPort cable, other than you may have dislodged an adjacent cable to cause the freeze and resultant non-booting system.
 
Status
Not open for further replies.
Back
Top