Jump to content

4870 1GB Working Sleep/CI/QE/Resolution Change!


keld
 Share

42 posts in this topic

Recommended Posts

So I saw a post in the megathread for ATI 48XX series about getting the 4870 to run without an injector. MowgliBook posted some plist files but didn't really explain anything about how to get it working, only that he successfully used a DSDT patch to make it work.

 

I did some of my own research and discovered a way to make your 4870 work with a vanilla 10.5.7 install (no patched drivers or injectors).

 

Here is what I did:

 

Download the command line gfxutil (google it).

 

Download 4870.plist from MowgliBook's post. http://www.mediafire.com/MowgliBook

 

After you downloaded gfxutil, unzip it and open Terminal (Applications/Utilities/Terminal.app)

 

Drag gfxutil onto the terminal window, then type <spacebar> -f display

 

It should say something like:

DevicePath = PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)

 

Copy the part after the = sign. Open up 4870.plist in a text editor.

 

Find the line: <key>PciRoot(0x1)/Pci(0x3,0x0)/Pci(0x0,0x0)</key>

 

and replace "PciRoot(0x1)/Pci(0x3,0x0)/Pci(0x0,0x0)" with what gfxutil gave you.

 

Save 4870.plist.

 

Go back to Terminal, and again drag gfxutil onto the terminal window. Then type <spacebar> -i xml -o hex .... then drag 4870.plist onto the terminal window, hit space, and type ~/Desktop/4870.hex

The complete command should look something like this:

 

/Users/admin/Desktop/gfxutil -i xml -o hex /Users/admin/Desktop/HD4870.plist ~/Desktop/4870.hex

 

This will create your graphics-property string to put into your boot.plist!

 

Open the .hex file and copy that string. Now, copy your com.apple.boot.plist (in /System/Library/SystemConfiguration/, or in /Extra if using Chameleon 2.0) to the desktop. Open it up, and add this:

 

<key>device-properties</key>

<string>code that you copied from 4870.hex</string>

 

and copy it back to where it should belong.

 

After that, I deleted Natit.kext, rebuilt my Extensions.mkext and restarted and prayed. To my shock it worked! Full resolution 1680x1050, quartz extreme, core image.. changed resolutions, worked!

 

Then the big one... tried to sleep. Instantly slept (used to take a bit), press the power button, BAM it wakes up!!! Sleep again 5x, still worked :thumbsup_anim:

 

Hope this helps someone!

Link to comment
Share on other sites

hi keld

 

nice work you have done here :(

 

I m noob on this hackintosh, just to inform

 

i tried ur tutorial with no success

 

i use the ATY_Motmot.kext and my gainward 4870 512 MB work like a charm but sleep.

 

i did every thing you say, but i notice my chamaleon ignore all i write on com.apple.boot.plist, btw i had to delete all original content of my extra folder, and copy the one that i use on my old boot pen, so i dont even had the file com.apple.boot.plist anyware on my computer.

I manage to get that file a copy to extra folder and did what u say on your post... then i delete the file you said to delete (Natit.kext) and my ATY_Motmot.kext, and reinstalled the original ati drivers.

 

Restart... but no luck, no graphics.

 

had to put all again back but com.apple.boot.plist, still there with your modification (dont seem osx read that file on the boot)

 

Any idea?

 

Thanks for the help :)

Link to comment
Share on other sites

  • 2 weeks later...

For me it worked, but it doesn't work with dual displays. I have a 19" old Samsung connected via VGA and a new 24" Samsung via DVI and with Natit from netkas dual display works like a charm but no sleep. With this method sleep works but dual display it doesn't. The system boots up and gets stuck on blue screen on both displays.

Link to comment
Share on other sites

"MowgliBook posted some plist files but didn't really explain anything about how to get it working, only that he successfully used a DSDT patch to make it work."

 

Excuse for my English

You have written above about DSDT patch

Question

Before applying sting it is necessary to use at first DSDT patch, or it is possible to do without it.

