Contribute
Register

Radeon Compatibility Guide - ATI/AMD Graphics Cards

Radeon Compatibility Guide

Great work.
A suggestion, add the graphics chip name for each model, i.e., Cape Verde, Tonga, etc.

Assuming, AMD graphics solutions are welcome, a fix for 10.10.3+/HD 7750 black screen:

AppleGraphics7750.kext

  1. Patches AMDRadeonX4000.kext/AMDVerdeGraphicsAccelerator (Note 1)
  2. Enables native Cape Verde GPU PM (MacBookPro11,4/R9 M370X)
Requirements (all))

  1. Native OS X/AMD kexts.
  2. device_id: Vendor1002Device683f (HD 7750)
    1. System Information/Hardware/Graphics/Displays/Device ID: 683f
  3. board-id: Mac-27ADBB7B4CEE8E61 (iMac14,2)
    1. IOReg/sysdef/board-id/Mac-??
  4. HD4600: IOReg: IGPU@2
    1. IOReg/Search: IGPU@2
Installation (1 or 2, not both)

  1. Kext Beast/Kext Utility (System/Library/Extensions)
  2. Clover (EFI/CLOVER/kexts/10,10 and 10.11)
Supports

  1. 10.10 (verified 10.10.5)
  2. 10.11 (verified PB6)
Edit(s) for other Cape Verde GPUs (use property list editor: Xcode, Property List Editor, etc.)

  1. System Information/Hardware/Graphics/Displays/Device ID: id?
    1. verify Cape Verde, IOReg/AMDVerdeGraphicsAccelerator, if no, full stop.
    2. edit AppleGraphics7750.kext/Contents/Info,plist/AGPM/Machine/Mac-27ADBB7B4CEE8E61/Vendor1002Device683f to Vendor1002Device id?
  2. board-id: Mac-27ADBB7B4CEE8E61 IOReg/sysdef/board-id/Mac-??
    1. edit AppleGraphics7750.kext/Contents/Info.plist/AGPM/Machine/Mac-27ADBB7B4CEE8E61 to Mac-??
  3. HD4600/IOReg/IGPU@2: IOReg/Search: IGPU@2
    1. if none, Search:GFX0@2, edit AppleGraphics7750.kext/Contents/Info,plist/AGPM/Machine/board-id/IGPU to GFX0
    2. If none, no Intel graphics, ignore or remove IGPU
  4. If necessary, rename AppleGraphics7750.kext to newly supported graphics card
Note
1. olegt. Post #16, 10.10.3 Update Black screen with cursor - Page 2


Hey, firstly thank you for your work on this kext :D I was wondering if you could help me a little! I have a dell precision laptop that has a AMD firepro w5170m card in it, which is just a R9 m370x. There is a macbook from 2015 that uses this exact chip; and the device ID for that mac's graphics card is 6821. Using your kext I was able to get partial graphics support (no sleep, no hdmi out, says its a amd 7xxx), my chip says under device id its a 6820. I haven't been able to get this thing working fully and no one seems to know how to help me. I followed your post and was able to at least get it semi working (thank you). To me it looks like the framebuffer isn't set or being loaded. And I honestly don't even know what framebuffer to use for the m370x. The only way I can get a boot is with your kext loaded in clover and without injecting ATI. If I remove your kext and try injecting fake ID 0x68201002 or 0x68211002 and trying with a couple different buffers I always just get a black screen. Do you have any advice for me?? Any help? I know it's laptop dedicated graphics, but no one seems to know anything about my case. And you seem to have done the most work for Cape Verde.

Thanks in advance!
 
Hi all.

Okay, I'm taking delivery of an RX 560 tomorrow. I've read (nearly ;)) all 131 pages in this thread to try and get myself ready for the switch.

I understand I will need to set my iGPU as Primary in BIOS and that because of this the boot displays will not be visible until I hit the macOS log-in screen. I'm on macOS 10.12.6 and running sys-def 14,2.

I'd be grateful for a bit of confirmation of the way to go with this from my friends here, please ...

I input a Fake ID for the GPU via Clover boot or config.plist. I don't want to edit the AMD kexts in case that invalidates their security signatures etc (right/wrong?). Expert @Gigamaxx earlier (post 1281) suggested 0x67FF1002 might be correct. Or do I have to load Windows to get the correct ID first?

Does the iGPU then basically sleep for the duration I'm using the PC? How do I change boot-parameters going forward? For example could I connect the DVI ports of motherboard and monitor, as well as the main HDMI, and just switch inputs via monitor menu to see the boot sequence? Anyone doing this, or does it not work because the cable is plugged-in etc?

Any other info that I've missed would be gratefully received.

Thanks :)
 
Last edited:
Hi all.

Okay, I'm taking delivery of an RX 560 tomorrow. I've read (nearly ;)) all 131 pages in this thread to try and get myself ready for the switch.

I understand I will need to set my iGPU as Primary in BIOS and that because of this the boot displays will not be visible until I hit the macOS log-in screen. I'm on macOS 10.12.6 and running sys-def 14,2.

I'd be grateful for a bit of confirmation of the way to go with this from my friends here, please ...

I input a Fake ID for the GPU via Clover boot or config.plist. I don't want to edit the AMD kexts in case that invalidates their security signatures etc (right/wrong?). Expert @Gigamaxx earlier (post 1281) suggested 0x67FF1002 might be correct. Or do I have to load Windows to get the correct ID first?

