Jump to content

How to: ATI 4850 working on SL


scorcho
 Share

197 posts in this topic

Recommended Posts

Hi All-

 

I have a PowerColor 512mb 4850 and followed the instruction to add "device id" in ATi4800.kext and installing Evoenabler.kext but it only the HDMI works and I can't seem to change to my monitor as it says that there's only one monitor detected but I have hdmi+vga+dvi plugged in. Also, I have been changing my monitor input from vga to dvi and vice versa but only the HDMI works. Any ideas?

 

Thanks

Link to comment
Share on other sites

Updated September 21, 2009

 

Getting the 4850 to work in SL. While you'll find a couple of methods in this thread involving a litany of old and new kexts, the two below are probably the best. If either one doesn't work for you try the other methods below! Massive thanks to netkas for PCIEFIv10, and hawgguy for the second method.

 

FIRST METHOD

works best if you're already using Chameleon 2 or PCEFI 10. Also works in both x32/x64 and without the need for an adapter in second DVI port.

 

1. Install the latest version of PC EFI (10.3) and enable graphics injection in your com.apple.Boot.plist with this string -

<key>GraphicsEnabler</key>
  <string>Yes</string>

2. Modify ATI4800Controller.kext in System/Library/Extensions to add the 4850 ID - go to your S/L/E directory and copy the ATI4800Controller.kext to your desktop.

3. right click on the copy you made and select 'Show Package Contents'

4. open Contents and double-click on Info.plist.

5. scroll down till you find -

<string>0x94401002 0x944a1002</string>

REPLACE it with the following code and save the file

<string>0x94401002 0x944a1002 0x94421002</string>

6. download Kext Utility and drag the edited .kext onto the program icon - http://www.insanelymac.com/forum/index.php?showtopic=140647

7. once your caches have regenerated reboot and you should have the 4850 working with full QE/CI. Enjoy!

 

---------------------------------------------

 

SECOND METHOD

 

A couple of steps are needed, but the end result will be no new .kexts added to your install, NO dvi2vga adapter.

 

1. Download gfxutil from here - http://forum.netkas.org/index.php/topic,64.0.html

2. launch gfxutil through terminal with the following argument without quotes '-f display'. copy down your PciRoot information; you'll need this later.

3. save the following plist to your desktop - http://www.rakov.net/HD48x0.plist

4. Replace the PciRoot information in the plist with the one you generated earlier and save the file.

5. from your terminal launch gfxutil with the following argument without quotes '-i xml -o hex AAAA BBBB', where AAAA is the location of the plist you saved, and BBBB is the location of the hex file you just created from the plist.

6. take the contents of the hex file and add it to your current or new com.apple.boot.plist file like so -

<key>device-properties</key>
  <string>HEXCODE</string>

if you already have an EFI string in your boot.plist, you will need to decomplie the hex, add it to your plist, and recompile the new hex as a combined efi string. while beyond the scope of this tutorial, you can find out more info by browsing through this thread - http://forum.netkas.org/index.php/topic,64.0.html

7. go to your current S/L/E directory and copy the ATI4800Controller.kext to your desktop.

8. right click on the copy you made and select 'Show Package Contents'

9. open Contents and double-click on Info.plist.

10. scroll down till you find -

<string>0x94401002 0x944a1002</string>

REPLACE it with the following code and save the file

<string>0x94401002 0x944a1002 0x94421002</string>

11. download Kext Utility and drag the edited .kext onto the program icon - http://www.insanelymac.com/forum/index.php?showtopic=140647

12. once your caches have regenerated reboot and you should have the 4850 working with full QE/CI. Enjoy!

 

 

OTHER METHODS if the above doesn't work for you

 

1. evoenabler.kext (linked in this thread) + edited ATI4800Controller.kext <- works in both 32 and 64-bit mode.

 

2. using tzl's EFI string and two .kexts from 10.5.8 - http://www.insanelymac.com/forum/index.php...t&p=1235118 <- this will not work in 64-bit mode!

 

3. evoenabler + two .kexts from 10.5.8 <- will not work in 64-bit mode!

 