And if it is necessary, it is possible to tell more in detail as it to make

Link to comment
Share on other sites

So I saw a post in the megathread for ATI 48XX series about getting the 4870 to run without an injector. MowgliBook posted some plist files but didn't really explain anything about how to get it working, only that he successfully used a DSDT patch to make it work.

 

I did some of my own research and discovered a way to make your 4870 work with a vanilla 10.5.7 install (no patched drivers or injectors).

 

Here is what I did:

 

Download the command line gfxutil (google it).

 

Download 4870.plist from MowgliBook's post. http://www.mediafire.com/MowgliBook

 

After you downloaded gfxutil, unzip it and open Terminal (Applications/Utilities/Terminal.app)

 

Drag gfxutil onto the terminal window, then type <spacebar> -f display

 

It should say something like:

DevicePath = PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)

 

Copy the part after the = sign. Open up 4870.plist in a text editor.

 

Find the line: <key>PciRoot(0x1)/Pci(0x3,0x0)/Pci(0x0,0x0)</key>

 

and replace "PciRoot(0x1)/Pci(0x3,0x0)/Pci(0x0,0x0)" with what gfxutil gave you.

 

Save 4870.plist.

 

Go back to Terminal, and again drag gfxutil onto the terminal window. Then type <spacebar> -i xml -o hex .... then drag 4870.plist onto the terminal window, hit space, and type ~/Desktop/4870.hex

The complete command should look something like this:

 

/Users/admin/Desktop/gfxutil -i xml -o hex /Users/admin/Desktop/HD4870.plist ~/Desktop/4870.hex

 

This will create your graphics-property string to put into your boot.plist!

 

Open the .hex file and copy that string. Now, copy your com.apple.boot.plist (in /System/Library/SystemConfiguration/, or in /Extra if using Chameleon 2.0) to the desktop. Open it up, and add this:

 

<key>device-properties</key>

<string>code that you copied from 4870.hex</string>

 

and copy it back to where it should belong.

 

After that, I deleted Natit.kext, rebuilt my Extensions.mkext and restarted and prayed. To my shock it worked! Full resolution 1680x1050, quartz extreme, core image.. changed resolutions, worked!

 

Then the big one... tried to sleep. Instantly slept (used to take a bit), press the power button, BAM it wakes up!!! Sleep again 5x, still worked :rolleyes:

 

Hope this helps someone!

Now the question is... which 4870 1gb card did you buy? :wacko:

Link to comment
Share on other sites

I will test dual-link dvi (i have a 30" at home) and dual displays and report back.

 

 

 

How did this work out? I have a dell 30" that the "simple guide" allowed me to get working but only with a single link cable and at 1920 x 1200 or something like that. I know it's a rediculous complaint but I run windows 7 natively at 2560x1600 for video editing and I want to do the same in OSX with FCP. Currently it's too much trouble to do all the video cable switching (using a dual-link cable gives a black screen so I have to switch to sinle-link for OSX). I'm either in windows for a few days or OSX for a few days. I would love to know if I could just switch back and forth.

Link to comment
Share on other sites

I failed....

OMG! I have to sell my HD 4870 1G Graphic Card.....

 

http://mactel.textcube.com/340

 

May I have GFXUtil url for downloading...

I have EmTek Radeon HD 4870 XENON Live II Extreme D5 1GB TWIN Cool.

 

So I saw a post in the megathread for ATI 48XX series about getting the 4870 to run without an injector. MowgliBook posted some plist files but didn't really explain anything about how to get it working, only that he successfully used a DSDT patch to make it work.

 

I did some of my own research and discovered a way to make your 4870 work with a vanilla 10.5.7 install (no patched drivers or injectors).

 

.....

Link to comment
Share on other sites

Hi, I'm having some problems getting a RADEON 4870 1GB working with dual monitors; both of them connected via DVI > VGA adapters.

 

I used Netkas lastest enabler and got everything working, except that monitors are always in mirror mode.

Link to comment
Share on other sites

Hi, I'm having some problems getting a RADEON 4870 1GB working with dual monitors; both of them connected via DVI > VGA adapters.

 

I used Netkas lastest enabler and got everything working, except that monitors are always in mirror mode.

 

yes i have the same problem i hope for a solution

Link to comment
Share on other sites

Success on my Sapphire 4870/512 with 10.5.7 vanilla ATi kexts. Earlier i was using netkas' Natit and then ATY_INIT with 4870 bios image embedded then i tried with an efi string generated from the XML provided by Mowglibook and linked by Keld in the first post and adapted for my PCIRoot (my MB is an ABIT ip35 Pro) but it didn't work. I, then, tried to convert the 4870 part of ATI_INIT to an EFI_STRING, omitting tha BIN_IMAGE key, of course, and it worked. I now have full support (QE/CI, Resolution change, etc... Still need to try dual display tho, will edit my post accordingly, once tested.) just like before but with no injectors at all. It's even compatible with SnowLeopard, without having to wait for a 64 Bit capable injector.

 

Following the XML and HEX version of the efi-string i now use for my 4870/512.

Remember to change the PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0) according to you hardware. Instructions are in the first post by Keld.

 

