Jump to content

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


dong
 Share

900 posts in this topic

Recommended Posts

Holy {censored}! it worked. no QE/CI yet but this is so GREAT!

 

Here's the link of my screenshot... a freshly installed OSX86 from Kalyway 10.5.2 (sorry failed installing from iAtkos v7). Now trying SL from thumb drive.

 

ATI Mobility Radeon HD 3470 @ 1600x900

 

Hi dong,

 

Great job man! Really appreciated all your efforts and brains on this. :)

 

P.S.

I tried to restart as well without the -v seems to be fine. FYI.

Link to comment
Share on other sites

Watching this with great interest. This would be a great birthday present, as I just acquired this Dell Studio 17 and while I was initially so excited that it surprised me with a dedicated ATi graphics chip, I was then totally let down when I found out that OS X is nearly unusable with the graphics.

 

If I could just have native resolution, I would be very pleased. Watching with bated breath.

Link to comment
Share on other sites

Hi,

ATI Mobility Radeon HD3470 still not working?

 

ASUS F5SL with ATI Mobility Radeon HD3470 (PCIID: 1002:95C4)

osx version 10.5.8 iDeneb 1.4->upgrade to 10.5.8 vanilla (with ATY_Init.kext not present)

more details about configuration could be found here

 

applied RadeonHD.kext version "10/17/2009 update"

original ATIRadeonX2000.kext was not starting due to absence PCIID for HD3470 in it

rebooted, initially resolution hasn't changed and remained 1024x768, but when

lunched System Preference -> Display, discovered 4 available resolutions, selected right one 1280x1024 and it's working!

 

note: absence of ATY_Init.kext showed up no need for "-f" flag for each boot. going to re-verify with HD3650 also.

Link to comment
Share on other sites

work for me in 10.5 ATI HD3650 PCIe - iATKOS 10.5.7 Chameleon rc3 + PC EFI 10.3

All resulution- 1440x900x32

 

Not work -Snow 10.6.1

 

Dell Studio 1737

Intel 2.40 Ghz P8600

ICH9M/M

ATI RADEON HD3650 PCIe

Link to comment
Share on other sites

I have tried adding that kexts, but the resolution is not true. My laptop displays as 1280x800, but after I had added those kexts, my laptop displayed as 1280x1024, 1440x1050 or less resolution. How to repair this problem? My graphic card is ATI Mobility X1400.

Link to comment
Share on other sites

Hello, just tested the latest, and resolution is ok, remains the color issue.

I attached the RadeonDump.

 

According to my observation, the colors seem "shifted" (?):

- the red channel doesn't appear

- the blue part of the pixel is always turned on

- the green channel uses the red part of the pixels.

- the blue channel uses the green part of the pixels.

 

A bit like that :

enlightenmentm.th.jpg

 

the actual display channels	  |		 R   G   B
what it recieves				 |  (R)	G   B   1

 

Well, I'm pretty sure this doesn't help you, but I thought that a better knowledge of what is the problem could help you understand the cause.

 

If there's any other dump I can send you, just ask.

0x7284_RadeonDump.txt

Link to comment
Share on other sites

I have tried adding that kexts, but the resolution is not true. My laptop displays as 1280x800, but after I had added those kexts, my laptop displayed as 1280x1024, 1440x1050 or less resolution. How to repair this problem? My graphic card is ATI Mobility X1400.
It looks to me the driver failed to pick the native resolution from both your Atombios and EDID, but picked the one from my EDID. You can try to use your own EDID to replace mine.

P.S.

Could you edit your last post and remove the large quote of my first post? That will make other posts easy to read. Thanks.

Link to comment
Share on other sites

Thanks! It works on my on-board video card, a ATI HD 3100. The kext is loaded and I get the resolutions menu. Two issues I'll like to report:

 

1) Booting with -v doesn't work, it hangs.

2) As expected QE doesn't work. It's a RV610 chipset, so I tried adding my device ID in the info.plist (0x96111002), but I get garbage screen. Any ideas?

 

Thanks again man, it's really appreciated to get my card on system profile :P

post-480428-1256066354_thumb.png

Link to comment
Share on other sites

Excellent work dong! :(

I 've been using my Fujitsu Siemens Pi1536 laptop until now with an external monitor(1920x1080) using Atiinject and SwitchresX.

Now i removed Atiinject, installed Radeonhd kext, and laptop screen works now with 1280x800.

(External monitor no more)

I dont have any different resolutions listed, but this is not a problem.

Just one thing, mouse tears again :)

I wonder if it can be solved somehow. It was gone when using external monitor.

post-38872-1256078660_thumb.jpg

 

update: resolutions are now listed as well with 640x480, 800x600, 1024x768, 1280x800.

All work with mouse tear.

Link to comment
Share on other sites

According to my observation, the colors seem "shifted" (?):

- the red channel doesn't appear

- the blue part of the pixel is always turned on

- the green channel uses the red part of the pixels.

- the blue channel uses the green part of the pixels.

I totally agree with you after checking the picture. I now suspect it's related to the color depth. I saw on your xorg.log that your monitor has a depth of 24. The RadeonHD.kext instead set it to the same value as bitsperpixel, that is 32. Please test this kext: RadeonHD.kext.lebidou.zip to see if anything changed.

 

update: resolutions are now listed as well with 640x480, 800x600, 1024x768, 1280x800.