Hello,

I can't find any link to get the last PC EFI (10.3), as mentioned.

Could you help ?

Cordialement

Link to comment
Share on other sites

The second method worked for me. In fact, now I have dual monitor running (one DVI, the other one with a VGA-DVI adapter!).

However the first time I plugged in my other monitor (the one with the VGA-DVI adapter) and rebooted, it detected it, but nothing showed up on its display. I ended up rebooting a couple of times and then to my surprise it finally worked!

Can someone else try this out and see if it also works for you?

Link to comment
Share on other sites

Last login: Wed Oct 14 20:34:16 on console

MacPro:~ kaidogg$ sudo -s

Password:

bash-3.2# ioreg -l | grep -15 "AppleACPIPCI\ " | grep UID

| | | "_UID" = "4"

bash-3.2#

 

 

Hi guys .. this is what I get ... I get 4 instead of 1 or 0 .. what does it mean ?

if I want to add -pci=0 and where and how I should add ?

Link to comment
Share on other sites

Last login: Wed Oct 14 20:34:16 on console

MacPro:~ kaidogg$ sudo -s

Password:

bash-3.2# ioreg -l | grep -15 "AppleACPIPCI\ " | grep UID

| | | "_UID" = "4"

bash-3.2#

 

 

Hi guys .. this is what I get ... I get 4 instead of 1 or 0 .. what does it mean ?

if I want to add -pci=0 and where and how I should add ?

Try PCEFI 10.5 , it should autodetect the PciRoot UID.

Link to comment
Share on other sites

Hi! Can someone upload ATI4800Controller.kext file?

I edited it and install it again with kext helper (at least that was what I was trying to do) and after reboot I can not find it. :wallbash:

Booting with -v -x shows correctly my card info (ATI4850) but I can not change monitor resolution

 

Thanks in advance!

 

 

EDIT: found it :help:

Link to comment
Share on other sites

having some trouble here guys.. using a HIS HD4850 512mb

used the second method and it boots into snow leopard but i just get a blue screen and the snow leopard flashes back and forth once in a while and is usable for about 3-4 seconds at a time if i use -x as a boot flag

if i boot normally it does the same but spends more time in the blue screen rather than snow leopard ;)

Link to comment
Share on other sites

UPDATE: my two 4850 are running working now in SL. They are crossfired and from two differnt vendors. Only issue, starting takes very long but I use sleep ;-).

 

Does anybody have two HD4850 running. It should work but in my setup (two hd4850 crossfire) I can only boot with -x and the fan of the second card stops running. I use PC EFIv10.5 which should support multiple HD4xxx cards. Booting normal causes garbled screen. I use graphicsenabler methode. Please share expiriences.

Thanks

Link to comment
Share on other sites

I used the first method to get my sapphire 4850 working and it's sweet... however! after i exit sleep all of my screen is black except for a small area in the top-left corner, and its totally glitched out.. i've made a screenshot (which actually shows all of the screen, not only the top-left part). I think the top left part is about 640x480 pixels but i'm not sure..

 

Does anyone know how to get sleep properly working? (my motherboard is a p5q)

 

27y0ndx.jpg

Link to comment
Share on other sites

Hi,

As for myslef, I was using the EFI string method on Leo. On Snow Leo this has been proven NOT to work in my case.

The hardware I use now is a Radeon HD4850 from Gigabyte, namely GV-R485OC-1GH, a non-reference board on the Asus P6T SE MoBo. The display is a non-DVI Samsung LCD. Snow Leo starts up with Chameleon2 RC3+PC EFI 10.5 boot file.

After much trial and error I found this kext setup working for me (attached zip file).

 

NOTE: from what I've noticed there are minor differences in file size between the EVOEnabler kexts posted here.

73,2kB, 73,5kB - the one in the link above has 180kB. The others did not work, so I strongly encourage using the pack as a whole.

Copy the kexts to System/Library/Extensions, fix permissions, rebuild Extensions.mkext.

ALSO SET:

 

<key>GraphicsEnabler</key>

<string>No</string>

 

in com.apple.Boot.plist in Your Extra/Extensions folder

