Contribute
Register

Radeon Compatibility Guide - ATI/AMD Graphics Cards

I have a fully stable working rig with SMBIOS set as iMac 14.2 but only intel HD4600 as GPU, should i change it to a Mac Pro SMBIOS when i put the AMD r9 280x in? I have read these cards work OTB and use the built in macOS drivers but i am asking because Mac Pro have similar GPU's.
 
You can leave the SysDef at iMac14,2.
 
@LostVector: It's not necessarily the "first" card which will be dead, the bug only occurs when the AMD GPU has been init'ed by the UEFI driver, which isn't always the same.

Two examples from my system (other UEFI implementations can behave differently):

When booting with CSM disabled, the UEFI video driver will not be initialized when no display is connected to the AMD GPU during boot time, no matter if it's the primary or secondary video adapter. As a consequence the macOS drivers will work fine.

When booting with CSM enabled, firmware will always initialize the primary video adapter, regardless of any connected displays. To make a AMD GPU work in OS X, one has to configure it as secondary one.

The difference during boot phase is what we'd have to figure out to fix this issue.
Interesting. Is it possible that Clover itself is causing the problem? Has anyone managed to boot macOS without Clover outputting to the graphics card?

A genuine Mac Pro 5,1 apparently does not use GOP to initialize the video card, only UGA. So if Clover always used GOP to draw its interface then perhaps that is giving the AMD driver fits.
 
It's true that the cMP uses the UGA protocol, but Apple has switched to GOP with all recent Macs. It's still possible that the GOP drivers on our graphics cards are causing the trouble, Apple might have included some special functions in their EFI drivers. I've already tried using the MacPro D700 EFI driver with my Radeon GPU, but my UEFI fails to utilize it (the driver loads fine, it just doesn't work).

I've also tried unloading the EFI driver from Clover's EFI shell before booting OS X, but that didn't work either.

It could also be a different part of the firmware, hard to tell.
 
Very interesting ... it wouldn't be hard for me to comment out bits of Clover that try to use GOP, but I'm a little unclear on how to install tweaked versions on my system or how to recover from a failure. Will hack on it as time permits ... if nothing else, I've learned a lot about how these systems work.

Anyway, my system does seem to work well with a nVidia card as the primary ... black screen on that card, but the desktop manager ignores that screen and the FirePro w7000 as the secondary works very well to drive two Dell UP2715K's. Plus sleep/wake are functioning. The 5K monitor situation with nVidia cards by themselves was unacceptable ... in addition to having to hard power the screens off before boot, either you never sleep the display or the computer, or you live with half screen cursor issues and the computer failing to wake 1 out of every 4 times. 5K with the FirePro driving them is essentially flawless. The one thing that isn't working is that FCPX is confused about my extra video card that is disabled and crashes. But I guess with the amount I use that app I can afford a reboot once in a while to deal with it.
 
Hey guys. Quick question. I've tried searching but I don't get a clear answer.
When I load a vbios through clover, will it apply to both my xfx 280x?
yes. Ran my system like that for a little over a year


Any way to figure out when to boot into windows when using IGFX to make a 480 work? Or is the cable swap to see clover required
 
@LostVector: Did you need to do anything to enable 5K on your FirePro GPU? That's quite interesting, as most people were unsuccessful trying to use a 5K display with AMD GPUs. I just remember one successfull attempt using a R9 280X, but it involved fiddeling with framebuffer personalities and SMBIOS profiles.

Regarding the Clover stuff: I'd really like to encourage you to try everything what comes to your mind! I'd also happily discuss any ideas here. It's about time to fix that stupid bug...
 
newb question: is it possible to keep my old gtx760 and add rx480 just for its rendering power?
as in: can the gtx still handle wake/sleep etc and feed the monitor while the rx handles the davinci resolve workload only?

thx thx!
 
@LostVector: Did you need to do anything to enable 5K on your FirePro GPU? That's quite interesting, as most people were unsuccessful trying to use a 5K display with AMD GPUs. I just remember one successfull attempt using a R9 280X, but it involved fiddeling with framebuffer personalities and SMBIOS profiles.

Regarding the Clover stuff: I'd really like to encourage you to try everything what comes to your mind! I'd also happily discuss any ideas here. It's about time to fix that stupid bug...
Yes ... I posted in another thread but essentially you must be sure the "none" profile is not used for your current board-id in AGDP. I figured this out by noticing that some posters with MST 4k monitors were able to get their monitors working with the macmini6,1 SMBIOS. It's not the SMBIOS per se that is special, but rather the lack of its board-id in AGDP that is the key. So I'm on iMac14,2 and it all works because I edited my AGDP Info.plist.

Anyway, this can be done several ways, but removing your board id from AGDP completely or changing the default in AGDP from "none" to a custom profile that does nothing also works. The key is that "none" is not a no-op ... it does something which kills MST support.

Personally, the way I do it is to create a custom empty config called "Custom" similar in structure to the "Config1" and "Config2" sections, etc ... and then point both "Default" and the board-id for my SMBIOS to "Custom".

I saw the other user who claimed he got it working in 5K, but based on the lack of details from him I'm not sure he actually has it working.

I did not have to edit framebuffer personalities, although I did mess with that for a while and construct a working framebuffer personality for my card. The default RadeonFramebuffer works just fine, and the FirePro W7000 ID is in AMD7000Controller.kext, so it's about as native as you could hope for.

EDIT: Also make sure that CFG_USE_AGDC is set to true for your framebuffer personality in your respective AMDXXXXController.kext Info.plist. If using RadeonFramebuffer, set it to true in the default section. If using a custom framebuffer, you may have to add or override it in the respective configuration section for that framebuffer. I ran into issues with this in 10.12.4 and I'm not sure if I made this edit in 10.12.3 and just forgot, or if it's new to 10.12.4.
 
Last edited:
Back
Top