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:
- Sleep/wake is broken on all recent (HD 6000+) GPUs, unless you configure your iGPU as primary graphics device (BIOS)
- 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:
- Sleep/wake issues are still present
- Tonga based GPUs can't boot without iGPU = Primary
- 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.