Contribute
Register

[CLOSED] Adding ATI card IDs to Chimera 1.5 ATI.c

Status
Not open for further replies.
Re: Adding ATI card IDs to ATI.c - update (10-May)

GingaNinja said:
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 am getting very close now I feel. Unfortunately, I don't have access to windows to check the bios of the Gigabyte AMD Radeon HD 6670 Graphics Card - is anybody able to do that for me?

It's this one here:

http://www.amazon.com/gp/product/B004XV ... cx86com-20

From Sandy Bridge Customac Build 1.

I've tried guessing the Port types & sense id's but no joy as yet.

If someone has access to Windows & GPU-Z software & is able to do this, I'll write out some instructions for the newbies like me to try & save you the hours I've spent on it!

Thanks
 
Re: Adding ATI card IDs to ATI.c - update (10-May)

Howdy:

Framebuffer trouble with my Sapphire 5770 (100283-3L)... my system runs pretty well, nice and stable, seems like it has proper graphics acceleration in games, and honestly, I can probably stop now and be happy. However, the default Radeon Framebuffer gets loaded and obviously DVD Player and GeekBench don't work for me. This seems to be the case no matter what Graphics Enabler is doing (well, did get kernel panics with "Yes" while playing games... "No" seems very stable).

Ran through the entire gamut of Framebuffers (with Graphics Enabler yes) at the Chimera boot screen without any luck (3 wouldn't boot, the rest just loaded the Radeon FB).

I'm assuming there is no Framebuffer support for this specific Sapphire card but wanted to pick your brains to see if I had any other options (I saw some folks reflashed the BIOS on their video cards but seems a bit risky to me...).

TIA!
 
Re: Adding ATI card IDs to ATI.c - update (10-May)

shakcha said:
GingaNinja said:
1st question I have, is how/where do you edit the ati.c file....?

ati.c is in the Chimera source code, in i386/libsaio. You'll need to use svn to check out the code if you haven't got it. Obviously this might be beyond most people. But instructions for doing this are here:
http://forge.voodooprojects.org/p/chameleon/source/help/

although, this will actually check out all branches of the Chameleon project, so you will have to browse to branches/Chimera to get to the actual code.

could you upload your boot.plist and ati6000controller.kext and ati.c ?

i got a same graphics as you i need a reference.

thanks.

This would be really useful if possible?

Thanks
 
Re: Adding ATI card IDs to ATI.c - update (10-May)

GingaNinja said:
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]

5939105137_c3502bd0d2.jpg


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:
Code:
AtiConfig=framebuffer -v

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
Code:
make
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!....

Referring specifically to this bit:

'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.'

Where is the 'root' of the drive that you are referring to?

Thanks
 
Re: Adding ATI card IDs to ATI.c - update (10-May)

Where is the 'root' of the drive that you are referring to?

The root of the drive is the top level of your disk that has Snow Leopard on. ie,

Code:
cd /

in terminal. The boot file that is there is where Chimera and Chameleon do most of their work in starting up the computer into MacOs. Hence, when you recompile Chimera or Chameleon (using make), you need to copy the boot file to that location for your recompiled version to be used on bootup.

Perhaps this link http://prasys.info/2010/01/compiling-chameleon-a-newbies-howto/ might help - it goes into a lot more detail (for Chameleon) - just replace all mention of Chameleon with Chimera.
 
Re: Adding ATI card IDs to ATI.c - update (10-May)

Ah ok, that's great.

I thought that was the case.

It's making sense now & I know what I need to be doing, I'm just not sure if it will be possible to change the sense id's etc without being able to use gpu-z....does anyone know of something similar that will work on os x, or should I just give it a whirl using the info that you provided about your card in your earlier post and see what happens....?!
 
Re: Adding ATI card IDs to ATI.c - update (10-May)

I haven't tried this but you could try making your own usb dos bootdisk from tonyMac's instructions:

http://macmanx86.blogspot.com/2011/07/creating-bootable-dos-usb-stick-on.html

