Jump to content

ATI HD framebuffer driver (10.5/10.6) with source code


dong
 Share

900 posts in this topic

Recommended Posts

Is there a slight possibility that these drivers could work on a ATI Mobility Radeon HD 4650?

 

Also very interested in getting this video card working.

My configuration: Sony Vaio VGN FW4(5X)

T9600

4 GB DDR 2

SATA HDD and BD drive

VIDEO: ATI Radeon 4650 ,1GB

 

Tried everything, not even the slightest proof of any progress.

What other (active) threads are there on this subject (in this or other forums), I mean getting ATI cards working, or even this (mine) specific card?

 

Would be glad to provide feedback form testing beta versions of kexts or something, but would need a little more specific information about what exactly to test and what information to provide.

 

Thank you verry much, I don't want to give up on OSx86 just because of my video card.

Link to comment
Share on other sites

I got my ATI Mobilty Radeon 4650 (1 GB GDDR3 VRAM) working with native resolution. No QE/CI though. Running under Snow Leopard, using an Asus n81Vp notebook.

 

1. Remove ATIRadeonX2000.kext (using something like another OSX installation or Linux).

2. Install RadeonHD.kext from start of this topic & repair permissions. Reboot.

3. (Got screen with screwed colors on reboot (but was in native resolution already)

4. Used plist editor to edit EDID to your own display's EDID in Info.plist of RadeonHD.kext

5. Install edited RadeonHD.kext

6. Repair permissions.

7. Enjoy native resolution! =D

 

If you get black screen, try to attach external monitor via VGA.

Link to comment
Share on other sites

First of all, big props for your work

 

My acer aspire 5710 with Mobility HD 2300 works with your kext and my edid.

 

i am using iatkos v7 (10.5.7) and sometimes i get kernel panic

 

091208215820.th.jpg

 

also mouse i skewed

 

what can i do for kernel panic?, tried updating to 10.5.8 still the same

Link to comment
Share on other sites

First of all, big props for your work

My acer aspire 5710 with Mobility HD 2300 works with your kext and my edid.

i am using iatkos v7 (10.5.7) and sometimes i get kernel panic

also mouse i skewed

what can i do for kernel panic?, tried updating to 10.5.8 still the same

There are some memory allocating/free problems in the source. Thus you have nothing to try to avoid the KP. Wait for my next release (which is slow due to my other job in real life) or try debug the source by yourself.
Link to comment
Share on other sites

I got my ATI Mobilty Radeon 4650 (1 GB GDDR3 VRAM) working with native resolution. No QE/CI though. Running under Snow Leopard, using an Asus n81Vp notebook.

 

1. Remove ATIRadeonX2000.kext (using something like another OSX installation or Linux).

2. Install RadeonHD.kext from start of this topic & repair permissions. Reboot.

3. (Got screen with screwed colors on reboot (but was in native resolution already)

4. Used plist editor to edit EDID to your own display's EDID in Info.plist of RadeonHD.kext

5. Install edited RadeonHD.kext

6. Repair permissions.

7. Enjoy native resolution! =D

 

If you get black screen, try to attach external monitor via VGA.

 

Hey, I followed your instructions, I mean, I added my EDID to Info.plist and I could boot into SL without "-x" boot flag.

But I could not change the resolution, the only option in System Preferences was 1024x768 , and of course no QE/CI.

I admit I'm not sure if I added the EDID in the corect format in my info.plist .( I have attached my .plist file). I've read somewhere that I have to convert my EDID (obtained with Phoenix from Win 7 64bit) to base 64, how can I do that ? Or is it even necessary since I use Win 7 64bit?

What am I doing wrong ? since I could boot into SL I think my EDID has the right format/base but because I cannot change resolution I tend to think there is something wrong.

I have also attached the EDID obtained with Phoenix.

If my problem has a simple solution I would appreciate a quick how-to, even better would be if someone could edit my Info.plist and upload it.

Thanks,

si domnule Dong ,continua munca asta titanica,milioane de suflete te sustin mental.

Info.zip

Vaio_EDID.zip

Link to comment
Share on other sites

The instructions listed in post #289 from this topic worked for my Vaio. I now have 1920x1080. Should work for you too just follow the instructions exactly.

Hey, I just followed the instructions from post #289 but I didn't managed to get the resolution.

I am 100% sure I did everything exactly as mentioned there, but after restart (I booted with -v flag) right before the GUI the screen went funny(but not different than before).

I removed the X2000.kext and now I can boot without the -x flag but, that's it, no resolution change for me.

Do you have the same Vaio as mine ? (FW4 ,I ask because you have 1920x1080 which is the same as mine), If so, could it be possible to have the same EDID, I mean could your Radeon.kext work for me ?

Another question, the guide from the post 289 does not say anything about the Folder Radeon src ,do I need to place that folder also in S/L/E or not ?

 

I attached my EDID both in HEX and b64 , maybe I did something wrong after all .....

Vaio_EDID_b64.txt

Vaio_EDID_HEXA.txt

RadeonHD.kext.zip

Link to comment
Share on other sites

Hi

 

I follow the instruction and try a different kexts. So far, only the kext below can detected my IGP HD3300 with the support resolution of 1360x768. My loaded with Mac OSx 10.5.8. However, i encountered KP after surfing the net for 10 -15mins. I have captured the message as attached.

Please note that w/o the kext loaded just running at VESA mode of 1024x768 with no KP. Please advice what have I done wrong. Thanks..

 

 

[10/14/2009 update]:

Add some common resolutions if only the native one is detected. Provide a card name to be displayed in system profile. Both are 32 bit AtomBios version.

10.5 RadeonHD.kext.10.5.zip ( 164.05K )

 

 

DSC00102.jpg

Link to comment
Share on other sites

Hey, I just followed the instructions from post #289 but I didn't managed to get the resolution.

I am 100% sure I did everything exactly as mentioned there, but after restart (I booted with -v flag) right before the GUI the screen went funny(but not different than before).

I removed the X2000.kext and now I can boot without the -x flag but, that's it, no resolution change for me.

Do you have the same Vaio as mine ? (FW4 ,I ask because you have 1920x1080 which is the same as mine), If so, could it be possible to have the same EDID, I mean could your Radeon.kext work for me ?

Another question, the guide from the post 289 does not say anything about the Folder Radeon src ,do I need to place that folder also in S/L/E or not ?

 

I attached my EDID both in HEX and b64 , maybe I did something wrong after all .....

 

I have a FW373J which has the HD3650. I am using the radeon kext as it is without adding the EDID although I did have to reboot a couple of times. I am using this with a fresh install of 10.5.6. Haven't tried it with Snow yet.

 

Did have to use the <key>enableHWCursor</key><true/> trick to get the cursor to display correctly though.

 

Remember to repair permissions.

 

As a side note, since the wireless card in this laptop (intel 5100) is not compatible I bought a Dell 1510 from Ebay to replace it. Should be here in the next few days. I will send you a PM to let you know if it works.

Link to comment
Share on other sites

I have a FW373J which has the HD3650. I am using the radeon kext as it is without adding the EDID although I did have to reboot a couple of times. I am using this with a fresh install of 10.5.6. Haven't tried it with Snow yet.

 

Did have to use the <key>enableHWCursor</key><true/> trick to get the cursor to display correctly though.

 

Remember to repair permissions.

 

As a side note, since the wireless card in this laptop (intel 5100) is not compatible I bought a Dell 1510 from Ebay to replace it. Should be here in the next few days. I will send you a PM to let you know if it works.

My Vaio has HD4650,1 GB.

If someone with this card(mobility version) did manage to get full resolution with mr. Dong's kext please post some information here.I am getting desperate.

When using this kext am I supposed to delete AtiRadeonX2000.kext ? And do I have to add my device and vendor ID to some other kexts ?

*Yup, very interested if the trick with the wireless card works

Link to comment
Share on other sites

Hi Fuzzy_Logic,

 

You can use plist editor to change the EDID (from Xcode Tools), it's safer since plist editor does the Base64 encoding for you. Anyway, I have changed it for you and attached in this post.

 

Are the permissions for your RadeonHD.kext correct? You can check whether RadeonHD.kext is really loaded by going to System Profiler -> Extensions. Check if RadeonHD.kext is in the list. If it's not there, make sure RadeonHD.kext is owned by root, group wheel. Directories have permissions 0755 and files 0644.

 

cd /System/Library/Extensions
sudo chown -Rvf root:wheel RadeonHD.kext
sudo chmod -Rvf 0775 RadeonHD.kext
sudo chmod 0644 Contents/Info.plist
sudo chmod 0644 Contents/MacOS/RadeonHD
sudo chmod 0644 Contents/Resources/English.lproj/InfoPlist.strings

 

You're supposed to remove ATIRadeonX2000.kext by the way.

 

Regards,

yjwong

VAIO_plist.plist.zip

Link to comment
Share on other sites

Hi Fuzzy_Logic,

 

You can use plist editor to change the EDID (from Xcode Tools), it's safer since plist editor does the Base64 encoding for you. Anyway, I have changed it for you and attached in this post.

 

Are the permissions for your RadeonHD.kext correct? You can check whether RadeonHD.kext is really loaded by going to System Profiler -> Extensions. Check if RadeonHD.kext is in the list. If it's not there, make sure RadeonHD.kext is owned by root, group wheel. Directories have permissions 0755 and files 0644.

 

cd /System/Library/Extensions
sudo chown -Rvf root:wheel RadeonHD.kext
sudo chmod -Rvf 0775 RadeonHD.kext
sudo chmod 0644 Contents/Info.plist
sudo chmod 0644 Contents/MacOS/RadeonHD
sudo chmod 0644 Contents/Resources/English.lproj/InfoPlist.strings

 

You're supposed to remove ATIRadeonX2000.kext by the way.

 

Regards,

yjwong

 

Hey, I can't get it working.

I downloaded RadeonHD for SL ,i've added the .plist file from you to the kext (after renaming it "info.plist") and then I've installed the kext with kext helper, also I've deleted AtiRadeonX2000.kext.

I've runed your commands:

cd /System/Library/Extensions
sudo chown -Rvf root:wheel RadeonHD.kext
sudo chmod -Rvf 0775 RadeonHD.kext
sudo chmod 0644 Contents/Info.plist
sudo chmod 0644 Contents/MacOS/RadeonHD
sudo chmod 0644 Contents/Resources/English.lproj/InfoPlist.strings

but I got error messages when running either of the following:

sudo chmod 0644 Contents/Info.plist
sudo chmod 0644 Contents/MacOS/RadeonHD
sudo chmod 0644 Contents/Resources/English.lproj/InfoPlist.strings

 

saying it could not find those files, I've figured out that being in the /Extensions folder I have to specify the kext and so I've runed the commands:

sudo chmod 0644 RadeonHD.kext/Contents/Info.plist

sudo chmod 0644 RadeonHD.kext/Contents/MacOS/RadeonHD

sudo chmod 0644 RadeonHD.kext/Contents/Resources/English.lproj/InfoPlist.strings[/code]

which did not throw any errors.

BUT I CANNOT manage to get the kext RadeonHD to load (I allways check in System Profiler,Software,Extensions).

forgot to mention, also I have tried repairing permissions with Disk Utility after running those commands but still nothing.

What should I do ?

Please give me a steb-by-step guide on how to get this done.I'm tired of using SL only with 1024x768.

Link to comment
Share on other sites

saying it could not find those files, I've figured out that being in the /Extensions folder I have to specify the kext and so I've runed the commands:

sudo chmod 0644 RadeonHD.kext/Contents/Info.plist

sudo chmod 0644 RadeonHD.kext/Contents/MacOS/RadeonHD

sudo chmod 0644 RadeonHD.kext/Contents/Resources/English.lproj/InfoPlist.strings[/code]

which did not throw any errors.

 

My bad. I accidentally left out the RadeonHD.kext. Have you tried loading the kext manually?

 

cd /System/Library/Extensions
sudo kextload -v 6 RadeonHD.kext

Link to comment
Share on other sites

Hey, I can't get it working.

I downloaded RadeonHD for SL ,i've added the .plist file from you to the kext (after renaming it "info.plist") and then I've installed the kext with kext helper, also I've deleted AtiRadeonX2000.kext.

I've runed your commands:

cd /System/Library/Extensions
sudo chown -Rvf root:wheel RadeonHD.kext
sudo chmod -Rvf 0775 RadeonHD.kext
sudo chmod 0644 Contents/Info.plist
sudo chmod 0644 Contents/MacOS/RadeonHD
sudo chmod 0644 Contents/Resources/English.lproj/InfoPlist.strings

but I got error messages when running either of the following:

sudo chmod 0644 Contents/Info.plist
sudo chmod 0644 Contents/MacOS/RadeonHD
sudo chmod 0644 Contents/Resources/English.lproj/InfoPlist.strings

 

saying it could not find those files, I've figured out that being in the /Extensions folder I have to specify the kext and so I've runed the commands:

sudo chmod 0644 RadeonHD.kext/Contents/Info.plist

sudo chmod 0644 RadeonHD.kext/Contents/MacOS/RadeonHD

sudo chmod 0644 RadeonHD.kext/Contents/Resources/English.lproj/InfoPlist.strings[/code]

which did not throw any errors.

BUT I CANNOT manage to get the kext RadeonHD to load (I allways check in System Profiler,Software,Extensions).

forgot to mention, also I have tried repairing permissions with Disk Utility after running those commands but still nothing.

What should I do ?

Please give me a steb-by-step guide on how to get this done.I'm tired of using SL only with 1024x768.

 

you will need to update the cache after copying the file to the System/Library/Extensions folder.

open terminal and type:

sudo kextcache -k /System/Library/Extensions

Link to comment
Share on other sites

open terminal and type:

sudo kextcache -k /System/Library/Extensions

 

For Snow Leopard:

Note that kextcache -k is no longer supported. At least on my system, it shows:

 

yjwong-macbookpro:~ yjwong$ kextcache -k
-k is no longer used; ignoring.
No work to do; check options and try again.

 

Instead, do a:

 

sudo touch /System/Library/Extensions

 

And the system will regenerate the kextcache upon next bootup.

Link to comment
Share on other sites

For Snow Leopard:

Note that kextcache -k is no longer supported. At least on my system, it shows:

 

yjwong-macbookpro:~ yjwong$ kextcache -k
-k is no longer used; ignoring.
No work to do; check options and try again.

 

Instead, do a:

 

sudo touch /System/Library/Extensions

 

And the system will regenerate the kextcache upon next bootup.

Sorry for responding so late.

I still did't manage to get the damn kext loaded.

I really don't know what I am doing wrong.I'm sure I'm doing everything by the book.

I'm starting to suspect SL itself, I don't have a vanilla install,but the SnowOSX_Universal_10.6(432)GM_v3.5. I tried making my own USB installer(restoring the image to my thumb drive, installing chameleon, adding boot file from netkas and changing osinstall.mpkg to allow installation on mbr partition scheme) but it hangs on the colored spinning wheel right at the beginning.

Link to comment
Share on other sites

I've taken a look into the 10/28 source code and think I've found a solution for the skewed mouse problem. The patch and a fixed build for 10.6 i386 are attached.

 

I tested on my 10.6.2 with Mobility Radeon X1300 with success.

 

The cause is explained in the source. Basically it's a wrong assumption made about the format of the cursor data returned by IOFrameBuffer::convertCursorImage (wrapped by VSLPrepareCursorForHardwareCursor).

 

Dong, if you find this useful, feel free to include in your source tree.

RadeonHD.kext_cursorfix.zip

rhd_cursor_fix.zip

Link to comment
Share on other sites

I've taken a look into the 10/28 source code and think I've found a solution for the skewed mouse problem. The patch and a fixed build for 10.6 i386 are attached.

 

I tested on my 10.6.2 with Mobility Radeon X1300 with success.

 

The cause is explained in the source. Basically it's a wrong assumption made about the format of the cursor data returned by IOFrameBuffer::convertCursorImage (wrapped by VSLPrepareCursorForHardwareCursor).

 

Dong, if you find this useful, feel free to include in your source tree.

 

GREAT! thanks! keep it coming I'm looking on this thread every day... generaly this driver is our last hope for tricky Radeons...

Once again great work!

Link to comment
Share on other sites

I've taken a look into the 10/28 source code and think I've found a solution for the skewed mouse problem. The patch and a fixed build for 10.6 i386 are attached.

 

I tested on my 10.6.2 with Mobility Radeon X1300 with success.

 

The cause is explained in the source. Basically it's a wrong assumption made about the format of the cursor data returned by IOFrameBuffer::convertCursorImage (wrapped by VSLPrepareCursorForHardwareCursor).

 

Dong, if you find this useful, feel free to include in your source tree.

Great thanks to semantics! It works for me too.

After checking your fix, I found out that I made a mistake during reverse engineering ATI's driver. The code is actually something like this:

		int i, j;
	for (i = 63;i >= 0;i--)
		for (j = 63;j >= 0;j--) {
			if ((i >= hardwareCursorInfo.cursorHeight) || (j >= hardwareCursorInfo.cursorWidth))
				rhdPtr->CursorImage[i * 64 + j] = 0;
			else
				rhdPtr->CursorImage[i * 64 + j] = rhdPtr->CursorImage[i * hardwareCursorInfo.cursorWidth + j];
			rhdPtr->CursorImage[i * 64 + j] = GammaCorrectARGB32(gTable, rhdPtr->CursorImage[i * 64 + j]);
		}
              }

This way it does apply the pad you mentioned.

Thanks again

I will update the topic when a couple of other problems are fixed.

Link to comment
Share on other sites

Glad that I can help. :)

 

