Jump to content

Radeon 5970 Snow Leopard Instructions


Spanky Deluxe
 Share

75 posts in this topic

Recommended Posts

Radeon 5970 Snow Leopard Instructions

 

Ok, I've seen a few people trying to get 5970s to work and a few other people who have got them to work but are stuck with the first revision of the drivers (Mac Mini leak) so I figured I'd do a quick write up for people.

 

0. Before you start

 

If you don't already have it, download and install Kext Utility (download link).

 

1. Download the drivers

 

First download the drivers of your choice. At time of writing, I'd recommend the Snow Leopard Graphics Update (download link). My advice is to use Pacifist (download link) to extract the ATI* kexts in the package to a folder of your choosing first before installing them. I wouldn't recommend just running system update or running the graphics update's installer.

 

2. Adding your device id

 

Once you have your drivers in kext form you need to first add your device id to 'ATI5000Controller.kext'. To do this, right click the kext and click "Show Package Contents". Then double click 'Contents' and open up Info.plist in your editor of choice. In there you'll need to add your device id (0x689C1002 for a 5970) to the list of device ids in IOPCIMatch. Save and close the plist and kext.

 

You should end up with something like this:

			<key>IOPCIMatch</key>
		<string>0x689C1002 0x68981002 0x68991002 0x68E01002 0x68E11002 0x68D81002 0x68C01002 0x68C11002 0x68D91002 0x68B81002 0x68B01002 0x68B11002 0x68A01002 0x68A11002 </string>

3. Disabling the second GPU

 

You now need to modify 'ATIRadeonX3000.kext' to make sure that your second GPU is disabled so open it up, navigate to the Contents folder and open up the Info.plist. You need to add the following straight after the list of device IDs:

 

			<key>IOPCIClassMatch</key>
		<string>0x03000000&0xFFFF0000</string>

i.e. so that it looks like this:

<key>IOPCIMatch</key>
		<string>0x68881002 0x68891002 0x68981002 0x68991002 0x689C1002 0x689D1002 0x68801002 0x68901002 0x68A81002 0x68A91002 0x68B81002 0x68B91002  0x68BE1002 0x68A01002 0x68A11002 0x68B01002 0x68B11002  0x68C81002 0x68C91002 0x68D81002 0x68D91002 0x68DE1002 0x68C01002 0x68C11002 0x68D01002 0x68D11002 0x68E81002 0x68E91002 0x68F81002 0x68F91002 0x68FE1002 0x68E01002 0x68E11002 0x68F01002 0x68F11002</string>
		<key>IOPCIClassMatch</key>
		<string>0x03000000&0xFFFF0000</string>
					<key>IOProviderClass</key>
		<string>IOPCIDevice</string>
		<key>IOSourceVersion</key>
		<string>1.6.18.18</string>
		<key>IOVARendererID</key>
		<integer>16908288</integer>
		<key>sensor-properties</key>

Save and close the plist and kext.

 

4. Setting up rom file

 

You need to get your 5970's boot rom or get it from TechPowerUp's BIOS archive (link). 5970s have *two* rom files, one for the master GPU and one for the slave. For this you need to use the master rom file. If you don't know how to dump your rom file or you don't know the make of your 5970 then try one from another manufacturer - most 5970s are reference design anyway so it shouldn't matter too much. Once you have your rom file you have to rename it to 1002_689c.rom (i.e. to match your device id). Double check that you've named it properly otherwise you won't be able to boot. Place this renamed rom file into your /Extra folder.

 

5. Installing Trauma's boot file

 

Download Trauma's boot9 file (download link) and put it in your root folder, replacing your existing boot file - note that it has to be called boot when extracted and placed, not boot9.

 

6. Setting up Chameleon

 

Add the following lines to your com.apple.boot.plist:

	<key>UseAtiROM</key>
<string>yes</string>
<key>GraphicsEnabler</key>
<string>yes</string>

 

7. Installing the drivers and finishing up

 

Copy all of the ATI* drivers that you've downloaded and modified to your /System/Library/Extensions folder. Run Kext Utility to set all the permissions right and sort out your cache files. Reboot and you should be good to go!

 

 

 