and then use AtiFlash - http://www.techpowerup.com/downloads/1968/ATIFlash 3.86.html from the bootdisk.

Use the instructions here (only doing the backup - not the flashing of your bios!):

http://themacelite.wikidot.com/ati-flash

I haven't tried this, so I have no idea if this works. Post back your success/failure!
 
Re: Adding ATI card IDs to ATI.c - update (10-May)

GingaNinja said:
Where is the 'root' of the drive that you are referring to?

The root of the drive is the top level of your disk that has Snow Leopard on. ie,

Code:
cd /

in terminal. The boot file that is there is where Chimera and Chameleon do most of their work in starting up the computer into MacOs. Hence, when you recompile Chimera or Chameleon (using make), you need to copy the boot file to that location for your recompiled version to be used on bootup.

Perhaps this link http://prasys.info/2010/01/compiling-chameleon-a-newbies-howto/ might help - it goes into a lot more detail (for Chameleon) - just replace all mention of Chameleon with Chimera.

Apologies - I can see some files called 'boot' in /Users/theimageofall/chameleon/branches/Chimera/sym/i386 but which one do I move. there are boot (Document & not unix exe file & says I can't move it as it's invisible), boot.sys )Unix Executable File (Intel))?

Thanks for your help again!
 
Re: Adding ATI card IDs to ATI.c - update (10-May)

You need to show all files - there's a utility to do that in the MultiBeast install, alternatively follow the instructions from my link to prasys' blog above - he mentions using killall and some other commands I can't remember....

The file you want is the one that complains about being invisible - you shouldn't get that complaint when you show all files. You might need to delete the current boot file - move it to your desktop so that you can move it back if you get no boot - you have got your iBoot cd, and it works, right? If you get it wrong, you won't be able to boot up, and if your iBoot cd doesn't work, you'll have to reinstall everything.
 
troubles with 4670

Having some problems getting my HD 4670 card to work properly. Currently without forcing a frame buffer I get a black screen at boot, and even when forcing a frame buffer the card is not fully recognized. Full card ID:
01:00.0 VGA compatible controller [0300]: ATI Technologies Inc RV730XT [Radeon HD 4670] [1002:9490] (prog-if 00 [VGA controller])
Subsystem: XFX Pine Group Inc. Unknown device [1682:2932]
--

01:00.1 Audio device [0403]: ATI Technologies Inc R700 Audio Device [Radeon HD 4000 Series] [1002:aa38]
Subsystem: XFX Pine Group Inc. Unknown device [1682:aa38]

This is what I get running ioreg | grep ATY:
| | | | +-o ATY,Flicker@0 <class AtiFbStub, id 0x10000029f, registered$
| | | | | +-o ATY_Flicker <class ATIFramebuffer, id 0x1000002ae, regis$
| | | | +-o ATY,Flicker@1 <class AtiFbStub, id 0x1000002a0, registered$
| | | | | +-o ATY_Flicker <class ATIFramebuffer, id 0x1000002b5, regis$
| | | | +-o ATY,Flicker@2 <class AtiFbStub, id 0x1000002a1, registered$
| | | | | +-o ATY_Flicker <class ATIFramebuffer, id 0x1000002bb, regis$

Which looks like it should be correctly loading the frame buffer but running the last test I get this:
Using PCI-Root-UID value: 1
Framebuffer @0xE0000000 MMIO @0xFBDE0000 I/O Port @0x0000DE00 ROM Addr @0x00000000
ATI card POSTed, reading VBIOS from legacy space
ATI RV730 ATI Radeon HD 4600 Series 1024MB (Flicker) [1002:9490] (subsys [1682:2932]):: PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)

It looks like the subsystem ID's aren't matching, which may be the problem? When I force a frame buffer at boot I can get into the system but system profiler only recognizes the card as a 4600 series. Another odd thing is that boot.plist seems to be ignoring my AtiConfig string and I'm forced to manually enter AtiConfig=Flicker -v every boot.

Any help is greatly appreciated!
 
Status
Not open for further replies.
Back
Top