Credits go to Netkas, Keld, Mowglibook, CycloneFR, lastExile and all the friends from the IRC #RadeonHD channel crew who, by the way, is also an invaluable source of know-how and even a good company during work pauses :)

 

[Edit]

 

I cheered too soon. Turns out not working in SnowLeo, Chameleon kept messing up /Extra/Extensions.mkext loading part of kexts from Leo partition and part from SnowLeo and since i had an ATY_INIT.kext laying around, i got fooled. Investigating the matter.

 

Thx all and good luck.

XML version

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)</key>

<dict>

<key>@0,compatible</key>

<string>ATY,Motmot</string>

<key>@0,connector-type</key>

<string>0x00000400</string>

<key>@0,device_type</key>

<string>display</string>

<key>@0,display-type</key>

<string>0x454e4f4e</string>

<key>@0,name</key>

<string>ATY,Motmot</string>

<key>@1,compatible</key>

<string>ATY,Motmot</string>

<key>@1,connector-type</key>

<string>0x00000004</string>

<key>@1,device_type</key>

<string>display</string>

<key>@1,display-type</key>

<string>0x454e4f4e</string>

<key>@1,name</key>

<string>ATY,Motmot</string>

<key>AAPL,slot-name</key>

<data>U2xvdC0x</data>

<key>AAPL,EMC-Display-List</key>

<data>AwAAAAAAAAAAAAAAAAAAAAYQAAAbkgAAAAAAAAAAAAAGEAAAHJIAAAAAAAAAAAAABhAAACGSAAAAA

AAAAAAAA==</data>

<key>AAPL,aux-power-connected</key>

<string>0x00000001</string>

<key>AAPL,backlight-control</key>

<string>0x00000000</string>

<key>AAPL00,blackscreen-preferences</key>

<string>0x08000000</string>

<key>AAPL01,Coherency</key>

<string>0x00000002</string>

<key>AAPL01,blackscreen-preferences</key>

<string>0x08000000</string>

<key>ATY,Card#</key>

<string>109-B77101-00</string>

<key>ATY,Copyright</key>

<string>Copyright AMD Inc. All Rights Reserved. 2005-2008</string>

<key>ATY,EFICompileDate</key>

<string>Jan 26 2009</string>

<key>ATY,EFIDispConfig</key>

<data>DRAAAAAAAAA=</data>

<key>ATY,EFIDriverType</key>

<string>0x02</string>

<key>ATY,EFIEnabledMode</key>

<string>0x02</string>

<key>ATY,EFIHWInitStatus</key>

<data>AAAAAAAAAAA=</data>

<key>ATY,EFIOrientation</key>

<string>0x0100</string>

<key>ATY,EFIVersion</key>

