Jump to content

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


dong
 Share

900 posts in this topic

Recommended Posts

Just wanted to add my experience with Dong's driver, it works well for me!

 

I have a Toshiba U500 with the ATI Radeon Mobility 4570 in it. The native resolution on the panel is 1280x800 and it was previously being run at 1024x768. If I use the ATIRadeonX2000.kext then the screen is unreadable and goes white with some pixelation. If I JUST use dong's RadeonHD.kext file and change the plist so that the hardware cursor is set to false (I get the corruption without setting this to false), then everything works perfectly!

 

I still have some more tweaking to get OSX 10.6 to like this laptop, but it's looking promising so far..

 

Thanks again for your work on this Dong!!! :D Hopefully now that there's a working frame buffer for the Mobility 4500 series (M92 R710 Family), someone can port a full on driver that we can get QE/CI working with these things.

 

 

Wow this procedure works for my ATI Radeon Mobility 4650 too, thanks a lot ;):) :) ! Now i get 1366x768, even if QE/CI is not working :(

Link to comment
Share on other sites

This framebuffer is great work. More than I could ever that's for sure. At least it gave me more resolution options than the "one" I had.

 

I'm using an ATI Radeon 2400 HD (PCIe). The thing works great in 10.5.8 using a custom driver built by Netkas but terriblly on Snow Leopard. As one person said above...SL is just no fun without QE/CI working.

 

What did Apple do to SL to cause these cards to not work well?

 

I think Snow Leopard put quite a damper on many testers this time around. The next version of the OS they release may stamp it out for good.

 

:rolleyes:

Link to comment
Share on other sites

Ok this works for me finally so this is for all users of x1200 i think. I now get native resolution of 1280x800

My device id is 791f and revision 0000 according to system profiler.

 

I did not have to edit my edid your mileage may vary.

I installed the latest 12/18 updated RadeonHD kext and added my device id in the ati 1000 kext. I had to edit the plist in radeon a couple times. Had to change backlight option to false had to change cursor hardware option to false and had to change gamma option to false. I dont know why that made it work I dont claim to understand this I just tried until it worked. Mine is on amd and I cannot testify to the intel version. Following previous guides this was done on Ideneb without acpi fix. After editing installing kext I repaired permissions and rebooted and it finally work without kernel panics or anything.

Link to comment
Share on other sites

Hi Dong! Great Work!

 

Would it be too much trouble to include sapphire X1950xt (dev id 0x7244) on supported cards?

 

EDIT:

 

tried tonight and got this form system log:

Jan 7 00:59:15 Diogo-Andrades-Mac-Pro com.apple.kextcache[120]: /System/Library/Extensions/RadeonHD.kext doesn't support architecture x86_64; omitting from prelinked kernel.

 

tried to boot with arch=i386 and system hanged after recognizing the ethernet MAC address, same behavior when I tried other injectors in the past.

Link to comment
Share on other sites

Dong, I really appreciate your work on this and this question is not meant a rush or even a request or anything just wondering.

With the amazing work that has now happened is there ever a hope for QE/CE or is this project soley to get resolution and a proper kext loaded for our cards and is it even possible to get it working.

Again thanks a ton for your work and if you need any testing of anything on ati cards I have a x1200 and a Radeon 4870 although the later probably wont help. And also a HD3200 integrated chipset as well.

Link to comment
Share on other sites

I installed the latest 12/18 updated RadeonHD kext and added my device id in the ati 1000 kext. I had to edit the plist in radeon a couple times. Had to change backlight option to false had to change cursor hardware option to false and had to change gamma option to false. I dont know why that made it work I dont claim to understand this I just tried until it worked. Mine is on amd and I cannot testify to the intel version. Following previous guides this was done on Ideneb without acpi fix. After editing installing kext I repaired permissions and rebooted and it finally work without kernel panics or anything.

 

Did you make QE/CI work by editing the 1000 kext? I have a x1250, and I think it worls the same way as the x1200. Did anyone managed to get QE/Ci working with x12xx series?

 

I would be very happy if someone could help me!;)

 

Regards Barki

Link to comment
Share on other sites

With the amazing work that has now happened is there ever a hope for QE/CE or is this project soley to get resolution and a proper kext loaded for our cards and is it even possible to get it working.

Again thanks a ton for your work and if you need any testing of anything on ati cards I have a x1200 and a Radeon 4870 although the later probably wont help. And also a HD3200 integrated chipset as well.

 

I have no much knowledge than others about the QE/CI stuff. For x1300 series card, it only needs add the device ID to ATIRadeonX1000.kext/Contents/Info.plist to enable QE/CI. This is the case for my x1400 mobility. My driver is not doing anything directly related to QE/CI functions. There is a possibility for cards that use ATIRadeonX2000.kext for QE/CI if we figure out the needed support from our framebuffer driver which is currently missing. But that chance is not big.

Link to comment
Share on other sites

