Created attachment 19828 [details] Xorg.0.log Sometime after the radeonhd release 1.2.1 I got problems with the LCD-monitor going black for a second or two then everything appears fine for a random time ranging from few seconds to up to half a minute before going dark again. This is using DVI Using git bisect I found the commit which introduced this bug for my setup: ======== commit 2ea7cdd78a5ebc80754be2f1a4d0700d2b2dfb2d Author: Luc Verhaegen <libv@skynet.be> Date: Fri May 16 22:35:32 2008 +0200 R5xx TMDSA/LVTMA: fix flickering/dark monitors. * Coherent mode is always disabled per default in hardware, follow this strategy in our driver. * Fix the TMDSA macro control value for R600. ========= Reverting this fixed the issue and I have a very stable picture. Further narrowing down, with this PATCH all is well again. --- rhd_lvtma.c.ORIG 2008-10-23 18:34:30.000000000 +0200 +++ rhd_lvtma.c 2008-10-23 18:48:57.000000000 +0200 @@ -1308,7 +1308,7 @@ Output->Private = Private; Private->RunsDualLink = FALSE; - Private->Coherent = FALSE; + Private->Coherent = TRUE; } return Output; --- rhd_tmds.c.ORIG 2008-10-23 18:34:30.000000000 +0200 +++ rhd_tmds.c 2008-10-23 18:46:43.000000000 +0200 @@ -521,7 +521,7 @@ Private = xnfcalloc(sizeof(struct rhdTMDSPrivate), 1); Private->RunsDualLink = FALSE; - Private->Coherent = FALSE; + Private->Coherent = TRUE; Private->PowerState = RHD_POWER_UNKNOWN; Output->Private = Private; Card is an HD2400 AGP (sapphire) $ lspci -n | grep 1:00 01:00.0 0300: 1002:94c4 $ lspci | grep 1:00 01:00.0 VGA compatible controller: ATI Technologies Inc RV610LE [Radeon HD 2400 Series] Attached Xorg.0.log using above patch (i.e. the correctly working case).
I have observed the same problem using an onboard HD 3200 using HDMI video+audio into an LG TV (47LG70). The screen+audio blanks for a few seconds then returns. The frequency of occurrence seems to be related to what is being displayed on the screen. At one point it was blanking every 5 seconds with a particular firefox dialog visible. Once I closed the dialog, the frequency immediately reduced to once/minute.
ATI Radeon HW offers the two settings for digital outputs: coherent and non-coherent. We've asked - so far noone at ATI was able to explain what the difference is and how to find out which setting is correct for which monitor. We have therefore choosen a default setting which the user can change thru a property: xrandr --output <output_id> --set COHERENT 0/1. I should add a config file option where the user can set this and document this in the man page/README. This is a setting which the user has to determine for himself in the case where he sees issues. Even the fglrx driver offers this as an option to the user. This is really NOTABUG.
(In reply to comment #2) > I should add a config file option where the user can set this and document this > in the man page/README. How about leaving this open until such a config file option exists?
It does now. Closing.
Created attachment 20005 [details] Xorg log with coherent=true is crashing the server
Hmm, with git from this morning (Sunday morning 2008-11-2) and the new options coherent added to driver section in xorg: Section "Device" Identifier "ATI Graphics Adapter" Driver "radeonhd" Screen 0 Option "Coherent" "True" # Option "noRandR" # Option "ForceDPI" "100" # Option "UseConfiguredMonitor" "on" EndSection The driver is crashing (see also attached complete xorg.0.log) Backtrace: 0: /usr/bin/X(xf86SigHandler+0x7e) [0x80d8b5e] 1: [0xb7f4c400] 2: /usr/lib/xorg/modules/drivers//radeonhd_drv.so(RHDLVTMAInit+0xf5) [0xb7b51165] 3: /usr/lib/xorg/modules/drivers//radeonhd_drv.so(RHDConnectorsInit+0x641) [0xb7b3b6f1] 4: /usr/lib/xorg/modules/drivers//radeonhd_drv.so [0xb7b48d31] 5: /usr/bin/X(InitOutput+0x9b7) [0x80a2317] 6: /usr/bin/X(main+0x296) [0x806dbb6] 7: /lib/libc.so.6(__libc_start_main+0xe0) [0xb7d14390] 8: /usr/bin/X(FontFileCompleteXLFD+0x20d) [0x806d121] Fatal server error: Caught signal 11. Server aborting Commenting out the coherent option, the drivers is working but obviously the screen flickering is back again.
Fixed.
Sorry to keep re-opening this bug but still something is wrong, server isn't crashing anymore, but the coherent setting isn't applied either (monitor flickering). I see this in the Xorg.0.log: (**) RADEONHD(0): Option "COHERENT" "True" but (notice the 'incoherent') (--) RADEONHD(0): Attaching Output DAC B to Connector TV 7PIN_DIN (--) RADEONHD(0): Attaching Output DAC A to Connector VGA 1 (==) RADEONHD(0): Setting TMDS B to incoherent (--) RADEONHD(0): Attaching Output TMDS B to Connector DVI-I 1 (--) RADEONHD(0): Attaching Output DAC B to Connector DVI-I 1
There is the problem: Option "Coherent" "True" This option is a boolean list, try this: Option "Coherent" "all=on" (Note to me: Make True/False also work instead of On/Off, 1/0... :)
Yes, now it's working (**) RADEONHD(0): Option "COHERENT" "all=on" .. (**) RADEONHD(0): Setting TMDS B to coherent (--) RADEONHD(0): Attaching Output TMDS B to Connector DVI-I 1 and NO flickering :-) Thx.
Also there is now an man page entry describing that you can either do Option "Coherent" "all=on" or (in your case) Option "Coherent" "tmds_b=on"
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.