<data>MDEuMDAuMzE4AA==</data>

<key>ATY,EFIVersionB</key>

<string>113-B77101-012</string>

<key>ATY,EFIVersionE</key>

<string>113-B7710A-318</string>

<key>ATY,MCLK</key>

<string>0x00112e70</string>

<key>ATY,MemRevisionID</key>

<string>0x0009</string>

<key>ATY,MemVendorID</key>

<string>0x0002</string>

<key>ATY,PlatformInfo</key>

<data>AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAA=</data>

<key>ATY,Rom#</key>

<string>113-B7710C-176</string>

<key>ATY,SCLK</key>

<string>0x000bdb28</string>

<key>ATY,VendorID</key>

<string>0x1002</string>

<key>device_type</key>

<string>ATY,MotmotParent</string>

<key>model</key>

<string>ATI Radeon HD 4870</string>

<key>name</key>

<string>ATY,MotmotParent</string>

</dict>

</dict>

</plist>

 

 

Hex-converted, ready to be pasted into com.Apple.Boot.plist (only for PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0) )

 

090800000100000001000000fd0700002600000002010c00d041030a010000000101060
00010101060000007fff04001e0000004100540059002c00560065006e0064006f00720049004400
000060000000210240000004100540059002c00450046004900560065007200730069006f006e004
000000120000003131332d4237373130312d3031321c0000006400650076006900630065005f0074
07900700065000000140000004154592c4d6f746d6f74506172656e74220000004100540059002c0
450046004900560065007200730069006f006e0000000e00000030312e30302e3331380022000000
00031002c006400650076006900630065005f00740079007000650000000b000000646973706c617
28000000400030002c0063006f006e006e006500630074006f0072002d0074007900700065000000
80000000004000020000000400031002c0063006f006d00700061007400690062006c00650000000
0000004154592c4d6f746d6f7414000000400030002c006e0061006d00650000000e000000415459
c4d6f746d6f74180000004100540059002c00430061007200640023000000110000003130392d423
373130312d3030260000004100410050004c00300031002c0043006f0068006500720065006e0063
0790000000800000002000000220000004100410050004c002c0073006c006f0074002d006e00610
6d00650000000a000000536c6f742d3114000000400031002c006e0061006d00650000000e000000
154592c4d6f746d6f74160000004100540059002c00530043004c004b0000000800000028db0b002
000000400030002c0063006f006d00700061007400690062006c00650000000e0000004154592c4d
f746d6f74240000004100540059002c00450046004900560065007200730069006f006e004500000
120000003131332d4237373130412d333138300000004100410050004c002c0045004d0043002d00
4006900730070006c00610079002d004c00690073007400000044000000030000000000000000000
0000000000061000001b9200000000000000000000061000001c9200000000000000000000061000
02192000000000000000000002a0000004100540059002c004500460049004f007200690065006e0
74006100740069006f006e00000006000000000128000000400031002c0063006f006e006e006500
30074006f0072002d00740079007000650000000800000004000000280000004100540059002c004
0065006d005200650076006900730069006f006e0049004400000006000000090028000000410054
059002c00450046004900440069007300700043006f006e0066006900670000000c0000000d10000
00000000240000004100540059002c004d0065006d00560065006e0064006f007200490044000000
60000000200360000004100410050004c002c006100750078002d0070006f007700650072002d006
006f006e006e00650063007400650064000000080000000100000024000000400030002c00640069
0730070006c00610079002d0074007900700065000000080000004e4f4e450e0000006e0061006d0
65000000140000004154592c4d6f746d6f74506172656e74320000004100410050004c002c006200
10063006b006c0069006700680074002d0063006f006e00740072006f006c0000000800000000000
00420000004100410050004c00300030002c0062006c00610063006b00730063007200650065006e
02d0070007200650066006500720065006e006300650073000000080000000000000842000000410
410050004c00300031002c0062006c00610063006b00730063007200650065006e002d0070007200
50066006500720065006e006300650073000000080000000000000824000000400031002c0064006
00730070006c00610079002d0074007900700065000000080000004e4f4e4522000000400030002c
06400650076006900630065005f00740079007000650000000b000000646973706c6179100000006
006f00640065006c0000001600000041544920526164656f6e204844203438373028000000410054
059002c0045004600490044007200690076006500720054007900700065000000050000000216000
004100540059002c004d0043004c004b00000008000000702e1100160000004100540059002c0052
06f006d0023000000120000003131332d4237373130432d3137362c0000004100540059002c00450
460049004800570049006e006900740053007400610074007500730000000c000000000000000000
000200000004100540059002c0043006f007000790072006900670068007400000035000000436f7
79726967687420414d4420496e632e20416c6c205269676874732052657365727665642e20323030
52d323030382a0000004100540059002c0045004600490045006e00610062006c00650064004d006
0064006500000005000000022a0000004100540059002c0045004600490043006f006d0070006900
c006500440061007400650000000f0000004a616e2032362032303039260000004100540059002c0
50006c006100740066006f0072006d0049006e0066006f0000008400000001000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000