Reboot with -f the first time after completing procedure, ATI4800Controller.kext remains untouched so it should prove to be a solution that's update-safe. Got full hardware graphics on a DVI to VGA dongle connected to the port nearest to the MoBo.

SLE.zip

Link to comment
Share on other sites

I used the first method to get my sapphire 4850 working and it's sweet... however! after i exit sleep all of my screen is black except for a small area in the top-left corner, and its totally glitched out.. i've made a screenshot (which actually shows all of the screen, not only the top-left part). I think the top left part is about 640x480 pixels but i'm not sure..

 

Does anyone know how to get sleep properly working? (my motherboard is a p5q)

 

I got it!!! I had to disable "repost video after S3 resume" to get it to work!

Link to comment
Share on other sites

  • 2 weeks later...

Hi All!

 

Sucess, finally! ;)

 

After Netkas's 10.6.2 installation steps I removed ATI4500Controller and ATI4600Controller kexts, and now my Gigabyte GV-R485MC-1GI works fully without EVOEnabler!

This is the first time since the release of SL when dual displays are working fine with sleep/wake. Hurrah!

EFI 10.5, GraphicsEnabler="Yes".

Thanks to Netkas and every guy for the fine tips!

Link to comment
Share on other sites

  • 3 weeks later...
There is still an issue I cannot pass by. That is to enable QE/CI on a ATI HD 4850 1GB on 10.6.2. Have you guys manage to do it? I'm using the altered ATI4800 kext and GraphicsEnabler=Yes on a EFI 10.5 boot file.

Hey Marcel,

QE/CI will not be shown anymore in systemprofiler on SL. Anyway please check when you are using spaces or other features which use the videocard that they perform without delay or surge. If it works, your QE/CI seems to work.

Sometimes it helps to delete the content of the folder S/L/Caches, next boot will load all kexts new. What about the ATI4500Controller.kext and ATI4600Controller.kext, did you delete them in S/L/E after update to 10.6.2? for me they caused problems?

What did you change in ATI4800 kext? Just Device ID?

regards Berlindude

feel free to send a PM to me.

Link to comment
Share on other sites

  • 2 months later...

My Sapphire 4850 running on a Gigabyte GA-P55M- UD2 , Core i7 2.8 was working in safe mode but when I edited the ATI4800Controller kext with the additional string I now get and "Out of Range" Error message on my 23" Asus High Fed monitor. I cant boot into safe mode now with. Strange.

 

Any ideas?

Link to comment
Share on other sites

I have a Sapphire 4850HD along with the following Gigabyte GA_P55M- UD2, Intel Core i7, 4 GB RAM, 1 TB Samsung HD and an Asus 23.5 " HD Display.

 

The Sapphire Videocard has been the sticking point. I have a working installation os OSX SL 10.6.2 that will boot via Chameleon in safe mode (-x).

 

Without editing the ATI4800 kext to include the device ID the card is recognized as such:

 

ATI Radeon 4850 Series:

 

Chipset Model: ATI Radeon 4850 Series

Type: GPU

Bus: PCIe

Slot: Slot-1

PCIe Lane Width: x16

VRAM (Total): 256 MB

Vendor: ATI (0x1002)

Device ID: 0x9442

Revision ID: 0x0000

ROM Revision: 113-B7710C-176

EFI Driver Version: 01.00.318

Displays:

Display:

Resolution: 1024 x 768

Pixel Depth: 32-Bit Color (ARGB8888)

Main Display: Yes

Mirror: Off

Online: Yes

Display Connector:

 

 

Obviously its only seeing half of the cards ram. 256 not 512.

 

As per this thread I have tried modifiying the recommended kext file.

How to: ATI 4850 working on SL - InsanelyMac Forum

 

When I tried this (in safe and normal full boot modes) the monitor displayed an out of range error.

 

I was forced to remove the drive and return the ATI4800Controller.kext to its previous code. Then it would boot back into safe mode.

 

Next I tried the evoenabler.ket along with the modified string.

Same result. (Out of Range)

 

