Jump to content

HD5750 Framebuffer Sierra (or, what I wish people had told me about patching framebuffers in clover)


3 posts in this topic

Recommended Posts

Putting this here for posterity in hopes it helps someone else (maybe just my future self).

 

I just spent 2.5 days getting my previously working HD5750 up and running after a motherboard swap.  At the same time, I upgraded to Sierra.

 

Here's what I wish people had told me about patching your framebuffer in Clover:

 

  • Patches only take effect with "WithKexts" in boot args.  At least, that was the case for me.
  • Patches don't get recognized if they cross line breaks (yes, even in a binary file there are line breaks).  Thus, attempting to patch a multi-line framebuffer fails in a single patch.  I believe this is why the official "ATIConnector" patch sometimes fails.

If someone had spelled out those things for me, I would have been done in a few hours, not a few days.

 

That said, here's my working configuration:

 

Card details:

Asus HD5750, 1GB vRAM, Mfr ID:  0x1002 (ATI), Device ID:  0x68BE  Subsystem ID (useful for matching BIOS):  0x03381043
Card on TechPowerUp:  https://www.techpowerup.com/vgabios/79262/asus-hd5750-1024-100331

 

Working Framebuffer (note the extra 2 bytes at the end of each line compared to most examples ... I believe this is a Sierra quirk):

 

10 00 00 00 10 00 00 00 00 01 00 00 00 00 00 00 02 12 04 03 00 00 00 00
00 08 00 00 04 02 00 00 00 71 00 00 00 00 00 00 22 05 01 01 00 00 00 00
00 04 00 00 04 06 00 00 00 71 00 00 00 00 00 00 21 03 02 02 00 00 00 00
02 00 00 00 00 01 00 00 00 71 00 00 00 00 00 00 11 02 02 04 00 00 00 00

 

To get it working in Clover v2.3 r3766 (Use Clover Configurator to make your life easier):

 

  • Spoof Device ID as 0x100268B8 ("Fake ID" in "Devices")
  • Check Inject ATI (in "Graphics")
  • FB Name "Alouatta" (in "Graphics")
  • Video Port "4" (in "Graphics")  (Setting ports to 4 with the Alouatta personality will initially recognize both the HDMI and DVI outputs, but they will detect with the monitors swapped)
  • Custom Boot Flag:  "WithKexts" (in "Boot")

 

Three separate patches in "Kernel and Kext Patches", one for each output:

 

  • Name:  AMD5000Controller, Find:  00040000 04060000 00710000 00000000 11020101 00000000, Replace:  00080000 04020000 00710000 00000000 22050101 00000000, Comment:  HDMI
  • Name:  AMD5000Controller, Find:  00040000 04060000 00710000 00000000 22050404 00000000, Replace:  04000000 14000000 00710000 00000000 11020204 00000000, Comment:  DVI
  • Name:  AMD5000Controller, Find:  02000000 00010000 19010000 00000000 12040303 00000000, Replace:  10000000 10000000 00010000 00000000 02120403 00000000, Comment:  VGA (not tested)

 

-----------------------------------------------------

 

Useful resources:

 

  • Like 1

Framebuffer            Hoolock

 

ATI Connectors  Data         Find 

 

000400000406000000010000000000002103050100000000000400000406000000010000000000001102040200000000040000001402000000010000000000000204010300000000

 

 

ATI Connectors Patch all in one          Replace

 

000800000402000000710000000000002205010100000000040000001402000000010000000000000002020400000000100000001000000000010000000000000010030300000000

×
×
  • Create New...