r9 380 (a.k.a r9 285) used to work OOB on Yosemite, but became very problematic after El Capitan release booting to black screen. Finally, I managed to make it work under Sierra without any compromises. Graphics acceleration, OpenCL, Metal, sleep, audio via DP...all tested & confirmed to be working. In short, I had to do some ACPI patching, to get video out from my card. I still have to use my iGPU as a helper card, but fortunately NOT in "headless" mode. So I got image output & full acceleration from my iGPU too, don't have to blind boot or switch monitor cables during boot time. You know, it just works
To confirm that everything works properly, I used FractalArchitect4 (its OpenCL & Metal built-in test tool), OpenGL Extensions Viewer, GeekBench (OpenCL), Final Cut X (OpenCL? Metal?) and After Effects (2017 version use GPU for compositing & accelerating some filters). I tested dGPU & iGPU separately. They work in each scenario properly, stabile & as fast as expected.
Below are details of my machine and config.
cpu i7 4790 (iGPU HD 4600)
motherboard Gigabyte Z97-D3H
mem 16 gb 1600 Mhz
MSI r9 380 4gb - four ports (DP, HDMI, DVI, DVI), exactly matches layout of framebuffer Lagotto
Couple SSD & hard drives
First, BIOS settings. I tried to list only important ones.
'M.I.T.' section, choose Advanced Memory Settings (XMP) - set 'Enhanced Stability'
'BIOS Features' section
Intel Virtualisation Technology: OFF
Windows 8 Features: Other OS
Storage Boot Option Control: UEFI Only
Initial Display Output: IGPU
Intel Processor Graphics: Enabled
Intel Processor Graphics Memory Allocation: 64M
DVMT Total Memory Size: MAX
XHCI Hand-off: Enabled
EHCI Hand-off: Enabled
These are hex values for patches that you need to create. This part is crucial to get video output from r9 380!
'Rename PEG0 to GFX1'- find:50454730 replace:47465831
'Rename GFX0 to GFX2' - find:47465830 replace:47465832
In Devices>FakeID>IntelGFX put this value '0x04128086'
In Graphics inject both Intel & AMD.
In FBName use 'Lagotto' - this framebuffer is native for Tonga, r9 380/r9 285 cards
In Ig-platform-id put value '0x0d220003'
I use SMBIOS of iMac 15,1 (CPU, iGPU & dGPU are very close to my rig). If you will use my attached config.plist, don't forget to fill SMBIOS section accordingly. I removed it to keep out personal data.
This thread was very useful to me while putting all pieces together:
Thanks to all Insanelymac contributors & people willing to share their experience, I couldn't do it without this great community!
config_REFERENCE.plist.zip 2.12KB 113 downloads