Jump to content

Radeon 5970 Snow Leopard Instructions


  • Please log in to reply
74 replies to this topic

#1
Spanky Deluxe

Spanky Deluxe

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 131 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&amp;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&amp;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.

#2
JT2

JT2

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 6 posts
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

#3
Spanky Deluxe

Spanky Deluxe

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 131 posts
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.

#4
JT2

JT2

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 6 posts
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!

#5
JT2

JT2

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 6 posts
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

#6
Rynardts

Rynardts

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 3 posts

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.

#7
Spanky Deluxe

Spanky Deluxe

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 131 posts
Yup, X3000 contains all the accelerated stuff. Without it you may as well have a card dating from before the millennium, not a £500 one!!

That's odd that you're getting weird slow down issues. They sound similar to what I originally had with netkas' non 5970 release.

#8
JT2

JT2

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 6 posts
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?

#9
Spanky Deluxe

Spanky Deluxe

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 131 posts
I can't remember off the top of my head if it has CI too but QE can't work without CI. System Profiler can tell you if they're on but I (and many others) find the quickest way to check is to open up Dashboard and add a widget. If you see the ripple wave effect then QE and CI are on.

#10
JT2

JT2

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 6 posts
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!

#11
Spanky Deluxe

Spanky Deluxe

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 131 posts
Glad it's working for you! I just checked my system profiler and it says 5890 too. Strange but works fine. :(

#12
Oxtie

Oxtie

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 351 posts
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

#13
Spanky Deluxe

Spanky Deluxe

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 131 posts
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.

#14
Spanky Deluxe

Spanky Deluxe

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 131 posts
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.

#15
Oxtie

Oxtie

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 351 posts

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

#16
Spanky Deluxe

Spanky Deluxe

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 131 posts

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.

#17
sorandom

sorandom

    InsanelyMac Protégé

  • Donators
  • 12 posts
  • Location:DC
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

#18
Spanky Deluxe

Spanky Deluxe

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 131 posts
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.

#19
Oxtie

Oxtie

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 351 posts
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.

#20
Spanky Deluxe

Spanky Deluxe

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 131 posts

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.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy