Hi all,

I have several problems with the ATI Radeon drivers in XFree86 on my Mac G4 Windtunnel (dual 1.4GHz).

Summary:
1) CRT + TMDS dual head configuration doesn't work
2) In all configurations colors are completely wrong
3) closing X blanks all monitors

I have tested following versions of XFree86:
Debian sid "official" 4.2.1
Michel Daenzer's 4.2.1 DRI build
Debian "inofficial" 4.3.0
latest CVS build (by myself) as of yesterday (4.3.99.5)

The first two worked even worse (no image at all), so in the following I'll refer to the later two which produce exactly the same results.

Problem 1)
I have a TMDS flat panel (DVI-D) on the DVI port of the card and an analog flat panel on the ADC port (via ADC2VGA cable). Both panels get correctly
detected (see attached log file), but the analog one gets no signal after X is started.

Option "MonitorLayout" "CRT, TMDS" doesn't help (nothing really changes, since both monitors get correctly detected even wihtout this). I tried all tricks I could think of, but the analog one (on the ADC port) gets no signal (even after X closes).

Funny enough, using a DVI2VGA adapter and analog input of the *digital* panel causes both panels to work - i.e. changing the mode of the *panel that works* causes the other one to start working as well. This means that "CRT, CRT" combination works. It is really annoying since I have a digital panel and I don't want to run it in analog mode which sucks.

Problem 2)
No matter what combination (dual or single head) the colors are always wrong. This is independent of the depth used (every time differently "wrong" colors of course).

I analyzed it for the 24-bit mode using the digital panel. I wrote a small proggy that writes directly to the frame buffer and the sequence to set RGB colors (each most significant 4 bit) is 0x00G0RB00 (beware, Macs are big-endian), that is 0x00f00000 is fully saturated green, 0x0000f000 fully saturated red etc. Since the least significant 4 bits are hard to distinguish visually I can't tell for sure but it looks like they are located at 0xNN0N0000. At any rate the lower 4 bits and higher 4 bits are split.

Problem 3)
Shutting down X blanks both screens - i.e. the frame buffer is not correctly restored. This is somewhat painful since after closing X you can access the
box via ssh only.

Other relevant info:
kernel is 2.4.20-ben10 (the devel versions crash), frame buffer works only with "video=ofonly".
The system is debian "sid" (up-to-date). The CVS version of XFree86 was compiled using gcc 3.2 on the same machine.

I don't know who's working on the radeon driver, but any help would be appreciated. I'd be delighted to help to track all this further down if possible ...

Cheers,
Simon

Attachment: XF86Config-4
Description: Binary data


Attachment: x-log
Description: Binary data

Reply via email to