R9 290X Framebuffer Patching

Not open for further replies.
May 10, 2019
MSI Z87 G45-Gaming
R9 290X

i am running a Xeon E3 1230v3 (no IGPU) on a Z87 G45 Motherboard with ASUS Matrix Radeon 290X 4GB and was using Clover to Boot Windows over my PCI-E NVME Adapted Drive which the Board itself could not boot from without Clover. So after some playing around i was seeing that Clover can boot Mac OS on x86 Hardware and i decieded to give it a try and my old MBP is getting outdated.

Very surprisingly i just had to make the Clover Bootstick with a macOS Recovery Partition and i was ready to install, no issues at all! Very nice Project, i really like it! After setting up my System i was able to get everything working besides Dual Display Support on my gfx-card, i found a lot of information on this Forum and in the Web, thanks for that! Wondering wy Clover Wiki is givin me a HTTP 403 error for quite some times, are they in need of Hosting or is it my ISP? In that regard is there anyway to support Clover or the Hackintosh Scene? i really like the work ppl do!

So i started playing around with the Clover Settings and Framebuffers to get Dual Display, on default Clover is picking Baladi FB and i get working 1 Screen Setup with allmost any FB, but some buggy. Best Results so far with radeon, basset, lagarro, hamachi, futomaki which also have 4 Connectors like my Card. I found this Post and followed the Guide:

After Rebuilding kextcache, its still not running but i dont know how to verify if the patched was applied. So i got a few Questions which i cant find a answer for myself:
- Is there a way to see what Framebuffers are currently used, besides Clover config.plist?
- In the Guide there are Generic Control Flag Sets for each Connector, if i patch all Connectors of a Framebuffer, does it still matter which Framebuffer i use?
- In the Guide: should the be coloring in the decoder outputs?
- did i do it right?

[iMac:~ user$ /Users/user/Documents/Framebuffer\ Patching/radeon_bios_decode < /Users/user/Documents/Framebuffer\ Patching/1002_67b0_04721043.rom
SubsystemVendorID: 0x1043 SubsystemID: 0x0472
IOBaseAddress: 0x0000
Filename: AS04L.bin
BIOS Bootup Message:

PCI ID: 1002:67b0

Connector at index 0
Type [@offset 43538]: DisplayPort (10)
Encoder [@offset 43542]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 43630]: 0x90, OSX senseid: 0x1
HotPlugID: 2

Connector at index 1
Type [@offset 43548]: HDMI-A (11)
Encoder [@offset 43552]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 43657]: 0x92, OSX senseid: 0x3
HotPlugID: 3

Connector at index 2
Type [@offset 43558]: DVI-D (3)
Encoder [@offset 43562]: INTERNAL_UNIPHY1 (0x20)
i2cid [@offset 43684]: 0x93, OSX senseid: 0x4
HotPlugID: 1

Connector at index 3
Type [@offset 43568]: DVI-D (3)
Encoder [@offset 43572]: INTERNAL_UNIPHY (0x1e)
i2cid [@offset 43711]: 0x95, OSX senseid: 0x6
HotPlugID: 6

iMac:~ user$ /Users/user/Documents/Framebuffer\ Patching/redsock_bios_decoder < /Users/user/Documents/Framebuffer\ Patching/1002_67b0_04721043.rom
AS04L.bin :


Subsystem Vendor ID: 1043
Subsystem ID: 472
Object Header Structure Size: 271
Connector Object Table Offset: 3e
Router Object Table Offset: 0
Encoder Object Table Offset: ce
Display Path Table Offset: 12

Connector Object Id [19] which is [DISPLAY_PORT]
encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false

Connector Object Id [12] which is [HDMI_TYPE_A]
encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x22 [duallink 0x2] enc 0x5)] linkb: true

Connector Object Id [4] which is [DVI_D]
encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false

Connector Object Id [4] which is [DVI_D]
encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false

Original Framebuffer

Basset (4) @ 0x5e088
, , ,

Code Construction


Patched Framebuffers

000400000403000000010400000000001204020100000000 (DP)
000800000402000000010100000000002205030300000000 (HDMI)
040000001402000000010200000000001102010400000000 (DVI-D)
040000001402000000010300000000001000060600000000 (DVI-D)

- As far as i understand, if the Patch is applied and it did not change the Issue the only thing i could try now is see if i can get Dual Screen Working with DP and DVI and dont Connect over HDMI?
- What is ATI Connectors Patch/Data/Controller under Kernel and kext Patches? is there a vector to fix this? I am not able to see Clover Wiki, is it working for everybody else?
- is my Syntax correct? i copied the name from the files but seen screenshots without the .kext extension...


  • kernel and kext patches.png
    kernel and kext patches.png
    224.1 KB · Views: 98
  • graphics.png
    190 KB · Views: 144
Not open for further replies.