INFO: Krazubu’s ATI card information
Most of this is from a very old post authored by insanelymac moderator Krazubu and was useful to me in fixing some GFX kext files.
This was at one point posted on insanelymac, but has since fallen into the abyss. I’m not sure why, but here is an old copy I saved for my personal reference, I realize I’m not in the scene much anymore – but I was forced to update the site because of spamming and remembered this was never published, so here you go!
Most credit goes to Krazubu
This thread is not a guide, its purpose is to keep some updated informations about ATI cards.
People who have the skills may find interesting infos. It’s not complete and if you know how to fill the holes, it’s very welcome.
Support of ATI cards is made by 2 kexts :
- A framebuffer, located in /System/Library/Extensions/ATINDRV.kext/Contents/PlugIns/ATY_Somefile.kext
This one is responsible of 2D support, including resolution change, output signal handle, and refresh rate.
- An acceleration driver located in /System/Library/Extensions/ATIRadeonXXXX.kext
This one brings hardware acceleration allowing use of QE (Quartz Exterme) and usually CI (Core Image) too, except on some older models
which only support QE.
****************************************************************
List of the available framebuffers :
QUOTE
ATY_Wormy : RV530 on X1600, some X1650 and some X1300
Used on 1st gen macbook pro and 1st gen iMac
head 1 : LVDS
head 2 : DVI+VGA
ATY_Alopias : RV580 on X1900 XT, known to work with GPU RV520 on X1800 and X1850
Used on mac pro
head 1 : DVI+VGA
head 2 : DVI+VGA
ATY_Sphyrna : RV516 on some X1300, and some X1550
Used on Xserve.
head 1 : disabled
head 2 : DVI+VGA
ATY_lago.kext : RV610, HD2400XT / HD2400
Used on iMac
head 1 : LVDS
head 2 : DVI+VGA
ATY_Hypoprion : RV630, HD2600Pro
Used on iMac
head 1 : LVDS
head 2 : DVI+VGA
ATY_Lamna : RV630, HD2600XT
Used on mac pro
head 1 : DVI+VGA
head 2 : DVI+VGA
ATY_Franklin : R600, HD2900
mac model : ?
head 1 : ?
head 1 : ?
ATY_Megalodon : RV670 XT [ATI Radeon HD 3870]
Used on mac pro, sold by AMD in PC/Mac version
head 1 : DVI+VGA
head 2 : DVI+VGA
ATY_Triakis : ?
ATY_Prionace : ?
ATY_Caretta : ?
The framebuffer controls the basic functions like resolution, refresh rate, and output type.
Each frambuffer is designed to run on a particular model of mac, and only supports the features it’s designed for.
examples :
-The Sphyrna framebuffer is designed for Xserve which has no primary output, but only an external one, as secondary. As a consequence, this driver may be used to run a board with RV516 or close GPU, but will never be able to output something on the primary output.
-The Iago framebuffer is designed for iMacs with RV610 GPUs with an internal display using LVDS signal. It’s then impossible to use a DVI or VGA display on the primary output. However the secondary output supports DVI + VGA, since the iMac have an external output that supports this kind of displays.
Each framebuffer has a different shark codename
To choose your framebuffer, you have to modify a key inside your injecter :
QUOTE
<key>@0,name</key>
<string>ATY,Wormy</string>
and
<key>@1,name</key>
<string>ATY,Wormy</string>
Replace with the codename that you want to try.
****************************************************************
List of the available acceleration kexts :
QUOTE
ATIRadeon7500.kext (tiger only) = R100 family (7000 to 7500)
ATIRadeon8500.kext (tiger only) = R200 family (8500 to 9250)
ATIRadeon9700.kext (tiger only) = R400 family (9400 to 9800 + X300 to X600 + X1050)
ATIRadeonX1000.kext = R500 family (X1300 to X1950)
ATIRadeonX2000.kext = R600 family
The advantage of this file is that it’s generic and supports the whole family at once. No need to have a specific file for each card.
Eg : ATIRadeonX1000.kext will work fine with any X1000 series (the card still has to be a “real” X1000 and not an older revamped model, see note below).
****************************************************************
List of the officially supported cards, following the list of present device IDs in the kexts :
ATIRadeonX1000.kext from 10.4.8 :
QUOTE
0×7146 1002 RV515 [Radeon X1300]
0×7142 1002 RV515 PRO [Radeon X1300/X1550 Series]
0×7109 1002 R520 [Radeon X1800]
0x71C5 1002 M56P [Radeon Mobility X1600]
0x71C0 1002 RV530 [Radeon X1600] (iMac)
0×7240 1002 R580 [Radeon X1900]
0×7249 1002 R580 [Radeon X1900 XT]
ATIRadeonX1000.kext from 10.5.6 :
QUOTE
0×7187 1002 ? [Radeon X1300]
0×7210 1002 RV550 [Mobility Radeon HD 2300]
0x71DE 1002 RV535 [Radeon X2500]
0×7146 1002 RV515 [Radeon X1300]
0×7142 1002 RV515 PRO [Radeon X1300/X1550 Series]
0×7109 1002 R520 [Radeon X1800]
0x71C5 1002 RV530 (M56P) [Radeon Mobility X1600] (mac book pro)
0x71C0 1002 RV530 [Radeon X1600] (Primary) (iMac)
0×7240 1002 R580 [Radeon X1900] (Primary) (mac pro)
0×7249 1002 R580 [Radeon X1900 XT] (Primary)
0×7291 1002 RV560 [Radeon X1650]
ATIRadeonX2000.kext from 10.5.6 :
QUOTE
0×9400 1002 R600 XT [Radeon HD 2900 XT]
0×9401 1002 R600 XT [Radeon HD 2900 XT]
0×9402 1002 R600 XT [Radeon HD 2900 XT]
0×9403 1002 R600 XT [Radeon HD 2900 Pro] iMac 24″
0×9581 1002 RV630 [Mobility Radeon HD 2600]
0×9583 1002 RV630 [Mobility Radeon HD 2600XT] iMac 20″
0×9588 1002 RV630 [Radeon HD 2600 XT] Mac pro
0x94c8 1002 RV610 [Mobility Radeon HD 2400 XT] iMac 20″
0x94c9 1002 RV610 [Mobility Radeon HD 2400]
0×9500 1002 ?
0×9501 1002 RV670 XT [Radeon HD 3870]
0×9505 1002 RV670 [Radeon HD 3850]
0×9507 1002 RV670 [Radeon HD 3830]
0×9504 1002 RV670 [Mobility Radeon HD 3850]
0×9506 1002 ?
0×9598 1002 RV630 [Radeon HD 4570]
That means if you have one of the boards above, it should be supported, however that support will be limited by the outputs that the framebuffer is designed to support.
To enable the use of a kext for your card, you have to insert your dev ID inside the plist of the chosen kext, if it’s not already there.
GPUs from R100 to R400 have supported acceleration with Tiger, however they don’t work anymore with Leopard. Those GPUs also never got any intel framebuffer.
Note about board numbers and generations :
Better rely on the GPU model than the board name, those are confusing and don’t really mean a thing, ATI do what they want with them. Two cards with a very close number, can be very different, and on the opposite, two cards with a very different number can be very close if not identical.
Example : there are three X1300 models, different enough to use different kexts, and be supported or not.
A marketing trick consists in rebranding some models that use chips from older generation with up to date names so that they don’t feel old.
This is the case of the X2500 which is actually a X1000 series card, hence its support by the X1000 kext, instead of the X2000 one, as the card name would suggest. Same with X1050, it’s not a X1000 but would use the 9700 kext.
To get a detailed list of board names and their GPUs, you can check this database.
Missing so far :
- Needs updates for cards supported by older kexts (Tiger only).
- Some framebuffers missing/unknown.
- Some device IDs unkown.
—–
A response from Slice on insanelymac forums consisted of:
You say nothing about X700-X850?
I want to say something about acceleration. The driver ATIRadeonXXXX.kext has internal check for DeviceID so it needs for binary patch.
For R300 family in Tiger it was performed by koverg.patch. There are many successful reports with it.
I investigated R200-R400 and found more information.
For R200 we must to patch ATIRadeon8500
CODE
DeviceID Sample
4242..4243 514c
5148..514d 514c
4c64..4c67 4c66
5964 5963
5c61 5c63
For example, if you have DeviceID=514e then your sample=514c
Open ATIRadeon8500.kext/Contents/MacOS/ATIRadeon8500 with HexEdit. HexEdit_Fat.zip ( 178.08K ) Number of downloads: 0
Search 3d4c51 replace to 3d4e51 (you see bytes 4e and 51 in reverse order).
For R300
CODE
DeviceID Sample
3150..3154 3e50
3e50..3e54 3e50
4145..414b 4144
4151 4150
4153..4156 4152
4e45..4e47 4e44
4e49..4e4a 4e48
4e50..4e53 4e50
5460..5464 5b60
5b60..5b65 5b60
5a41, 5a61 5b60
5a42, 5a62 5b60
The same but with ATIRadeon9700.
The last sample 5b60 is the same patch as koverg did.
For R400 you have two samples 4a48 and 4a4e
CODE
DeviceID
4a4f..4a54
4b4a..4b4f
5548..5554
564a..5653
5954..5955
5974..5975
5d48..5d57
5e48..5e4f
For example you have DeviceID=5e49
Open ATIRadeon9700.kext/Contents/MacOS/ATIRadeon9700 with HexEdit
Search 3d484a replace to 3d495e
Search 3d4e4a replace to 3d495e
Yes, replace both sample! In two or three places!
I still have no investigation about newer Radeon R500-R700 and ATIRadeonX1000(2000).kext but I think there is the same problem here.
If you know that your DeviceID is not supported and you know nearest good you can make your own patch.
For example.
Your DeviceID=71cd. Supported one is 71c5.
Open ATIRadeonX1000.kext/Contents/MacOS/ATIRadeonX1000 with HexEdit
Search 3dc571 replace to 3dcd71
FUJILIVES: I’ve used this method to hex-edit some files in the past and it works nearly identical to natit, so more often than not, its fairly safe to assume its not necessary as long as we have injectors.
Dell Studio Post Installer