All work with mouse tear.

Your external monitor is using the ATI vanilla driver, that's why there is no mouse tearing. I'd like to remove the mouse tearing too, but someone need to tell us what causes this.
Link to comment
Share on other sites

Your external monitor is using the ATI vanilla driver, that's why there is no mouse tearing. I'd like to remove the mouse tearing too, but someone need to tell us what causes this.

 

The tearing manifests in relation with the overlay surfaces maybe.

Generally if there is some garbage, then something is clocked over usually.

Interesting thing i noticed, the laptop does not get hot as it gets on windows when Ati Powerplay is set to performance mode (the higher clock setting) so it should have to be running on energy saving mode.

In the sametime cinebench produces around the same test results on OS X. (That time the laptop gets hot as well)

I really miss Atitool for OS X. Would give important information for sure.

There is one similar clocking software for OS X, but it does not support Ati X1400, just some older gpus.

One more interesting thing. On OS X i cant choose refresh rate. N/A is there. On Windows there are two options, 59Hz and 60 Hz. I was always wondering why these two. 59 ??? Strange.

Link to comment
Share on other sites

Just to note, on my Dell Studio 1735 I get some graphical lines on various parts of the screen, but very small, like little line blips. Not very distracting, and it doesn't happen on every reboot. The second time I rebooted with this kext it had no artifacting at all. Mouse isn't garbled.

 

Can't wait to see if we can get anything else going! QE/CI would be great but I'm happy with at least native res.

Link to comment
Share on other sites

I totally agree with you after checking the picture. I now suspect it's related to the color depth. I saw on your xorg.log that your monitor has a depth of 24. The RadeonHD.kext instead set it to the same value as bitsperpixel, that is 32. Please test this kext: RadeonHD.kext.lebidou.zip to see if anything changed.

 

Just tested and no changes… The log says 1280x800x24bpp, so I suppose it is set.

 

I was thinking, you did a register dump utility in the past, didn't you ? How useful would it be to dump the PCI registers after booting with your driver, after booting with ATINDRV, and compare which registers are different ? Or maybe these registers have nothing to do with modesetting.

0x7284_RadeonDump_24bpp_.txt

Link to comment
Share on other sites

I was thinking, you did a register dump utility in the past, didn't you ? How useful would it be to dump the PCI registers after booting with your driver, after booting with ATINDRV, and compare which registers are different ? Or maybe these registers have nothing to do with modesetting.
You can give it a try. It's in Slice's topic "ATI Framebuffer development" and should work in both cases.
Link to comment
Share on other sites

Just finished the dump and diffs!

 

I couldn't dump all registers at once so I made separate files. I dumped :

-CRC Control

-CRTC1 and CRTC2

-DisplayOutput registers

-LookUpControl

-LVDSRegisters

-Primary Display Registers

-Secondary Display Registers

-VGA Registers

 

I commented some of the differences so you can find what it is about more easily.

The most interesting thing I found was in the Primary Display Registers : D1GRPH_CONTROL (0x6104) has a "Swap R and B" bit that's set by ATINDRV and not by RadeonHD. Just tested from your sources, it's not that

 

You will probably be interested in the Harware cursor registers (at the end of Primary Display). It surely won't solve my issue but maybe help you in implementing the feature in your driver.

Link to comment
Share on other sites

You won't believe that : I just made a try with ATIRadeonX1000.kext, just to test… And colors are correct exept for the mouse cursor, it's still blue.

 

I made screen capture and and everything is redish but the cursor, it appear normally.

 

And by the way, I was mistaken about D1GRPH_CONTROL, the R & B swap bit isn't on it's the Tiled/Linear Mode one. Tested with it on, no changes. Sorry.

 

EDIT: I'm just thinking out loud: could it be possible that the driver uses an RGBA pixel format while the hardware expect ARGB ?

Link to comment
Share on other sites

You won't believe that : I just made a try with ATIRadeonX1000.kext, just to test�€� And colors are correct exept for the mouse cursor, it's still blue.

I made screen capture and and everything is redish but the cursor, it appear normally.

EDIT: I'm just thinking out loud: could it be possible that the driver uses an RGBA pixel format while the hardware expect ARGB ?

Sounds interesting. I wonder what would happen if you try ATINDRV.kext without ATIRadeonX1000.kext? ARGB is the default pixel format for 32 bpp. All other cards don't have problem with this.
Link to comment
Share on other sites

Sounds interesting. I wonder what would happen if you try ATINDRV.kext without ATIRadeonX1000.kext? ARGB is the default pixel format for 32 bpp. All other cards don't have problem with this.

 

 

ATINDRV.kext works fine with correct colors with or without ATIRadeonX1000.kext.

And yes, I noticed that I was the only one with this issue…

Link to comment
Share on other sites

I was rummaging in my AtomBios dump, in the LVDS Info table more particularly, and I found that my LVDS_Misc value is 48, which means a 666RGB pixel format with Temporal Dithering and Gray Level 2.

If I'm right 666RGB is 18bpp, not 24 (which is for 888RGB). So maybe your first idea was the good one, but the color depth was still wrong.

However, the only mention of this pixel format is in atombios.h. So how comes the linux driver doesn't have color distortion (I tested it without DRI) ?

Link to comment
Share on other sites

 Share

×
×
  • Create New...