Contribute
Register

How to inject framebuffer using OpenCore

Status
Not open for further replies.
Joined
Apr 3, 2019
Messages
69
Motherboard
ASRock Z390 Phantom Gaming ITX/ac - v4.40
CPU
i7-9700
Graphics
UHD 630 + RX 590 Nitro+
Hey,
I'm looking for an OpenCore alternative to the Clover method constiting in checking "injectATI", setting a framebuffer name and a port count, all this for forcing macOS to use another framebuffer instead of the default ATI,RadeonFramebuffer. In my case I want to try the Orinoco framebuffer as it should allow me to use all my video ports properly (RX590 Nitro +) and even shows a lower monitored power consuption (around 30W instead of 100W when idle).

What I tried:
I just added the folowing into DeviceProperties/Add
Code:
<key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)</key>
            <dict>
                <key>@0,name</key>
                <string>ATY,Orinoco</string>
            </dict>

But I get a black screen during the macOS boot (when the dGPU is supposed to be "recognized" by the OS).
I also tried to add the connector-count property, tried to connect the monitor to other video ports (both HDMI and DisplayPorts), with and without "agdpmod=pikera" but same result.

I also tried the custom SSDT/device properties from this recent thread, but I could only make it work preciselly if I delete the "@0,name: ATY,Orinoco"...

Specs are the ones on my profile. OpenCore 0.5.7, macOS Mojave 10.14.6, all kexts up to date.
Any Idea?
 
Try this ssdt
 

Attachments

  • SSDT-RX590.aml
    1.4 KB · Views: 605
Last edited:
Thanks for the help!
I removed all device properties attempts related to the dGPU then installed your SSDT. Same result as previously: dark screen at the middle of the boot. If I wait a few minuts the computer restarts by itself, and the macOS partition no longer appears in OC. Need to do a cold boot to get it back.

I also should have mentioned that I have the "Above4G" UEFI option disabled. I know it is unusual as most guides recommend to keep it enabled, but in my case (and at least one other with the same motherboard) I have to keep this option disabled if I want to keep a consistent boot in both Windows and macOS with CSM disabled and iGPU enabled (I use iMac19,1). I'm not sure but I have the felling it is linked.

For the record I also just upgraded to OC 0.5.8with no further issue.
 
Have you solved that?
 
Have a look at this section of the Clover to OC conversion guide - Clover-config.md. It lists all the Clover settings and if there is a comparable OC setting.
 
Hey,
I'm looking for an OpenCore alternative to the Clover method constiting in checking "injectATI", setting a framebuffer name and a port count, all this for forcing macOS to use another framebuffer instead of the default ATI,RadeonFramebuffer. In my case I want to try the Orinoco framebuffer as it should allow me to use all my video ports properly (RX590 Nitro +) and even shows a lower monitored power consuption (around 30W instead of 100W when idle).

What I tried:
I just added the folowing into DeviceProperties/Add
Code:
<key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)</key>
            <dict>
                <key>@0,name</key>
                <string>ATY,Orinoco</string>
            </dict>

But I get a black screen during the macOS boot (when the dGPU is supposed to be "recognized" by the OS).
I also tried to add the connector-count property, tried to connect the monitor to other video ports (both HDMI and DisplayPorts), with and without "agdpmod=pikera" but same result.

I also tried the custom SSDT/device properties from this recent thread, but I could only make it work preciselly if I delete the "@0,name: ATY,Orinoco"...

Specs are the ones on my profile. OpenCore 0.5.7, macOS Mojave 10.14.6, all kexts up to date.
Any Idea?
Here is a way to inject a frame buffer "name" in OC. It lists in IOreg. however, it may have compatibility issues with WEG because WEG uses the default AMDRadeonFramebuffer to do its magic. Using a SSDT for the graphics card may also cause issues with this injection method. this may be a way to find a suitable framebuffer and then make a permanent SSDT or other solution.

This is for a AMD RX 480.
****device-id is not correct for other models, device-id for appropriate device is what should be used.

Using TextEdit.
DeviceProperties/Add
Framebuffer Injection OC Base 64.png


Using Propertree.
DeviceProperties/Add
Framebuffer name injection OC.png

To get the correct PCI device locations Hackintool can be used. Hackintool/PCIe ----Export tab at bottom middle of the screen. It should leave a devices.plist on the desktop. Copy and paste the VGA Compatible Controller PCIe section into a test config.plist under Devices/Add. You can add these items (shown above) to the plist for testing.
 

Attachments

  • Framebuffer.plist
    632 bytes · Views: 407
Last edited:
Status
Not open for further replies.
Back
Top