Ok, so here is how I got my 6670 card working. Sorry for the long wait, this week turned out busier than I thought it would be!
I should probably say that I'm still new to this, and have absolutely no idea if this will work for you, particularly if you have a different port configuration on your graphics card from me (DisplayPort, HDMI, DVI Digital, DVI Analogue - I think). Also, I only have DVI going into my screen, as I don't have any other fancy sockets on my screen, so it's quite likely that my DisplayPort and HDMI settings (and possibly DVI Analogue - if that's what it is) won't work.
First off - here's the info about my card:
http://www.yoyotech.co.uk/item-detail.php?products_id=4373341 - Sapphire Radeon HD 6670 1gb
Code:
sudo lspci -nnvd 0x1002: | grep -B2 Subsystem
01:00.0 VGA compatible controller [0300]: ATI Technologies Inc Turks XT [AMD Radeon HD 6600 Series] [1002:6758] (prog-if 00 [VGA controller])
Subsystem: PC Partner Limited Unknown device [174b:e194]
--
01:00.1 Audio device [0403]: ATI Technologies Inc Unknown device [1002:aa90]
Subsystem: PC Partner Limited Unknown device [174b:aa90]
So, I started off by going through all the framebuffer personalities mentioned by NoShy at the start, but nothing changed at all. My boot command was:
I realised later that it seems that the -v stops the actual framebuffer loading, so try it without the -v, you might have success.
I realised this was todo with chimera and the fact that it doesn't set any framebuffer up for 6670 cards. I downloaded the source, and edited it, by putting an actual framebuffer personality in ati.c. I then ran
in the root of the chimera folder to compile and just copied the boot file over to the root of the drive. This at least meant that when I tried the framebuffer personalities, some of them halted the startup. But none of them made any difference to what personality was actually loaded.
I then found on page 4 of these posts, NoShy mentioning editing the framebuffer configurations from the actual kext files. I read the post, and read his links to posts on InsanelyMac, and had a go!
I started off by getting a rom dump of the graphics card using gpu-z in windows. I then extracted the information of the rom using radeon_bios_decode - which is one of the files mentioned in NoShy's post. This gave me information about the ports on the card:
Code:
ATOM BIOS Rom:
SubsystemVendorID: 0x174b SubsystemID: 0xe194
IOBaseAddress: 0x0000
Filename: 194X0306.S22
BIOS Bootup Message:
TURKS XT C33302 GDDR5 64Mx32
PCI ID: 1002:6758
Connector at index 0
Type [@offset 44276]: DisplayPort (10)
Encoder [@offset 44280]: INTERNAL_UNIPHY1 (0x20)
i2cid [@offset 44360]: 0x93, OSX senseid: 0x4
Connector at index 1
Type [@offset 44286]: HDMI-A (11)
Encoder [@offset 44290]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 44387]: 0x94, OSX senseid: 0x5
Connector at index 2
Type [@offset 44296]: DVI-I (2)
Encoder [@offset 44300]: INTERNAL_UNIPHY (0x1e)
i2cid [@offset 44424]: 0x92, OSX senseid: 0x3
Connector at index 3
Type [@offset 44306]: DVI-I (2)
Encoder [@offset 44310]: INTERNAL_KLDSCP_DAC1 (0x15)
i2cid [@offset 44424]: 0x92, OSX senseid: 0x3
I then used ati-personality.pl to get the info from the installed ati kexts - specifically ati6000controller.kext which is where stuff for the 6670 is found.
This gave me information about the settings for each framebuffer personality. Here's the Muskgrass personality - this is not what you'd see for yours, because I've edited it for my specific card:
Code:
Personality: Muskgrass
ConnectorInfo count in decimal: 4
Disk offset in decimal 173248
0000000 00 04 00 00 04 03 00 00 00 01 00 00 11 02 03 04
0000010 00 08 00 00 04 02 00 00 00 01 00 00 12 04 04 05
0000020 00 02 00 00 04 02 00 00 00 01 00 00 00 00 01 03
0000030 04 00 00 00 04 02 00 00 00 01 00 00 11 02 02 03
0000040
If you read the links from NoShy's post you'll find what this means, but the easier ones are the start and end sets of numbers. The first 4 pairs for each row specify each port type (HDMI, DVI or DisplayPort), and the last pair of each row is the sense id. I basically reconfigured these numbers as the ports were completely wrong for dvi (which is what I am using), as were the sense ids. To edit these, you have to view the contents of the Ati6000Controller.kext, and open the actual driver inside the MacOs folder with a hex editor.
I used Hex Fiend to change the numbers round (I used Gibba as a guide, because that personality had dvi ports specified) - obviously making a backup of the kext first - you don't want to muck it up, and not have your replacement.
That's it. It took a couple of tries, and there are some other numbers in the framebuffer table that help - specifically I found the hotplug id changed whether or not my dvi connected as the primary display or the secondary display.
Well, I've spent long enough on this post, but I'll try and answer any questions!....