Does the iGPU then basically sleep for the duration I'm using the PC? How do I change boot-parameters going forward? For example could I connect the DVI ports of motherboard and monitor, as well as the main HDMI, and just switch inputs via monitor menu to see the boot sequence? Anyone doing this, or does it not work because the cable is plugged-in etc?

Any other info that I've missed would be gratefully received.

Thanks :)

You can try using clover ATI fake ID 0x67EF1002 and try with inject ATI and Without injecting. Sometimes it won't take and you have to do manual edit to the kext.

The correct ID is 67FF1002, we now have the lilukext and WhateverGreenkext which allow us to use the Polaris and most AMD cards without the need for IGPU as primary display. I'm not sure if the 67ff definition is in Sierra 12.6 I think it may be there already in one or both of the Drivers or kexts. Can you check? You can do so without compromising your originals by opening up the kexts and dragging copies of your info.plists form the two kexts you will be using.

Go to top tool bar and select "Finder" then scroll to "preferences" open it and check "Hard disks" box. Your drives should appear on the desktop. Open the drive icon and go to System/Library/Extensions. Scroll to AMD9510Controllerkext. Drag it to the desktop, don't worry it will leave the original in the proper place. Next drag the AMD4100kext to desktop.

Right click on these kexts and select "show package contents" then open the "contents folder. Drag the info.plist to desktop. Right click on the info.plist and choose "open with" Other, then scroll to Textedit and open. Look for the 0x67EF1002 definition and see if 67FF is there as well. If not this is where you would change it just make the E an F so you have 0x67FF1002.

****As long as you use kext wizzard before you reboot it won't ruin your setup. Check the 4100kext as well and add the ID if it's not there. I think it's only missing from the controller kext. You can drag the info.plist directly to the main disk folder under contents and make sure you have the Authenticate and replace prompts. If you don't get the replace prompt cancel and try again. After the replace prompt and password use kext wizzard to fix repair permissions.

After you get the 560 working with acceleration you can add the lilu and whatevergreen kexts to System/Library/Extensims folder and or your clover EFI kext folder in 10.12 or other. Use radbeta for a boot arg like you would dart=0. Heck to see if the whatevergreen isn't loading and activated by checking Avout this Mac name it will probably be different from before you instal kexts. If it changes the name then go to bios and disable IGPU and reboot.
 
That's great. Thanks very much @Gigamaxx :)

I was just reading about the whatevergreen.kext and have downloaded. I have lilu in place already, so that's sorted.

Right, I took a look at the info.plists from the kexts you mentioned ... You are spot-on :)

AMD9510Controller kext has only 0x67EF1002 so I need to change to 0x67FF1002 for that one.

AMDRadeonX4100 kext actually has both IDs along with a third. So okay to leave alone?

For the radbeta command-line option, does it need a value or just as it is?

If I can get the setup working without the iGPU that's going to be the icing on the cake.

Thanks again.
:)
 
The radbeta boot arg is just that no numbers or anything. Also, if that doesn't work try using lilubeta and or both.

Leave the 4100kext alone it's good to go. Sorry it's been a few months since I had a 560 that I tested.
 
The radbeta boot arg is just that no numbers or anything. Also, if that doesn't work try using lilubeta and or both.

Leave the 4100kext alone it's good to go. Sorry it's been a few months since I had a 560 that I tested.

Ah, great. Just what I needed. All seemed a bit daunting before. Last time I used a Radeon was an R7 250 a couple of years ago. Things have moved on such a lot.

Would you recommend trying without iGPU to start with, having modded the kext in advance, and just Fake ID-ing the GPU from Clover/boot along with command-line additions ? Or is that too ambitious?

Once the GPU arrives I'll report back on progress.

Thanks again for your help.

:)
 
Ah, great. Just what I needed. All seemed a bit daunting before. Last time I used a Radeon was an R7 250 a couple of years ago. Things have moved on such a lot.

Would you recommend trying without iGPU to start with, having modded the kext in advance, and just Fake ID-ing the GPU from Clover/boot along with command-line additions ? Or is that too ambitious?

Once the GPU arrives I'll report back on progress.

Thanks again for your help.

:)

Go with IGPU first to make sure its working and the lilu and whatever green kexts are working. You can check by using IORegistry app and scrolling to bottom of left side window. If you see lilu and whatever green then go ahead and disable the IGPU.

Or if you try without IGPU first you will know pretty quick that it is working if you don't end up with Black screen.
 
Ha! Yes, good point!

Like the idea of iGPU and checking with IORegistry as a starting point.

Will report back.

:)
 
Hi there.

Okay, an update as promised after installing my new RX 560.

So far whatevergreen kext is not loading, as far as I can see. It's not showing in IORegistryExplorer, only Lilu is. I've tried moving them both to S/L/E as they were in kexts/Other but this has made no difference.

Edited AMD9510Controller.kext to change the ID to 0x67FF1002 (notice the ID *is* in AMD9500 & AMD9520Controller if that means anything?)

When run IORegistryExplorer shows that it's the AMD9500Controller.kext that is loaded, along with AMDRadeonX4200.kext (??) I'm guessing this is very relevant. The first does have the ID in it, the second does not.

The RX 560 is showing as an R9 xxx in System Report; it seems to be accelerated and metal is 'supported'.

Black screen on boot so using iGPU as a helper with no boot sequence etc. at the moment.

So it's in and operational but can't figure why whatevergreen won't load and do it's magic.

Can you spot if I've I missed something?

Many thanks!
:)
 
Last edited:
Back
Top