Notes

  • This method works with different driver versions e.g. the mac mini leak drivers, snow leopard graphics update drivers.
  • You can re-enable 64 bit support if you disabled it before for ATY_Init.
  • If you decide to carry on using the ATY_Init.kext method instead then you can still use different drivers but you have to make sure to add the code to disable the second GPU in the X3000 kext (and obviously add your device id).
  • 5970s only work with the Uakari framebuffer. This has been true in the mac mini drivers and the snow leopard graphics update drivers.
  • No matter what, the mini display port on standard 5970s remains unusable. If you have any success getting it working with any kind of adapter (display port monitor, dual link active adapter, single link adapter, vga active adapter) then please let me know. I've tried everything I can think of.
  • 5970 Eyefinitiy edition cards will likely be problematic due to the added VRAM and also the use of only mini display ports. If you're unlucky enough (:P) to have one of these cards then make sure to try every MDP connection. I know some people have had moderate success in getting dual displays working on 5870 Eyefinity editions by trying different ports.
  • Steps 2 and 3 could probably be put into a single injector without much work. I've been meaning to do this for the last few days but simply haven't got round to it. With something like that the drivers could remain vanilla and a system should be ok with software updates (graphics card wise at least).

 

Thanks to Trauma, netkas, Galaxy and everyone on #radeonhd for helping in all of this.

Link to comment
Share on other sites

Excellent guide, thank you very much, Spanky!

 

My 5970 works fine and runs in 64-bit mode now. Only weird thing is that System Profiler reports it as 5890. Any idea why? I'm using the following ATI files from Snow Leopard Graphics Update extract with device ID added and slave GPU disabled per your instructions:

ATI5000Controller.kext

ATIFramebuffer.kext

ATIRadeonX3000.kext

ATIRadeonX3000GA.plugin

ATIRadeonX3000GLDriver.bundle

ATIRadeonX3000VADriver.bundle

ATISupport.kext

 

Here is my com.apple.Boot.plist for your review in case it needs modification:

 

<key>Kernel</key>

<string>mach_kernel</string>

<key>Kernel Flags</key>

<string></string>

<key>RestartFix</key>

<string>Yes</string>

<key>dropSSDT</key>

<string>Yes</string>

<key>UseAtiROM</key>

<string>Yes</string>

<key>GraphicsEnabler</key>

<string>Yes</string>

<key>Graphics Mode</key>

<string>1920x1080x32</string>

<key>Timeout</key>

<string>1</string>

 

 

BTW, I have another HDD loaded with Netkas ATI5000*, ATY_init.kext,etc files running in 32-bit, system profiler reports it correctly as 5970.

 

Has anyone figured out how to enable the 5970 slave GPU in 64-bit yet? I seem to recall Spanky had 4870x2 installed, was the slave GPU enabled then? If so, how? Any body knows the flag in com.apple.Boot.plist to identify the 2nd ROM file and the naming convention for it (master is 1002_689c.rom)?

 

My system configs:

Asus P6X58D Premium, i7-980X, ATI 5970, 24GB RAM, 1xSATA6 250GB SSD (Win7/Win2008RC2), 1xSATA3 HDD (32-bit OSX10.6.4), 1xSATA3 HDD (64-bit OSX 10.6.4)

Chameleon RC5 with Boot9

Link to comment
Share on other sites

I can't check what my 5970 is reported as at the moment because I'm away and the Internet is insanely slow on my phone where I am right now. Unfortunately the second GPU can't be enabled right now. Dual ATI graphics chips of the same model have never worked in hackintoshes. I tried for ages to get my two 4870s (separates, not X2) to play nice to no avail. The only hope would be if ATI do a major rewrite of their OSX drivers. The second GPU has the same device ID as the master one so Chameleon can't detect the need for a different bios. I don't know if there's anything that can be done in terms of Chameleon's coding to get around that.

 

To be honest though, it doesn't really matter too much. The only thing the second GPU could help with in OSX is with OpenCL type stuff which isn't very widespread right now. The second GPU can't drive any monitors by itself and can't be used for improved graphics in games. Although, I do have a slight wonder if the reason the mdp port doesn't work in OSX is because it's attached to the second chip - it probably isn't though.

Link to comment
Share on other sites