Next I'd be interested in making it work in 64 bit mode. You mentioned maybe there's some bug in the atom bios code, right? Any more clues? I'll see if I can find something out here.

 

Great thanks to semantics! It works for me too.

After checking your fix, I found out that I made a mistake during reverse engineering ATI's driver. The code is actually something like this:

 

This way it does apply the pad you mentioned.

Thanks again

I will update the topic when a couple of other problems are fixed.

Link to comment
Share on other sites

Glad that I can help. ;)

 

Next I'd be interested in making it work in 64 bit mode. You mentioned maybe there's some bug in the atom bios code, right? Any more clues? I'll see if I can find something out here.

I just suspect the code in AtomBios folder may cause the failure for 64 bit. Is that code released by ATI? Debug this code is really difficult.

If you really figure out the fix for 64 bit, that will be a big plus to current project. I don't have much time available for the driver currently.

Link to comment
Share on other sites

I'm starting to suspect SL itself, I don't have a vanilla install,but the SnowOSX_Universal_10.6(432)GM_v3.5. I tried making my own USB installer(restoring the image to my thumb drive, installing chameleon, adding boot file from netkas and changing osinstall.mpkg to allow installation on mbr partition scheme) but it hangs on the colored spinning wheel right at the beginning.

 

Hmm. I forgot to mention that I'm running a vanilla install. I'm used EmpireEFI to install, then replaced it with MyHack after installation. I used a GUID disk, but after that moved the OS X partition to a MBR disk via Linux (mv -p). Not too sure if these matter though. We have the exact same graphics card.

Link to comment
Share on other sites

 Share

×
×
  • Create New...