I am wondering if there is a way to manually choose a display resolution and frequency. In the early versions of OSX this was done by editing the windowsserver.plist

 

I'm aslo wondering if the recommended device ID being added to the ATI4800Controller.kext is correct for my card.

 

I have a feeling I am really close to having this work but someone with a little more experience or knowledge of Snow Leopard would be helpful.

 

Lerxst

Link to comment
Share on other sites

I can also confirm that mine works in both 32/64-bit with QE/CI enabled (after multiple reboots and kextcache runs!). Thanks to this thread!

 

I have a single-slot Sapphire HD 4850 512Mb. My final solution involved using EVOenabler.kext with original unmodified kexts.

 

I messed up the first few times by using the modified ATI4800 and ATIX2000 kexts provided by netkas, but hey, that's how you learn right? Once original kexts were re-installed (using Pacifist), I finally got QE/CI working.

 

Just remember to rebuild your kext caches using kextutility or boot in single-user mode and do it from there.

 

My Graphics/Displays output in System Profiler:

 

ATI Radeon HD 4850:

 

Chipset Model: ATI Radeon HD 4850

Type: GPU

Bus: PCIe

Slot: Slot-1

PCIe Lane Width: x16

VRAM (Total): 512 MB

Vendor: ATI (0x1002)

Device ID: 0x9442

Revision ID: 0x0000

ROM Revision: 113-B7710C-176

EFI Driver Version: 01.00.318

Displays:

SyncMaster:

Resolution: 1680 x 1050 @ 60 Hz

Pixel Depth: 32-Bit Color (ARGB8888)

Main Display: Yes

Mirror: Off

Online: Yes

Rotation: Supported

Display Connector:

Status: No Display Connected

Link to comment
Share on other sites

5. from your terminal launch gfxutil with the following argument without quotes '-i xml -o hex AAAA BBBB', where AAAA is the location of the plist you saved, and BBBB is the location of the hex file you just created from the plist.

 

How is the above part done? I got a little lost here. My specialty is vjing and all the fun stuff that comes with it like compression, transmission, color mixing etc. Hex code is like mandarin to me any help will be appreciated, and perhaps I would be able to answer video questions...

 

(I am refferring to the BBBB part, how is the file stored is it just copying the code from earlier. Perhaps someone could post code here as an example?)

 

Thanks everyone for helping all this osx86ness happen!

 

 

 

 

Updated September 21, 2009

 

Getting the 4850 to work in SL. While you'll find a couple of methods in this thread involving a litany of old and new kexts, the two below are probably the best. If either one doesn't work for you try the other methods below! Massive thanks to netkas for PCIEFIv10, and hawgguy for the second method.

 

FIRST METHOD

works best if you're already using Chameleon 2 or PCEFI 10. Also works in both x32/x64 and without the need for an adapter in second DVI port.

 

1. Install the latest version of PC EFI (10.3) and enable graphics injection in your com.apple.Boot.plist with this string -

<key>GraphicsEnabler</key>
  <string>Yes</string>

2. Modify ATI4800Controller.kext in System/Library/Extensions to add the 4850 ID - go to your S/L/E directory and copy the ATI4800Controller.kext to your desktop.

3. right click on the copy you made and select 'Show Package Contents'

4. open Contents and double-click on Info.plist.

5. scroll down till you find -

<string>0x94401002 0x944a1002</string>

REPLACE it with the following code and save the file

<string>0x94401002 0x944a1002 0x94421002</string>

6. download Kext Utility and drag the edited .kext onto the program icon - http://www.insanelymac.com/forum/index.php?showtopic=140647

7. once your caches have regenerated reboot and you should have the 4850 working with full QE/CI. Enjoy!

 

---------------------------------------------

 

SECOND METHOD

 

A couple of steps are needed, but the end result will be no new .kexts added to your install, NO dvi2vga adapter.

 

1. Download gfxutil from here - http://forum.netkas.org/index.php/topic,64.0.html

2. launch gfxutil through terminal with the following argument without quotes '-f display'. copy down your PciRoot information; you'll need this later.

3. save the following plist to your desktop - http://www.rakov.net/HD48x0.plist