Thanks for your prompt response especially from your phone, Spanky. Your view point about X2 makes sense, I'm not a mac gamer nor do i run OpenGL stuff on mac, so not much of a loss. I'm very grateful for your well-written concise instructions on getting me to this milestone -- running my video and system in full 64-bit mode. I can now get my sleep back and spend more time with kids. THANK YOU!

Link to comment
Share on other sites

With ATIRadeonX3000*.kext, plugin and bundle installed, my 5970-based system had occasional "beach ball" when accessing drives in Finder, albeit slight latency. I removed all ATIRadeonX3000*.* from S/L/E, the latency problem went away and it has actually improved system performance, most importantly, 5970 is still working. So, here are video related files I now have in S/L/E:

 

ATI5000Controller.kext

ATIFramebuffer.kext

ATISupport.kext

 

I'm not really sure if there is any functionality loss without ATIRadeonX3000*.*. Funny thing it had no effect on 5970 even though the ATIRadeonX3000.kext is gone which previously disabled the slave GPU.

 

 

My system configs:

Asus P6X58D Premium, i7-980X, ATI 5970, 24GB RAM, 1xSATA6 250GB SSD (Win7/Win2008RC2), 1xSATA3 HDD (32-bit OSX10.6.4), 1xSATA3 HDD (64-bit OSX 10.6.4)

Chameleon RC5 with Boot9

Link to comment
Share on other sites

With ATIRadeonX3000*.kext, plugin and bundle installed, my 5970-based system had occasional "beach ball" when accessing drives in Finder, albeit slight latency. I removed all ATIRadeonX3000*.* from S/L/E, the latency problem went away and it has actually improved system performance, most importantly, 5970 is still working. So, here are video related files I now have in S/L/E:

 

ATI5000Controller.kext

ATIFramebuffer.kext

ATISupport.kext

 

I'm not really sure if there is any functionality loss without ATIRadeonX3000*.*. Funny thing it had no effect on 5970 even though the ATIRadeonX3000.kext is gone which previously disabled the slave GPU.

 

 

My system configs:

Asus P6X58D Premium, i7-980X, ATI 5970, 24GB RAM, 1xSATA6 250GB SSD (Win7/Win2008RC2), 1xSATA3 HDD (32-bit OSX10.6.4), 1xSATA3 HDD (64-bit OSX 10.6.4)

Chameleon RC5 with Boot9

 

I've discovered that when I remove the ATIRadeonX3000 stuff from S/L/E, QE does not work anymore.

Link to comment
Share on other sites

I added the X3000 stuff back in, ran kext utility, the slow problem didn't return. Let's hope it stays that way...

 

Sounds like the X3000 contains QE, does it have CI support too? How do we verify the QE and CI do indeed work?

Link to comment
Share on other sites

I saw ripple wave when adding a new widget, cool way to test animation effect, also saw Core Graphics and a bunch of other Core stuff plus Quartz in System Profiler Framework to confirm QE_CI support.

 

I'm really happy with the system now, thanks!

Link to comment
Share on other sites

hmm, I went through whole netkas comments sections (found many of your comments) and a kext package (think its mac mini) (it uses, aty_ ) file.

 

If I install Graphics update, my OSX breaks :) so I'm probably stuck with 32Bitties old ones...

 

 

 

BTW, Graphics acceleration works on 32or64 system? Playing any 1080 video and CPU = low?

Also, my SmalluxGPU benchmarking fails to start (though everything else works as Swanky put in netkas comments "SILK") :P

Link to comment
Share on other sites

Oxtie, that's the old method. Netkas' ATY_Init for 5970s doesn't work with any drivers other than the mac mini's ones and it's limited to 32 bit. Follow the instructions I put up in my first post to switch to the boot rom method. This method allows the Graphics Update drivers to work in 32 and 64 bit modes.

 

Note for others: I think boot9 can be replaced with the latest Chameleon release candidate which I believe has got Trauma's changes added in now but I haven't tested it myself yet.

Link to comment
Share on other sites

Oxtie, that's the old method. Netkas' ATY_Init for 5970s doesn't work with any drivers other than the mac mini's ones and it's limited to 32 bit. Follow the instructions I put up in my first post to switch to the boot rom method. This method allows the Graphics Update drivers to work in 32 and 64 bit modes.

 

Note for others: I think boot9 can be replaced with the latest Chameleon release candidate which I believe has got Trauma's changes added in now but I haven't tested it myself yet.

 

Updated note for others: To save a few steps you can use Kabyl's bootloader instead of boot9. This way you don't have to dump your rom file. If you do decide to use this then the only thing you need in com.apple.Boot.plist is GraphicsEnabler=yes. Take out the UseAtiROM key and string - having it in will mess it up. I won't update the instructions with this yet until Kabyl's done testing it out a bit more.

 

I've also tested both 10H531 and 10H535 10.6.5 drivers and so far they don't work with the 5970 - it looks like the framebuffer's not working in them. I'm hoping this will get fixed and doesn't mean that the Uakari framebuffer which is needed for 5970s (but not used for Apple's 5870s) has been broken full time. We'll have to wait and see.

Link to comment
Share on other sites

... I wouldn't recommend just running system update or running the graphics update's installer.

 

...You need to get your 5970's boot rom or get it from TechPowerUp's BIOS archive

Are you telling that we should NOT use Graphics update installer at all and use only the kext inside that graphics installer dmg package?

 

I used ATIFlash (DOS) to extract the ROM out of it, can I use this ROM instead? For funny heating reasons, I would want to use RBE on this ROM and let it get loaded by OSX (instead of using default ROM which has low fan settings from sapphire)

Link to comment
Share on other sites

Are you telling that we should NOT use Graphics update installer at all and use only the kext inside that graphics installer dmg package?

 

I used ATIFlash (DOS) to extract the ROM out of it, can I use this ROM instead? For funny heating reasons, I would want to use RBE on this ROM and let it get loaded by OSX (instead of using default ROM which has low fan settings from sapphire)

 

That rom should be fine. Yes I'm saying don't use the graphics update. While it's perfectly possible to install the update, it requires a compulsory restart during installation and so you're not given the opportunity to make the modifications to both the X3000 and the controller kexts meaning that it definitely won't work at first. You could probably get around this by booting into single user mode after graphics update installation, modifying the kexts through the terminal prompt, removing the caches and rebooting but you could get some permissions issues.

Link to comment
Share on other sites

Ive got the mini DisplayPort works from initial boot to just before GUI loads, then it cuts off. The fan on my 5970 is in regular mode not all loud and such. I would like to get the miniDisplayPort to work but I really dont know what steps to take but I am willing to work with someone to get this to work.

 

Thanks and much respect,

unrmn

Link to comment
Share on other sites

The mini display port does not work. The only way you can get it to 'work' is by using VESA mode instead with absolutely no acceleration. This is why yours works until the desktop tries to load. Specifically, what's happening is the window manager starts, which activates the graphics drivers and frame buffers.

 

As I said in my original post, the mini display port does *not* work. I spent a lot of time trying to get it to work to no avail. Your best bet would be to give up now and use one of your other ports instead.

Link to comment
Share on other sites

Spanky, did you test any Hardware Accelerated video playback? Currently I see QuickTimeX and XBMC players play with acceleration (lowing CPU usage). Does it work for you guys? At least, on this system, I have no success.

 

I'm not really sure how to check. Quicktime X has ~30% CPU usage for me when playing a 1080p h.264. VLC has ~20% for the same movie. Quicktime 7 has ~25% CPU usage.

 

Honestly, it really doesn't bother me if it's accelerated or not - I doubt I'd be able to tell. It's on my Mac Minis and my MacBook Pro that I care about acceleration where battery or cpu power are an issue.

Link to comment
Share on other sites

Thanks man,

 

I guess I didnt read through enough.

 

Thanks for all your hard work it really has made my life very enjoyable. The only problem is buying itunes hd videos I get some HDCP error saying I cannot play this movie for some reason or another here is a pict of the error. I suppose this can not be fixed other than buying a new display. I have a sony bravia 46 Inch, would buying one of those samsung 9000 LED displays fix this. Thats my plan anyway. I hope I can play those hd videos everything is really nice and this card blows away my 260.

 

much respect,

unrmn fka sorandom

 

 

post-663759-1284563706_thumb.png

Link to comment
Share on other sites

Hello,

