The second head of my dual-head setup doesn't work (i.e. doesn get any signal) if a DVI-D monitor is connected. It works correctly if an analog (CRT) screen is connected. The first head is a DVI-D monitor in both cases. The X log shows that the second head is correctly detected as a TMDS or CRT monitor, and does show any other errors afaics.
Created attachment 6768 [details] xorg.conf
Created attachment 6769 [details] Xlog if second head is CRT
Created attachment 6770 [details] Xlog if second head is digital TFT
Radeons only have one integrated TMDS transmitter. Dual DVI care are implemented via an external TMDS transmitter attached to the DVO port. The external transmitter is control via the i2c bus. The radeon currently does not have support for external TMDS encoders.
Sorry about the phenomenal bug spam, guys. Adding xorg-team@ to the QA contact so bugs don't get lost in future.
i think i've encounterd the same problem as described here. when i saw it i've searched for some info/tool..to find out what's happenning and i've found radeontool, and compared it's "regs" output between the radeon and the fglrx driver... the differences was: RADEON_CRTC2_GEN_CNTL / RADEON_CRTC2_CRT2_ON was off - when i've enabled the secondary head entered to clone mode with the same half part of my desktop as the other RADEON_DISP_OUTPUT_CNTL / RADEON_DISP_DAC_SOURCE_CRTC2 was on when i've switched it off, my primary head switched to it's "good" other part.. i've a r350, now working perfectly with: radeon/mergedfb so i've a solution, but it's "ugly" and i'm jey not sure 'why' this is a working solution...because according to radeon_regs.h...i've just switched off the second head's dac... ;)
i pulled up the current radeon_regs.h - and the mask bits are both set to the crtc2, that's why i should switch the first dac to the first source, and not leave both on the secondary while i've read the radeon_regs header...i've thinked about it...is it possible to switch the card to negate the whole framebuffer?
The DAC is only used for analog output. For the second DVI you need to initialize the TMDS controller attached to the DVO port (controlled via FP2 regs and i2c). to get it working you need to have the external TMDS chip initialized by either the bios or fglrx as there is not currently any code to init the external TMDS chip. Either crtc can drive any ouput as long as you set the routing bits properly.
*** Bug 10433 has been marked as a duplicate of this bug. ***
There's code to support external DVO chips in ati git, but YMMV as the gpio lines used for i2c tend to be pretty flakey.
I've just tried out version 6.7.195 (git of oct 9th), but still no luck. Is there any info I can provide or anything I can debug to help fixing this issue?
(In reply to comment #11) > I've just tried out version 6.7.195 (git of oct 9th), but still no luck. Is > there any info I can provide or anything I can debug to help fixing this issue? > Sorry, I forgot that x800 were ATOM bios based when I replied, so they won't work with the new code I added. Unfortunately, this won't work until we implement better ATOM bios support in the radeon driver.
*** Bug 10023 has been marked as a duplicate of this bug. ***
This now works with the atombios-support branch of the radeon driver.
Fixed in atombios-support branch of radeon driver.
I just tried the atombios branch of the driver, and I'm happy to report that it works perfectly. Thanks a lot Alex (and everyone else involved)!
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.