4. Replace the PciRoot information in the plist with the one you generated earlier and save the file.

5. from your terminal launch gfxutil with the following argument without quotes '-i xml -o hex AAAA BBBB', where AAAA is the location of the plist you saved, and BBBB is the location of the hex file you just created from the plist.

6. take the contents of the hex file and add it to your current or new com.apple.boot.plist file like so -

<key>device-properties</key>
  <string>HEXCODE</string>

if you already have an EFI string in your boot.plist, you will need to decomplie the hex, add it to your plist, and recompile the new hex as a combined efi string. while beyond the scope of this tutorial, you can find out more info by browsing through this thread - http://forum.netkas.org/index.php/topic,64.0.html

7. go to your current S/L/E directory and copy the ATI4800Controller.kext to your desktop.

8. right click on the copy you made and select 'Show Package Contents'

9. open Contents and double-click on Info.plist.

10. scroll down till you find -

<string>0x94401002 0x944a1002</string>

REPLACE it with the following code and save the file

<string>0x94401002 0x944a1002 0x94421002</string>

11. download Kext Utility and drag the edited .kext onto the program icon - http://www.insanelymac.com/forum/index.php?showtopic=140647

12. once your caches have regenerated reboot and you should have the 4850 working with full QE/CI. Enjoy!

 

 

OTHER METHODS if the above doesn't work for you

 

1. evoenabler.kext (linked in this thread) + edited ATI4800Controller.kext <- works in both 32 and 64-bit mode.

 

2. using tzl's EFI string and two .kexts from 10.5.8 - http://www.insanelymac.com/forum/index.php...t&p=1235118 <- this will not work in 64-bit mode!

 

3. evoenabler + two .kexts from 10.5.8 <- will not work in 64-bit mode!

Link to comment
Share on other sites

Try the displayconfigx app. That might help you if all you need is a display res change.

 

 

I have a Sapphire 4850HD along with the following Gigabyte GA_P55M- UD2, Intel Core i7, 4 GB RAM, 1 TB Samsung HD and an Asus 23.5 " HD Display.

 

The Sapphire Videocard has been the sticking point. I have a working installation os OSX SL 10.6.2 that will boot via Chameleon in safe mode (-x).

 

Without editing the ATI4800 kext to include the device ID the card is recognized as such:

 

ATI Radeon 4850 Series:

 

Chipset Model: ATI Radeon 4850 Series

Type: GPU

Bus: PCIe

Slot: Slot-1

PCIe Lane Width: x16

VRAM (Total): 256 MB

Vendor: ATI (0x1002)

Device ID: 0x9442

Revision ID: 0x0000

ROM Revision: 113-B7710C-176

EFI Driver Version: 01.00.318

Displays:

Display:

Resolution: 1024 x 768

Pixel Depth: 32-Bit Color (ARGB8888)

Main Display: Yes

Mirror: Off

Online: Yes

Display Connector:

 

 

Obviously its only seeing half of the cards ram. 256 not 512.

 

As per this thread I have tried modifiying the recommended kext file.

How to: ATI 4850 working on SL - InsanelyMac Forum

 

When I tried this (in safe and normal full boot modes) the monitor displayed an out of range error.

 

I was forced to remove the drive and return the ATI4800Controller.kext to its previous code. Then it would boot back into safe mode.

 

Next I tried the evoenabler.ket along with the modified string.

Same result. (Out of Range)

 

I am wondering if there is a way to manually choose a display resolution and frequency. In the early versions of OSX this was done by editing the windowsserver.plist

 

I'm aslo wondering if the recommended device ID being added to the ATI4800Controller.kext is correct for my card.

 

I have a feeling I am really close to having this work but someone with a little more experience or knowledge of Snow Leopard would be helpful.

 

Lerxst

Link to comment
Share on other sites

Hi there!

 

I'm trying to replace my GeForce 9600 GT, which was working with an all-in-one package, by a Radeon HD 4850 (Gigabyte GV-R485MC-1GH).

 

