Contribute
Register

macOS Sierra PB: Need testers for new AMD Radeon drivers!

Status
Not open for further replies.
Joined
Dec 28, 2012
Messages
145
Motherboard
ASRock Z370 Professional Gaming
CPU
i7-8086K
Graphics
Radeon VII
Mac
MacBook Pro
Mobile Phone
iOS
Hey jerryy,

i just made some more tests with AMD9510Controller.kext framebuffers:

First i want to mention, that i have a SAPPHIRE RX480 NITRO with 8GB of VideoRAM.
And these are the settings for my connectors taken with "radeon_bios_decode" and "redsock_bios_decoder" terminal-scripts:

ATOM BIOS Rom:
SubsystemVendorID: 0x174b SubsystemID: 0xe347
IOBaseAddress: 0x0000
Filename: 347X06SU.X4L
BIOS Bootup Message:
E347 Polaris10 XT A1 GDDR5 256Mx32 8GB 300e/300m

PCI ID: 1002:67df
Connector at index 0
Type [@offset 40870]: DisplayPort (10)
Encoder [@offset 40874]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 40980]: 0x90, OSX senseid: 0x1
HotPlugID: 6
Connector at index 1
Type [@offset 40880]: DisplayPort (10)
Encoder [@offset 40884]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 41007]: 0x92, OSX senseid: 0x3
HotPlugID: 4
Connector at index 2
Type [@offset 40890]: HDMI-A (11)
Encoder [@offset 40894]: INTERNAL_UNIPHY1 (0x20)
i2cid [@offset 41034]: 0x91, OSX senseid: 0x2
HotPlugID: 1
Connector at index 3
Type [@offset 40900]: HDMI-A (11)
Encoder [@offset 40904]: INTERNAL_UNIPHY1 (0x20)
i2cid [@offset 41061]: 0x93, OSX senseid: 0x4
HotPlugID: 5
Connector at index 4
Type [@offset 40910]: DVI-D (3)
Encoder [@offset 40914]: INTERNAL_UNIPHY (0x1e)
i2cid [@offset 41088]: 0x95, OSX senseid: 0x6
HotPlugID: 3

E347 Polaris10 XT A1 GDDR5 256Mx32 8GB 300e/300m

Subsystem Vendor ID: 174b
Subsystem ID: e347
Object Header Structure Size: 335
Connector Object Table Offset: 48
Router Object Table Offset: 0
Encoder Object Table Offset: fb
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 [19] which is [DISPLAY_PORT]
encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x22 [duallink 0x2] enc 0x5)] linkb: true
Connector Object Id [12] which is [HDMI_TYPE_A]
encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false
Connector Object Id [12] which is [HDMI_TYPE_A]
encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x21 [duallink 0x1] enc 0x3)] linkb: true
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

And these are the three framebuffers found in AMD9510Controller.kext:

Exmoor (6) @ 0x106080
LVDS, LVDS, DP, DP, DP, DP
020000000001000000010151000000002205020400000000
020000000001000000010261010000001204010300000000
000400000403000000010343000000001102030100000000
000400000001000000010431000000002103050500000000
000400000403000000010523000000001000040200000000
000400000001000000010611000000002001050500000000

Berbice (5) @ 0x106110
LVDS, DP, DP, DP, DP
020000000001000039050108000000002001010100000000
000400000001000000010243000000001000020200000000
000400000403000000010313000000002103030300000000
000400000403000000010453000000001102040400000000
000400000403000000010533000000001204050500000000

Baladi (6) @ 0x106300
DP, DP, DP, DP, DP, DP
000400000403000000010300000000001204030300000000
000400000403000000010100000000001102010100000000
000400000403000000010200000000002103020200000000
000400000403000000010400000000002205040400000000
000400000403000000010500000000001000050500000000
000400000403000000010600000000002001060600000000

So far, so good. My first thoughts where: ok, your card has 5 Ports to connect monitors to it:
2x Displayport, 2x HDMI and 1x DVI-D

so we need to find for optimum usage a framebuffer with 5 connectors: et voila --> there is BERBICE.

So i patched the above original BERBICE FB to the following:

DP, DP, HDMI, HDMI, DVI-D
000400000403000039050108000000001204060100000000
000400000403000000010243000000002205040300000000
000800000402000000010313000000001102010200000000
000800000402000000010453000000002103050400000000
040000001402000000010533000000001000030600000000

which will give us the following one line for CLOVERs "ATIConnectorsPatch"-line:

000400000403000039050108000000001204060100000000000400000403000000010243000000002205040300000000000800000402000000010313000000001102010200000000000800000402000000010453000000002103050400000000040000001402000000010533000000001000030600000000

So i patched CLOVER config.plist in their right directions and rebooted.
Surprise, surprise... it DIDN'T work as expected! What happened? you ask. Well this happens:

