Contribute
Register

R9 290X Framebuffer Patching

Status
Not open for further replies.
Joined
May 10, 2019
Messages
1
Motherboard
MSI Z87 G45-Gaming
CPU
E3-1230v3
Graphics
R9 290X
Hi!

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: https://www.tonymacx86.com/threads/...ebuffers-for-high-sierra-using-clover.235409/

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
ATOM BIOS Rom:
SubsystemVendorID: 0x1043 SubsystemID: 0x0472
IOBaseAddress: 0x0000
Filename: AS04L.bin
BIOS Bootup Message:
67B0HB.15.42.0.3.AS04L

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 :

67B0HB.15.42.0.3.AS04L

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
, , ,
220505050000000002000000000100000001013120000000
210302020000000002000000000100000001024111000000
110201010000000000040000040300000001032340000000
100003030000000000040000040300000001041330000000


Code Construction

12040201
22050303
11020104
10000606


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...
 

Attachments

  • kernel and kext patches.png
    kernel and kext patches.png
    224.1 KB · Views: 110
  • graphics.png
    graphics.png
    190 KB · Views: 164
Status
Not open for further replies.
Top