As I see many novices in the forum ask "How to make my Radeon working? I have bad resolution, no QE/CI...." and so on. They come to the section and have no find an answer here because all Radeons are different and they don't know where else they read about this.
I want to explain all steps needed for launching the Radeon family of videocards.
I will speak about Clover because I maintain this bootloader to know recent hardware and modern OSX. Not sure if you will have the same result with other bootloaders. I am carefully checking the injecting of ATI card and correcting it times to times. I am also accessible for bug reports.
Older card require older system, newer cards require new system.
ATIRadeon9000 is possible to launch under Tiger.
ATIRadeonMobilityX1400 requires 10.5-10.6. See RadeonHD topic.
As I see RadeonHD3xxx was successful only in 10.5
For new AMDRadeonHD7xxx there must be 10.8.3+ system.
This must be the first question before asking about the card.
You may know the device-id from Windows->DeviceManger->VideoCard.properties->compatibleIDs
You may boot into system in safe mode (key -x) and see system profiler
And you may boot into Clover GUI, press F2 and get preboot.log. Find here something like
2:709 0:000 PCI (00|01:00.00) : 1002 6758 class=030000
2:709 0:000 Found Radeon model=AMD Radeon HD 6670 Series
It means my DeviceID=6758 (these are hex numbers)
Then you must check that Apple's drivers support your DeviceID. If not then add it!
For example HD7850 has DeviceID=6819. If we look into ATI7000Controller (AMD7000... in new systems) we find 6818 here but no 6819!
I show you how to do this with terminal commands. Launch /Application/Utilities/Terminal.app. Type in opened window:
cp /System/Library/Extensions/ATI7000Controller.kext/Contents/Info.plist ~/Desktop
So you get a copy of the Info.plist on Desktop. Edit it with TextEdit. Change 68181002 -> 68191002.
Don't edit this file directly in the system folder!
Then copy back by terminal. Don't use finder to copy kexts! They will have wrong permissions in this case.
sudo cp ~/Desktop/Info.plist /System/Library/Extensions/ATI7000Controller.kext/Contents/
sudo rm -r -v /System/Library/Caches/com.apple.kext.caches/*
Second command make sure next reboot the kext will use your edited info.plist.
The same operation you must do with a kext AMDRadeonAccelerator or ATIRadeonX2000 or other one. Check all candidates if they contain such list of possible IDs and choose closest to you.
Since Clover revision 1971+ you may just inject new DeviceID into DSDT instead of correcting kexts. See instruction here.
GraphicsEnabler or Injector
OSX needs to know some properties (Model name, Family, etc...) that must be somehow injected at boot time. Yes, also real Macs got DeviceProperties string from firmware.
1. Set InjectATI=Yes in Clover (same as GE=y in Chameleon).
2. Use custom string made with gfxutil. For whom who knows.
3. Write _DSM into DSDT. You should know what to write.
4. Use some kext like ATY_init.kext or Natit.kext. If you are sure that the kext is for your card namely.
I want to say that all this methods make the same thing. Differencies in their tuning.
The Clover do this automatically for most known cards at this moment.
As you may see to start HD5000-7000 some strange names used: Pithecia, Orangutan, Elodea... What are they?
They are configs for framebuffer. Predefined configs how connectors are solded for cards used in real Macs. Strange but these configs rear coincide with PC card. Usually gurus make advice "choose a framebuffer that most appropriate for your card". The chances 1:10. In most cases you may find a FB name that gives you main monitor working. Or nothing at all.
Great respect to bcc9 who gives us a method to correct one of config to be exactly for you. See here.
My retelling for Clover is here
Success example in the thread in posts 44-52
I tested Clover's methods with two users having Mobility Radeon HD5470 and HD5650M. We found that full memory and QE/CI will be achieved if we set in Clover's config
even thou no file with bios is provided. This is the key to make Radeon Mobility working!
Other problem is bad gradients or artifacts. For this case Clover accept the key
and sometimes you also need to inject CustomEDID.
See Clover instructions for details.
And my results.
Gigabyte Radeon HD6670
VTX Radeon HD5570
for this card "yes" leads to black screen. Use with precautions.
A sample for Radeon R7 240
UPDATE for ElCapitan.
It seems has more problems. My HD6670 is not working in ElCapitan OOB unlike Mavericks.
I had to set FakeID=0x67401002 as correspond to real iMac12,2 and set this model in SMBIOS section.
It related to GraphicsPM or GraphicsControl.
Look these kexts to decide what you can do for your configuration.
HighSierra requires change these kexts by version from Sierra 10.12.6
for Radeon HD6xxx
for Radeon HD7xxx and up
Black screen after wake problem
resolved by follow method
I created an installer for my version of FakeSMC with plugins and applications latest revision.
Compatibility from 10.6 up to 10.15.
Download here: HWSensors.pkg.zip
See my signature
New project home
FakeSMC v3.5.3 and plugins
FakeSMC 3.4.0 revision 751
New project home is
where you can download most recent versions.
Now it is FakeSMC 3.4.1
Explanations about the difference between versions 3 and 6
Revision 32 with explanation at #220
FakeSMC is 3.5.0 compatible with High Sierra.
New plugin VoodooBatterySMC created on the base of VoodooBattery by Superhai but with SMC keys generating to show Battery voltage and amperage. As well it created key BATP needed for right speedstep and FileVault2.
Other kexts revised.
Dell laptops and desktop can be monitored by SMM methods as mentioned is the old topic
I made a plugin SMIMonitor for FakeSMC in 2014 but it was 32bits and was not working. Only now I made it to be 64bits (as darkvoid did with kozleks branch) and got positive results
and after heating
So I have monitoring of 4 additional temperature sensors (CPU Proximity, GPU, DIMM, and Motherboard) and a CPU fan which initially stay at 0 rpm and start rotating after heating with 2882rpm.
Moreover I implemented a function for brave people to control fans
sudo SMC_util3 -kF0As -w2
The last digit 2 is a FAN speed you want to set
0 = Off
1 = Low
2 = High
If you have more then 1 fan then you can manage other one by choosing next key F1As, F2As etc.
Precaution! Writing the fan speed is dangerous and may cause a computer damage. Do this at your own risk!
Note. SMIMonitor.kext will work only with FakeSMC v3 provided with HWSensors3 in my signature.
Official release at sf.net contains SMIMonitor without write possibility.
As I have 3 Monitors connected, my RX 570 gets arround 50°C while ideling/ web browsing etc. The problem is, that this temp is apparently just the threshold, when the fans start to spin. So the fans start spinning for a minute then they stop for a while again... This is very annoying for me as the rest of my hackintosh is nearly quiet (SSD, 120mm low RPM cpu fan, nearly silent PSU,...), especially when Im using the pc to revise for school. Does somebody know wether its possible to "change" the threshold till the fans start spinning? Like it would probably not be a problem for the gpu at all, if the temp rises to 55°C but therefore be soundless....