Contribute
Register

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

Status
Not open for further replies.
For those of you, who might be interested on how i setup my config.plist for all this, i have atteched them both here:
one for setup HD5450 in conjunction with RX460 and one for R9280X in conjunstion with RX460.

Are you limited to the lesser card performance wise? have you run quick benchmarks to compare between using the 5450, and the R9?
 
Heaven_Benchmark.jpg
Valley_Benchmark.jpg


Gigabyte RX 460 - 4GB

I still have some things to sort out after upgrading to the 12.1 beta ... I used a temporary audio solution to be able to fully run the benchmarks with audio and video. There are a few other issues related to the 12.1 beta update.

There is an oddity related to the card itself though. If I use the idea of hooking the DVI port from the IGPU to the monitor and the DP port from the card to the monitor and switch inputs after the initial Clover boot screen (from DVI to DP), the card takes over as expected, but runs in 8-bit color mode. If I boot only with the DP connected and sit through the black screen booting, the card comes up in 10-bit color mode.
 
View attachment 212191 View attachment 212192

Gigabyte RX 460 - 4GB

I still have some things to sort out after upgrading to the 12.1 beta ... I used a temporary audio solution to be able to fully run the benchmarks with audio and video. There are a few other issues related to the 12.1 beta update.

There is an oddity related to the card itself though. If I use the idea of hooking the DVI port from the IGPU to the monitor and the DP port from the card to the monitor and switch inputs after the initial Clover boot screen (from DVI to DP), the card takes over as expected, but runs in 8-bit color mode. If I boot only with the DP connected and sit through the black screen booting, the card comes up in 10-bit color mode.


Exactly, I've been trying to explain that so when people boot up they get full acceleration. Some boot with two cables to the same monitor, I have booted with 2 monitors and noticed strange things I'm constantly having to go to display settings and adjust to get a workable monitor on the card. If I plug one monitor into the card slot and boot up its real simple there's only one screen to deal with. I've noted without any screen connected and had a fictitious monitor appear attached to my Intel graphics.
 
Exactly, I've been trying to explain that so when people boot up they get full acceleration. Some boot with two cables to the same monitor, I have booted with 2 monitors and noticed strange things I'm constantly having to go to display settings and adjust to get a workable monitor on the card. If I plug one monitor into the card slot and boot up its real simple there's only one screen to deal with. I've noted without any screen connected and had a fictitious monitor appear attached to my Intel graphics.

Later after I get some more issues from the update sorted, I intend to run the benchmarks again to see if there is any improvement -- I ran them while the os was stabilizing from the update; i.e. indexing things, rebuilding caches, etc. -- but I have seen that on the system so far, I have to stay away from the Intel IGPU during booting to get the full card benefits.

What you are noticing about the phantom monitors is also happening on systems using only the IGPU as well as those using both a discrete card and IGPU. It seems to be a recent phenomenon, with some folks speculating that it is Clover related since they do not have it happening if they go back to a far-enough-back version of Clover. It happens on my system, except when I use only the discrete card for booting. It is a pain in the neck if you have displays preferences set as use separate monitors to corral them to set up which one is the one to have the toolbar and dock. Well, back to lunch and then work...

BTW, do you know where Apple is storing the name strings for the AMD cards? It would be nice to have the card come up as AMD RX 460 instead of AMD R9 xxx in the About This Mac dialog box.
 
BTW, do you know where Apple is storing the name strings for the AMD cards? It would be nice to have the card come up as AMD RX 460 instead of AMD R9 xxx in the About This Mac dialog box.

The most "vanilla" way is injecting the name and a matching framebuffer with Inject / Ati. I guess that involves making a framebuffer patch for your graphics card.

It should also be possible to locate & patch that dummy string inside AMD9500Controller.kext. That would be purely cosmetic though.
 
The most "vanilla" way is injecting the name and a matching framebuffer with Inject / Ati. I guess that involves making a framebuffer patch for your graphics card.

It should also be possible to locate & patch that dummy string inside AMD9500Controller.kext. That would be purely cosmetic though.

Yes, I got it last night using Mork's plist sample, I opened it in clover config and changed system ID to 17.1 and was able to get my card listed. Unfortunately, I did not have time to get support without using the 4000kext mod. I bought a 5450 as well, and it is the $40 solution to IGFX problem, if you have the pcie slot capacity. Also, for x99 system users it's a cheap workaround and opens up the door to support. Only downside is the 5450 takes up the 16 slot and gives 4 to the RX card on most boards theoretically. It does seem to perform comparable to Windows benchmarks though. I'll post pics later.

@florian is there a way to fake IGFX graphics to Iris or something that runs " native" in OS? Saving a pcie slot would be good for many like me that us the second for wifi/bluetoogpth module.
 
The most "vanilla" way is injecting the name and a matching framebuffer with Inject / Ati. I guess that involves making a framebuffer patch for your graphics card.

It should also be possible to locate & patch that dummy string inside AMD9500Controller.kext. That would be purely cosmetic though.

Thank you.

It is cosmetic, just kind of nice to have the details all in place, not necessary but nice.