DP-Mon#1 gets signal, DP-Mon#2 gets signal, HDMI-Mon#1 gets signal, IGPU-Mon shows Desktop and in the same moment all other monitors (connected to the RX480) lost their signal and went to sleep mode! But PC did NOT crashed: still able to connect to it via Apple Remote Desktop and there i got 4 screens! But only the IGPU-connected Monitor was still "alive" and showing mouse movements and there positioned windows.

So... back to the drawing boards and think over what could be wrong.
Then i thought: ok, you don't use DVI-D any more, cause this connection is way old school. Just put focus on Display- and HDMI-ports.

So i tried this patch for the BERBICE framebuffer instead:

LVDS, DP#1, DP#2, HDMI#1, HDMI#2
020000000001000039050100000000001000030600000000
000400000403000000000200000000001204060100000000
000400000403000000000300000000002205040300000000
000800000402000000000400000000001102010200000000
000800000402000000000500000000002103050400000000

If you watch carefully, you have noticed that first line was patched only half:
02000000000100003905010000000000 <--- this part still came from original BERBICE, while
1000030600000000 <--- this part was taken from above mentioned connectorsdetection for DVI-D.

So why have i done it this way? Cause as you can see in original BERBICE fb line one is connector for internal display,
which we don't have and as you may notice we don't have any "(osx txmit 0x20 [duallink 0x0] enc 0x1)" part. So i choose
to change this to my DVI-D values: (osx txmit 0x10 [duallink 0x0] enc 0x0)

Back to CLOVER i repatched the "ATIConnectorsPatch" part with the edits above:

020000000001000039050100000000001000030600000000000400000403000000000200000000001204060100000000000400000403000000000300000000002205040300000000000800000402000000000400000000001102010200000000000800000402000000000500000000002103050400000000

rebooted... et voila: all monitors detected as expected and working flawlessly.

Continued my thoughts: what happens, if i change line one now to this:

040000001402000039050100000000001000030600000000 <--- which will change the first part from "internal Display" to real settings for DVI-D settings. Done this, rebooted and peng: same effect as in my first try: Monitor 1 and 2 get their signals and loose it again right after desktop on IGPU was send to IGPU connected Monitor.

OK, so we now know, that the first line has to be as "untouched" as possible. But what about the values in the middle of line 2 to 4? what are they good for. All i knew so far was the following:

020000000001000039050 1 00000000001000030600000000
000400000403000000000 2 00000000001204060100000000
000400000403000000000 3 00000000002205040300000000
000800000402000000000 4 00000000001102010200000000
000800000402000000000 5 00000000002103050400000000

the values between the above given SPACES are the given order of how your connectors will be shown as in the following screen:

they will mark the "port-number" of the given connector. But remember: line 1 ist port-number 0, line 2 is port-number 1 etc.
So all i was doing then while knowing this, was to change the values before and after these numbers changing to the value 0.
I did this in the first step also for line 1 and guess what? right, it didnt work. so i put back the "39050" value to its original position in line 1, changed just the other values for line 2 to 4 and tried again to boot. This time all monitors are working again as expected.

Took me a lot of time and reboots to find out that just the values for the connectors and the values for the right order are really neccesarry to make it work as expected. And i really don't know what the other values will stay for, but as far as i expirienced, they are not really needed to make your card work with your connected monitors.

Made the same tests for framebuffer BALADI and EXMOOR - but never could get them to work - no matter what changes i did... at a reboot i always got "RadeonFrameBuffer" as the given framebuffer and always got "5 ports" as detected # of ports, even i provided less ports via CLOVER settings.

Hope to brought more clearness into Framebuffer-Patching. ENJOY...
regards,

Mork vom Ork

PS: forgot to mention, that all above described tests have been made under SIERRA 10.12.4 beta5 (build 16E183b)
 
Last edited:
Joined
Dec 14, 2013
Messages
86
Motherboard
Asus ROG Strix Z390-E
CPU
i7-8700K
Graphics
RX 480
Mac
MacBook Pro
Mobile Phone
iOS
Regarding FCPX 10.3+

I updated Clover to version 4035 today, and suddenly all of my issues with FCPX are resolved. I am on 10.12.4 public beta 3 still, as I have not kept up with recent status of the RX480 enough to try more recent Public Betas. Just thought I'd share, as this is a pain point for many as far as I can tell (although less of a problem on Skylake builds from what I can tell).

Reason I updated Clover: I was experiencing kernel panics daily when waking from sleep (both long sleep and short sleep), and even occasional system crash while using Chrome or editing photos in Adobe Lightroom. I hoped the Clover update might address some of those issues, as they were not present in the previous PB and Clover version I was on.

I'll know in another day or two if the Clover update fixes those issues, but for now, the FCPX issue was a big one for me and I'm very happy it's resolved now.
 
Joined
Oct 5, 2013
Messages
505
Mac
Classic Mac
Mobile Phone
Took me a lot of time and reboots to find out that just the values for the connectors and the values for the right order are really neccesarry to make it work as expected. And i really don't know what the other values will stay for, but as far as i expirienced, they are not really needed to make your card work with your connected monitors.
This is phenomenal work. I have been trying some variations on the connector startup order, but only with limited success. I can get the HDMI port to run, or the DVI port, but the DP port will only start if it is as you have it in the RX 460 patch, with both the used and unused ones startup at position 05.