I have no much knowledge than others about the QE/CI stuff. For x1300 series card, it only needs add the device ID to ATIRadeonX1000.kext/Contents/Info.plist to enable QE/CI. This is the case for my x1400 mobility. My driver is not doing anything directly related to QE/CI functions. There is a possibility for cards that use ATIRadeonX2000.kext for QE/CI if we figure out the needed support from our framebuffer driver which is currently missing. But that chance is not big.

 

i understand u but try and figure out the problem at least , try patching ATIRadeonX2000.kext and we'll test it for u thx for everything dong :wacko:

Link to comment
Share on other sites

Glad to see you chime in Dong, hope the holidays and new year were good for you!

 

I've been testing out 10.6.2 to see how it behaves as it has a whole list of new ATI drivers in there, including one for my Mobility 4570... Or at least that's how it would seem as the ATI4500Controller.kext has only my ID and one other listed in it, the desktop 4550 card.

 

I'm getting my information for the chipset used and IDs from here: http://www.projectosx.com/forum/index.php?...p;mode=threaded (Lot of good info there about all ATI cards)

 

Anyway, if I tried to boot with the ATI kexts in the extensions folder it would just hang while booting and never make it to the desktop no matter what I did. So I started booting in single user mode and trying different combos of the supplied 10.6.2 kexts and Dong's RadeonHD.kext file. No matter how I mixed them up, the only time I could get a desktop was removing ALL of the new 10.6.2 kexts and only using the RadeonHD.kext file.

 

Dong, really hoping you'll take a look at this to see if your framebuffer can be used by these drivers. They look like they all use the same ATISupport.kext as their framebuffer and I wouldn't think it'd be a huge obstacle to get those drivers to look at your framebuffer. I could be wrong here, but it just seems like these cards working is really close...

 

Thanks again for your help!

Link to comment
Share on other sites

Glad to see you chime in Dong, hope the holidays and new year were good for you!

 

I've been testing out 10.6.2 to see how it behaves as it has a whole list of new ATI drivers in there, including one for my Mobility 4570... Or at least that's how it would seem as the ATI4500Controller.kext has only my ID and one other listed in it, the desktop 4550 card.

 

.....

 

Dong, really hoping you'll take a look at this to see if your framebuffer can be used by these drivers. They look like they all use the same ATISupport.kext as their framebuffer and I wouldn't think it'd be a huge obstacle to get those drivers to look at your framebuffer. I could be wrong here, but it just seems like these cards working is really close...

 

ATI4500Controller.kext is part of the ATI framebuffer which can't be used together with RadeonHD which is also a framebuffer. If your device id is in there, it's just possible you could get it to work somehow, but don't hold your breath - at this stage I think Apple deliberately stop the ATI framebuffer working with mobility cards.

Unfortunately the ATI card controllers can never be made to work with RadeonHD as it stands because it exposes completely different functionality. If Dong finds the time to refactor RadeonHD as a subclass of IOFramebuffer then maybe it could happen, but the ATI IOFramebuffer subclass keeps a reference to the controller and makes calls into it so that's pretty unlikely too.

Link to comment
Share on other sites

Glad to see you chime in Dong, hope the holidays and new year were good for you!

 

I've been testing out 10.6.2 to see how it behaves as it has a whole list of new ATI drivers in there, including one for my Mobility 4570... Or at least that's how it would seem as the ATI4500Controller.kext has only my ID and one other listed in it, the desktop 4550 card.

 

I'm getting my information for the chipset used and IDs from here: http://www.projectosx.com/forum/index.php?...p;mode=threaded (Lot of good info there about all ATI cards)

 

Anyway, if I tried to boot with the ATI kexts in the extensions folder it would just hang while booting and never make it to the desktop no matter what I did. So I started booting in single user mode and trying different combos of the supplied 10.6.2 kexts and Dong's RadeonHD.kext file. No matter how I mixed them up, the only time I could get a desktop was removing ALL of the new 10.6.2 kexts and only using the RadeonHD.kext file.

 

Dong, really hoping you'll take a look at this to see if your framebuffer can be used by these drivers. They look like they all use the same ATISupport.kext as their framebuffer and I wouldn't think it'd be a huge obstacle to get those drivers to look at your framebuffer. I could be wrong here, but it just seems like these cards working is really close...

 

Thanks again for your help!

 

well ur problem is weird to me i have 4530 mobility and it works even if i have atix2000 something but the thing is my monitor goes blank and i still hear my startup sound and i can manage to turn it off using the power button of my laptop one click and then enter twice to confirm yes

so as i said i have 1600x900x32 resolution but our problem is @60 so no qe but if someone manages to patch the atix2000 then we could have qe someone asks netkas or dong try ur best on this one

Link to comment
Share on other sites

well ur problem is weird to me i have 4530 mobility and it works even if i have atix2000 something but the thing is my monitor goes blank and i still hear my startup sound and i can manage to turn it off using the power button of my laptop one click and then enter twice to confirm yes