Yup that string ... AMD9500ControllerAMD,RadeonFramebufferAMD R9 xxxATY,Part#modelAAPL,aux-power-connected ... is there in the controller but I do not think I will be changing it that way as I would have to hunt it down each time the dev crew at Apple changes the controller. I will look into injecting the name.
 
So what you're saying is if you get 10.12.1 beta we'll have full native support on the RX 480?

So the "Sierra" Public Beta came out today, which includes a new set of AMD drivers: AMD9500Controller.kext and an update to AMDRadeonX4000.kext.
While it is obviously meant for the new/upcoming "Polaris" chipset (=> RX 460, 470, 480), it has already proven to accelerate the (previously unsupported) "Fiji" chipset, which is included in R9 Nano, Fury and Fury X.

Additionally, AMD9500Controller finally contains a framebuffer matching a standard PC card, which is already a very good sign!

Before you get too excited: Most GPUs are not OOB (yet?), and very little has been tested so far. And here we need you!
I'm especially interested in tests of formerly unsupported GPUs (Fiji, Polaris), but all other AMD tests are welcome as well.
I'll provide a short guide on what to do/test with which GPU:

General things to consider:
Since El Capitan we've seen some annoying bugs affecting AMD Radeon GPUs:
  1. Sleep/wake is broken on all recent (HD 6000+) GPUs, unless you configure your iGPU as primary graphics device (BIOS)
  2. Tonga-based GPUs will boot to black screen unless you configure your iGPU as primary graphics device (BIOS)
I'd like to find out if both bugs persist in Sierra, so please test with both iGPU = Primary & Secondary.
Besides that, I'd like you to test all ports (especially in multi-monitor setups) and, obviously, the performance. ;)
Personally, I prefer the Unigine Valley benchmark with "Extreme HD" preset, since this puts a lot of load on your GPU.

"Polaris": RX 480, RX 470, RX 460
I guess that's what most people are interested in at the moment:
From what I can tell, AMD9500Controller contains all relevant device IDs, so any Polaris GPU should cause AMD9500Controller to load. Polaris 11 (RX 460) also has it's device IDs in AMDRadeonX4000.kext, so it should provide full acceleration OOB!

Polaris 10 (RX 480, RX 470) however is missing, so you won't see acceleration. Try spoofing your device ID to any Polaris 11 ID (one of those: 0x67E01002 0x67FF1002 0x67EF1002). Details on how to achieve this can be found in our comprehensive Radeon Guide.

Try using both the generic RadeonFramebuffer and the newly added Dayman framebuffer.

"Fiji": R9 Nano, R9 Fury, R9 Fury X
As above, try spoofing your device ID to match any Polaris 11 ID. If this doesn't work, do as described here.
There's no matching framebuffer, so only "RadeonFramebuffer" for now, unless you want to make your own.

If you're booting to a black screen...
... try setting iGPU = Primary in your BIOS. In case your CPU doesn't have integrated graphics, a 2nd dGPU might also do the trick.


Thanks in advance & have fun! :)


Results:
It seems the situation of previously supported GPUs didn't change notably compared to El Capitan so far:
  1. Sleep/wake issues are still present
  2. Tonga based GPUs can't boot without iGPU = Primary
  3. GCN 1.1 GPUs (Hawaii & Bonaire) are still hit-and-miss
Apparently Apple has changed the structure of all framebuffer personalities from 16 bytes per connector to 24 bytes per connector, so if you were using a modified framebuffer in the past, you'll have to rewrite the patch. Have a look at wildwillow's R9 380 connectors patch as an example.
Good news: Apple has introduced some new framebuffer personalities, one of which is a 100% match for reference Tonga GPUs.

We didn't have reports on "Fiji" or "Polaris" yet. From the MacPro side we already know that the newly introduced drivers can pick up & accelerate the RX 480, but won't run stable yet. I'm still interested in more reports though, maybe my proposed method (spoofing the device ID) will make a difference.

Update September 23rd, 2016:
Not too much has changed in Sierra final: Sleep/wake is still an issue and Fiji & Polaris are still not 100% there. Many Polaris 10 cards (RX 470/480) can be enabled by spoofing the device ID or adding the device ID to X4000.kext/Info.plist. RX 470 seems to be a lot more stable & suitable for everyday use than RX 480. RX 460 has it's dev ID in the drivers, so it doesn't need any hacks.
All of those new cards will need iGPU = Primary, otherwise you'll boot to black screen! This means your boot screen / UEFI menu / Clover will only be displayed on your iGPU, the discrete GPU stays black until OS X has fully loaded.

The first beta of 10.12.1 has introduced a new accelerator kext: AMDRadeonX4100.kext. It contains the "Baffin" section which was formerly located in X4000. Additionally, it seems to be fully stable now, even with the full-size Polaris 10 chip (RX 480)!

Please be aware that Polaris & Fiji support is still experimental. Apple can break or drop it anytime, since the drivers are not used in any real Macs. Additionally, the need for iGPU = Primary can become quite annoying.
 
So what you're saying is if you get 10.12.1 beta we'll have full native support on the RX 480?

The drivers are much more stable for the RX 480 card I tested, it was able to run benchmarks on extreme settings but would crash at lower settings. Now it runs throughout all settings on Uningine. They added 4100kext just for Baffin/RX cards.
 
Status
Not open for further replies.
Back
Top