To start with a clean basis, I deleted my /Extra folder and then reinstalled PC_EFI 10.6 and Chameleon RC4 with the included /Extra folder.

 

I added:

<key>GraphicsEnabler</key>
<string>Yes</string>

to my /Extra/com.apple.Boot.plist file,

 

And added:

<key>IOPCIMatch</key>
<string>0x94401002 0x944a1002 0x94421002</string>

to the /System/Library/Extensions/ATI4800Controller.kext/Contents/Info.plist file.

 

Then chowned -R 0:0 /Extra and checked permissions before rebooting.

 

The Disabler.kext included didn't worked (I had a kernel panic) so I moved the AppleIntelCPUPowerManagement.kext file away from the /System/Library/Extensions folder.

 

Reading this entire thread, I read several times about generating a MKEXT, what does that mean and is it the reason why the Disabler.kext doesn't work?

 

Then I ended up with an infinite spinning and a strange error in verbose mode:

20100219001.jpg

 

What's wrong?

Link to comment
Share on other sites

  • 2 weeks later...

Hello all.

 

I'm into my 3rd day of trying to get my sapphire 4850 recognised properly by SL 6.2.

 

It worked vanilla but only on low res (1024x768).

 

My main gripe is that I can't install Logic 9 due to the fact that it thinks I have 0 (zero) VRAM.

Other than that i can force resolution to 1280x1024 at boot (graphics mode=etc) but none of the fixes I have found work.

 

So far I have tried the first two in this thread aswell and still no success.

 

System profiler show my card as 256MB (it has 512MB Ram).

 

I'd appreciate if someone could explain to a noob like me how to get around the VRAM thing.

Also not sure how to set it so it always boots at 1280x1024.

 

I didn't go through the full 8 pages of this thread so I will go and do that now in case theres a solution.

Cheers.

Link to comment
Share on other sites

OKay I have been through this thread and several others and still no joy with QI/CE for my hd4850.

 

What I have done:

 

REmoved non pure ATI drivers from S/L/E as I have read they are not required.

 

Added Legacy4800controller.kext to SS/L/e

 

Used kext utility to make sure its installed and permissions etc.

 

graphic enabler=y in my bootlist.

 

Chameleon v2.0 - RC4 r684

Darwin x86 v5.0.132

EFI 10.6

 

Boots @ 1024x768 with no QI/CE.

 

Any tips?

Link to comment
Share on other sites

  • 2 weeks later...

Ok I too am trying to get my Powercolor HD4850 running in SL 10.6.2

 

I have NOT modified ANY native kexts (yet) and am resistant to doing so

 

I have Cham V2.0 - RC3, Darwin x86 v5.0.132 and EFI 10.6 and I have complied a DSDT.aml that appears to have no errors and the fix for the CMOS reset

 

I have in my Extra folder Darwinx86-ATI48X0-IDs-Injector.kext along with a few other non VGA related kext keeping things to a bare minimum for now.

 

My com.apple.boot.plist is as follows

 

<key>Kernel</key>

<string>mach_kernel</string>

<key>Kernel Flags</key>

<string>"Graphics Mode"="1920x1080x32"</string>

<key>arch</key>

<string>i386</string>

<key>GraphicsEnabler</key>

<string>Yes</string>

<key>Theme</key>

<string>Default</string>

<key>Timeout</key>

<string>10</string>

<key>Quiet Boot</key>

<string>No</string>

 

Clearly the "GraphicsMode" string does nothing!! (will remove it)

 

I can now boot w/o the -x flag which is a huge leap forward...

 

The screen saver works, the powers saver (monitor off) works, I can play chess for a few moves (locks up but think that is audio), watch youtube videos, and play DVD's so I assume that QE/CI works

 

Using the LegacyATI4800Controller.kext in the Extra folder did not work nor allow booting w/o -x flag.

 

MY only issue with the current solution is that WS formats do not seem to be supported and don't show up in the list of available resolutions. only 4:3 resolutions do but at least I CAN change them and not stuck with the 1024 x 768 default I had when booting with -x flag.

 

not quite there but closer!

Link to comment
Share on other sites

 Share

×
×
  • Create New...