so as i said i have 1600x900x32 resolution but our problem is @60 so no qe but if someone manages to patch the atix2000 then we could have qe someone asks netkas or dong try ur best on this one

 

You might be lucky and get QE/CI + resolution on an external monitor using the ATI drivers.

 

It's not a matter of patching X2000 to work with Dong's FB, - X2000 makes calls into the ATI FB that are yet to be implemented.

Link to comment
Share on other sites

You might be lucky and get QE/CI + resolution on an external monitor using the ATI drivers.

 

It's not a matter of patching X2000 to work with Dong's FB, - X2000 makes calls into the ATI FB that are yet to be implemented.

 

hmm i thought about it before but the thing is if i want to use my laptop y would i need an external monitor but i will test it to make sure if it works or not ill try it with hdmi and vga i have 2 monitors ..

 

edit:just tried it my hd 32" gone crazy weird colors i cant see a thing and like i said i need to work on my laptop not on external display ...

Link to comment
Share on other sites

hello to all :D just tried this on my ati mobility 3470 (Acer 5920G) and it works like a charm..just installed it with kexthelper, rebooted and now i can change my resolution :P...my thanks to dong for such a wonderfull job ;)

 

by the way, i enabled Quartz GL using OSXTools option.. I dont know if it is actualy working, but it apears enabled in system profiler....

 

Im very happy with this...thank you very much...

 

LONG LIVE DONG :)

Link to comment
Share on other sites

I have no much knowledge than others about the QE/CI stuff. For x1300 series card, it only needs add the device ID to ATIRadeonX1000.kext/Contents/Info.plist to enable QE/CI. This is the case for my x1400 mobility. My driver is not doing anything directly related to QE/CI functions. There is a possibility for cards that use ATIRadeonX2000.kext for QE/CI if we figure out the needed support from our framebuffer driver which is currently missing. But that chance is not big.

 

 

Ok so now I have a weird result. I went over a bunch of things since you said just adding device id enabled yours. I checked and I incorrectly entered mine wrong but for some reason fixed resolution. My true device id is x791f and vendor id of 1002. SO if i place that in the ati1000kext i get kernel panics and the restart loop. But if i incorrectly place ox791f0000 in the plist of that kext, I boot with correct resolution and I cannot figure out as to why. Any ideas to why the incorrect id adds resolution but no qe/ci and the correct info just wont boot? I may need to go to another thread and post this question at this point but I figured I would give this a shot first

Link to comment
Share on other sites

Ok so now I have a weird result. I went over a bunch of things since you said just adding device id enabled yours. I checked and I incorrectly entered mine wrong but for some reason fixed resolution. My true device id is x791f and vendor id of 1002. SO if i place that in the ati1000kext i get kernel panics and the restart loop. But if i incorrectly place ox791f0000 in the plist of that kext, I boot with correct resolution and I cannot figure out as to why. Any ideas to why the incorrect id adds resolution but no qe/ci and the correct info just wont boot? I may need to go to another thread and post this question at this point but I figured I would give this a shot first

 

lol simply cause then ur x1000 wont load and the atiraden loads ... really we need a noob thread and a testing thread and prof thread not all in one xd

Link to comment
Share on other sites

Why is this being done based on xorg RadeonHD, instead of the xorg Radeon driver? The Radeon supports "Radeon 7000 to Radeon HD 4890", and actually in many regards does better than the HD drivers for those chipsets that overlap.

 

And if this were using the Radeon source, it would become a full blown Radeon framebuffer, replacing all the legacy hacks/tricks people have to do for any Radeon, and being a functional replacement for Callisto.

Link to comment
Share on other sites

lol simply cause then ur x1000 wont load and the atiraden loads ... really we need a noob thread and a testing thread and prof thread not all in one xd

 

 

Ok....... I guess I will go search the noob thread, or start one, lord knows since I'm a noob I didnt do any research else where, wait I did and I thought I may find best answer here, and I guess I did. Thanks

Link to comment
Share on other sites

Why is this being done based on xorg RadeonHD, instead of the xorg Radeon driver? The Radeon supports "Radeon 7000 to Radeon HD 4890", and actually in many regards does better than the HD drivers for those chipsets that overlap.

 

And if this were using the Radeon source, it would become a full blown Radeon framebuffer, replacing all the legacy hacks/tricks people have to do for any Radeon, and being a functional replacement for Callisto.

It happened that I knew xorg RadeonHD earlier than xorg Radeon. And initially I only want to make my X1400 mobility working better, which is already covered by RadeonHD. Later on, I did give the Radeon source code a roughly reading. It looks to me that Radeon has more contents depend heavily on other linux modules. This can make it hard to port to OSX. I can be wrong, further reading will be needed to clarify this.
Link to comment
Share on other sites

 Share

×
×
  • Create New...