I own a normal ATI Radeon HD5970.

I have a problem when I follow this instruction, i get a grey background after booting and nothing else.

It is a clean installation and it worked before without ATI-kext-files.

 

I have the PC-Efi installed on an external USB-Drive. I boot from that and the extra-folder is in on this USB-Drive. But it doesn't work.

 

I've tried it a second time with a new installation and used the graphic-update and restored the rights in Snow Leopard itself. I can still boot with the option -x in Chameleon, but not in normal mode.

 

In the end I have the same result.

 

Can somebody help, please. I'll try it today with Kabyl's bootloader.

Link to comment
Share on other sites

Thanks man,

 

I guess I didnt read through enough.

 

Thanks for all your hard work it really has made my life very enjoyable. The only problem is buying itunes hd videos I get some HDCP error saying I cannot play this movie for some reason or another here is a pict of the error. I suppose this can not be fixed other than buying a new display. I have a sony bravia 46 Inch, would buying one of those samsung 9000 LED displays fix this. Thats my plan anyway. I hope I can play those hd videos everything is really nice and this card blows away my 260.

 

much respect,

unrmn fka sorandom

 

 

post-663759-1284563706_thumb.png

 

How are you connecting your screen? HDCP definitely doesn't work over VGA but it should work over DVI. If it's connected via DVI already then it would probably mean that HDCP doesn't work on 5970s. I've never bought HDCP content on iTunes and my screen's an Apple 30" Display which doesn't support HDCP anyway so I can't really test it on my end. I'm not sure if buying a new screen will fix it, if you're already connecting via DVI then it won't. However, a 9000 LED TV + AppleTV/Mac Mini to stream would definitely fix it :P:). Hehe.

 

Hello,

I own a normal ATI Radeon HD5970.

I have a problem when I follow this instruction, i get a grey background after booting and nothing else.

It is a clean installation and it worked before without ATI-kext-files.

 

I have the PC-Efi installed on an external USB-Drive. I boot from that and the extra-folder is in on this USB-Drive. But it doesn't work.

 

I've tried it a second time with a new installation and used the graphic-update and restored the rights in Snow Leopard itself. I can still boot with the option -x in Chameleon, but not in normal mode.

 

In the end I have the same result.

 

Can somebody help, please. I'll try it today with Kabyl's bootloader.

 

What are your fans doing? Try booting up with -v and seeing where it fails. Let me know what you get.

Link to comment
Share on other sites

What are your fans doing? Try booting up with -v and seeing where it fails. Let me know what you get.

wow, you are fast :)

 

if I boot with -v, it shows nothing strange. It looks like snow leopard loads, but there is no screen.

There is no kernel Panic.

First i hadn't set the Graphics Mode in com.apple.boot.plist. Then the PC shuts down after a few seconds of the grey screen.

If I set the Graphics Mode in the boot.plist, the screen stays grey.

 

The fans are in a normal state, like before.

 

edit: ah, is it possible, that it is the graphiccards bios. I've downloaded a rom from TechPowerUp.

Link to comment
Share on other sites

wow, you are fast :)

 

if I boot with -v, it shows nothing strange. It looks like snow leopard loads, but there is no screen.

There is no kernel Panic.

First i hadn't set the Graphics Mode in com.apple.boot.plist. Then the PC shuts down after a few seconds of the grey screen.

If I set the Graphics Mode in the boot.plist, the screen stays grey.

 

The fans are in a normal state, like before.

 

edit: ah, is it possible, that it is the graphiccards bios. I've downloaded a rom from TechPowerUp.

 

The bios could be it although usually if the bios doesn't work the fans just blow at maximum speed and I thought they had bioses for pretty much every manufacturer on there. Give Kabyl's bootloader a try since you don't need to dump the bios for that. Make sure to remove the UseAtiROM key and string though otherwise it'll mess it up.

 

You could also try using pacifist to extract all of the other kexts from the Graphics Update. Thinking about it, I did first install the whole update myself (thus bricking my machine) so I've got all the other ones on mine (I had to single user in and remove ATI* and add them manually as detailed in the first post). I don't think that should make a difference but I'm trying to cover all options.

Link to comment
Share on other sites

 Share

×
×
  • Create New...