Link to comment
Share on other sites

Success on my Sapphire 4870/512 with 10.5.7 vanilla ATi kexts. Earlier i was using netkas' Natit and then ATY_INIT with 4870 bios image embedded then i tried with an efi string generated from the XML provided by Mowglibook and linked by Keld in the first post and adapted for my PCIRoot (my MB is an ABIT ip35 Pro) but it didn't work. I, then, tried to convert the 4870 part of ATI_INIT to an EFI_STRING, omitting tha BIN_IMAGE key, of course, and it worked. I now have full support (QE/CI, Resolution change, etc... Still need to try dual display tho, will edit my post accordingly, once tested.) just like before but with no injectors at all. It's even compatible with SnowLeopard, without having to wait for a 64 Bit capable injector.

 

I did everything like it explained on the first post, and everything is working like before, dual display, DVI on the first and DVI to HDMI (Samsung TV) on the second port.

QI/CI and resolution change are working but the wake from sleep does not works still ;) ?

 

I removed Natit.kext but still have some files ATY_Init, ATY_Motmot in the /System/Library/Extensions/

 

What should I have, I what should I remove?

Maybe I have not removed everything left from the earlier.

 

First I started with A Simple Guide to the 4830/4850/4870/4870x2/4890, Working QE/CI, Resolution Change, etc.

Than with Netkas: New universal Injector for ati and nvidia, and multiple ati cards enabler.

 

tnx

 

UPDATE! I realize that wake from display sleep works.. but wake from system sleep does not work

Link to comment
Share on other sites

I have everything working,

 

no dual DVI thou as I have DVI, HDMI and DP

 

Not tested DP, DVI not working, HDMI working with adaptor, and DP not tested.

 

Im getting a really bad stutter thou on all USB devices this includes mouse jumping :/

 

Mine is a non referance Gigabyte GV-R487D5-1GD

 

I have used this method and get everything working. That is the only snag, having 2 screens doesnt doesn't bother me.

So I'm not bothred about moving over to natit/ other injectors. Any ideas?

 

Thanks guys

--

Shaun

Link to comment
Share on other sites

@ biciolino:

 

Which programm can read aty_init???

 

What do you mean with "reading aty_init"?

If you mean how to see its contents, then just right click it and choose "Show package contents" then open the Contents directory and eventually you'll find Info.plist, an XML file.

Link to comment
Share on other sites

  • 3 weeks later...

yeah this method works great with my gigabyte hd4870 card, except just like with natit it doesn't give me vga, which i need pretty badly for various reasons. the stock 10.5.7 driver as well as the "delete the motmot driver after install" method both give me vga, but with millions of dancing dots on a grey canvas instead. anybody got vga working on the gigabyte? is there another 4870 card that has working vga that i should try instead?

Link to comment
Share on other sites

 Share

×
×
  • Create New...