02000000 00010000 39050108 00000000 20010101 00000000 are 48 characters (8 bits each character) of information. I wonder if there is supposed to be any audio timing and synchronization information in there.

p.s. I suspect when 10.12.4 is released to the public, some folks are going to be wondering about your patching for the RX 470 and 480 cards. :)
 
Last edited:
Joined
Oct 5, 2013
Messages
505
Mac
Classic Mac
Mobile Phone
Regarding FCPX 10.3+

I updated Clover to version 4035 today, and suddenly all of my issues with FCPX are resolved. I am on 10.12.4 public beta 3 still, as I have not kept up with recent status of the RX480 enough to try more recent Public Betas. Just thought I'd share, as this is a pain point for many as far as I can tell (although less of a problem on Skylake builds from what I can tell).

Reason I updated Clover: I was experiencing kernel panics daily when waking from sleep (both long sleep and short sleep), and even occasional system crash while using Chrome or editing photos in Adobe Lightroom. I hoped the Clover update might address some of those issues, as they were not present in the previous PB and Clover version I was on.

I'll know in another day or two if the Clover update fixes those issues, but for now, the FCPX issue was a big one for me and I'm very happy it's resolved now.
The latest 10.12.4 Public beta with Clover 4035 has been fairly solid and smooth. Apple may put out a 10.12.5 before they start on 10.13 in June, but ... for now this is their best version of 10.12. If only the audio worked on the AMD Polaris cards.
 
Joined
Nov 21, 2015
Messages
216
Motherboard
Gigabyte GA-X99P-SLI MB
CPU
i7 6800K
Graphics
RX480
Mac
iMac, MacBook Pro, Mac Pro
Mobile Phone
iOS
If only i dint need a helper card fro my rx480!
 
Joined
Jul 21, 2010
Messages
89
Motherboard
ASUS X99 Pro USB 3.1
CPU
i7-6800K
Graphics
RX480+HD5750
I still can't get my msi rx480 to work with any sierra at all with any radeon helper card I have. I don't know if it's my x99 board or msi rx480card. I haven't heard of anyone tackling the obstacles around using a card without helper card, I guess that will be the next area, in 12.13 when the final kexts come out, to see if we can still use our cards or not, I say we, I have been trying for a couple of months unsuccessfully
 
Joined
Dec 26, 2016
Messages
123
Motherboard
Gigabyte GA-Z170X-Gaming 3
CPU
i7 6700K
Graphics
RX 480
Mac
MacBook, MacBook Pro
Classic Mac
Power Mac
I still can't get my msi rx480 to work with any sierra at all with any radeon helper card I have. I don't know if it's my x99 board or msi rx480card. I haven't heard of anyone tackling the obstacles around using a card without helper card, I guess that will be the next area, in 12.13 when the final kexts come out, to see if we can still use our cards or not, I say we, I have been trying for a couple of months unsuccessfully
Did you already check if somebody already runs your MLB but with a different GPU/PCB on Sierra?
And do you already tweaked your BIOS and try some different setting out?
 
Joined
Feb 8, 2011
Messages
49
Motherboard
GA-P55A-UD3
CPU
3.07 GHz Intel Core i7
Graphics
ATI Radeon HD 5870 1024 MB
Mac
iMac, MacBook, MacBook Pro, Mac mini, Mac Pro
Classic Mac
iBook, iMac, LC, Plus, Power Mac, PowerBook
Mobile Phone
iOS
Hey all - I just got a Nitro Saphire 480 as well, and popped it into my tonymac circa 2011 hackintosh - replacing the Radeon 5870; I've got the gigabyte ga-p55a-ud3 which doesn't have onboard graphics (and can't choose the IGFX that I see in other setups). What's weird is even upon boot the gigabyte logo is scrambled?
 
Joined
Jul 21, 2010
Messages
89
Motherboard
ASUS X99 Pro USB 3.1
CPU
i7-6800K
Graphics
RX480+HD5750
Did you already check if somebody already runs your MLB but with a different GPU/PCB on Sierra?
And do you already tweaked your BIOS and try some different setting out?
Yes, thanks, there are some asusx99 with nvidias that are working. I did try many different bios settings. I'm not giving up, I have had a lot of advice, Thanks all!, from here. I have been doing hackintosh for a bunch of years, and that's what gets me. I have hackintoshed 5 pc's over the years, but this new gpu rx480 is the culprit. I can get acceleration with my old radeons 5750 and hd4650 with this MB, it's just when I try to add the rx480 that all I get is dead black when it partially boots. Believe me I've tried so so many combinations, but I read here every day and hope that the helper card problem will go away. Thanks for your comments
 
Last edited:
Joined
May 29, 2013
Messages
90
Mac
Classic Mac
Mobile Phone
I think I remember other users posting that they couldn't get the MSI 480's acceleration to work. However they 470's etc did work.
 
Status
Not open for further replies.
Top