Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 249538 - x11-drivers/xf86-video-ati, linux 2.6.26, RV380 - DRI screen corruption
Summary: x11-drivers/xf86-video-ati, linux 2.6.26, RV380 - DRI screen corruption
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-12-01 22:02 UTC by Axel Dyks
Modified: 2008-12-04 17:28 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
screenshot that illustrates the problem (debris.png,15.79 KB, image/png)
2008-12-02 11:39 UTC, Axel Dyks
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Axel Dyks 2008-12-01 22:02:08 UTC
As soon as the graphics engine is under load, e. g. running glxgears,
I'm getting heavy pixel/screen corruption:

  white, green, blue, red, ... pixels and little squares
  scattered all over the desktop, mostly organized in
  horizontal line patterns.

This also happens when playing XVideo (using vlc) (less debris)
and even when simply moving windows around the desktop (sometimes).

Disabling DRI (Device section, Option "DRI" "off") solves
the problem, though this obviously comes with this cost of
highly degraded 3D performance. 

This occurs (on RV380 / X600) with current stable packaegs 
(xorg-x11/xorg-x11-7.2) as well as with latest ~x86
(xorg-x11/xorg-x11-7.4).

I'll try latest ati-drivers (closed source) to see, if I'm
able to reproduce the same strange effects.

BTW: Everything used to work perfectly until I've upgraded to latest
stable x86 package some time during the 1. week of November. So it's
a little hard to tell, which update might have broken DRI.
It's even possible that my (rather old) hardware is giving up ...

Cheers,
Axel
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2008-12-02 01:45:59 UTC
Please post your `emerge --info' too.
Comment 2 Axel Dyks 2008-12-02 03:39:55 UTC
Portage 2.1.4.5 (default-linux/x86/2007.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.26-gentoo-r3 i686)
=================================================================
System uname: 2.6.26-gentoo-r3 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz
Timestamp of tree: Mon, 01 Dec 2008 10:46:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p33
dev-lang/python:     2.5.2-r7
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.4.6-r1
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distcc distlocks metadata-transfer parallel-fetch sandbox sfperms unmerge-orphans userfetch"
GENTOO_MIRRORS="http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/"
LANG="en_US.UTF-8"
LINGUAS="en EN_US en_GB de de_DE nl es es_ES fr"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/home/portage/overlay"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa apache2 berkdb cairo cddb cdparanoia cdr cli cracklib crypt cups daap dbus dri dts dvb dvd dvdr dvdread eds emboss encode esd evo fam firefox flac fortran gdbm gif gnome gpm gstreamer gtk hal iconv ipv6 isdnlog jpeg kerberos ladspa ldap libsamplerate lirc logrotate mad midi mikmod mmx mp3 mpeg mudflap mysql ncurses nls nptl nptlonly ogg opengl openmp oss pam pcre pdf perl png pppd python qt3support quicktime readline reflection samba sasl sdl session snmp spell spl sse sse2 ssl svg tcpd theora tiff truetype unicode usb vorbis wavpack win32codecs wma x86 xinerama xml xorg xosd xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en EN_US en_GB de de_DE nl es es_ES fr" LIRC_DEVICES="devinput" USERLAND="GNU" VIDEO_CARDS="radeon fglrx"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 3 Axel Dyks 2008-12-02 03:49:06 UTC
Section "dri"
   Mode 0666
EndSection

Section "ServerFlags"
#    Option "NoTrapSignals"
#    Option "DontVTSwitch"
    Option "DontZap"
    Option "Dont Zoom"
#    Option "DisableVidModeExtension"
#    Option "AllowNonLocalXvidtune"
#    Option "DisableModInDev"
#    Option "AllowNonLocalModInDev"
EndSection

Section "InputDevice"
	Identifier	"Keyboard"
	Driver	"kbd"
	Option "AutoRepeat" "500 30"
	Option "XkbModel"	"pc102"
	Option "XkbLayout"	"de"
	Option "XkbVariant"  "nodeadkeys"
EndSection

Section "InputDevice"
	Identifier	"USBMouse"
	Driver	"mouse"
	Option "Device"      "/dev/input/mice"
	Option "Protocol"    "IMPS/2"
	Option "Emulate3Buttons" "off"
	Option "ZAxisMapping" "4 5"
EndSection

Section "Monitor"
	Identifier "SM144T-digital"
	HorizSync 30 - 81
	VertRefresh 56 - 75
EndSection

Section "Monitor"
	Identifier "SM144T-analog"
	HorizSync 30 - 81
	VertRefresh 56 - 75
EndSection

Section "Extensions"
	Option "Composite" "Disable"
EndSection

Section "Device"
Identifier  "RadeonPrimary"
	Driver      "radeon"
	Option	"monitor-DVI-0" "SM144T-digital"
	Option	"monitor-VGA-0" "SM144T-analog"
	Option	"BusType" "PCIE"
	BusId   "PCI:1:0:0"
	Option "DRI" "off"
	Option  "AccelMethod" "XAA"
	Option  "AccelDFS" "on"
	Option "Backingstore" "true"
	Option	"EnablePageFlip" "on"
	Option	"DynamicClocks" "off"
	Option	"ColorTiling" "on"
	Option  "DepthBits" "24"
EndSection

Section "Screen"
	Identifier  "PrimarySamsung"
	Device      "RadeonPrimary"
	Monitor     "SM144T-digital"
	DefaultDepth 24
	Subsection "Display"
        Depth       24
        Modes       "1920x1200"
	Virtual		1920 1200
        ViewPort    0 0
    EndSubsection
EndSection

Section "ServerLayout"
	Identifier  "MyScreen"
	Screen "PrimarySamsung" 0 0
	InputDevice "Keyboard" "CoreKeyboard"
	InputDevice "USBMouse" "CorePointer"
EndSection
Comment 4 Axel Dyks 2008-12-02 11:39:54 UTC
Created attachment 174066 [details]
screenshot that illustrates the problem
Comment 5 Axel Dyks 2008-12-02 12:14:55 UTC
Just verified that it also happens with latest "ati-drivers".
As soon as DRI/DRM is enabled, running "glxgears" produces the
same debris on my screen.
Comment 6 Jeroen Roovers (RETIRED) gentoo-dev 2008-12-03 17:10:58 UTC
(In reply to comment #5)
> Just verified that it also happens with latest "ati-drivers".
> As soon as DRI/DRM is enabled, running "glxgears" produces the
> same debris on my screen.

That's a bit of a problem - if neither of those drivers causes this problem (because the problem occurs with both), then what _is_ causing it?
Comment 7 Axel Dyks 2008-12-03 17:29:10 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > Just verified that it also happens with latest "ati-drivers".
> > As soon as DRI/DRM is enabled, running "glxgears" produces the
> > same debris on my screen.
> 
> That's a bit of a problem - if neither of those drivers causes this problem
> (because the problem occurs with both), then what _is_ causing it?

Jepp. I'm getting the impression that it is a hardware problem.
which is only triggered when pumping lots of data to the card.

If not, i. e. there's a general problem when doing "drm" either
by using linux-kernel modules (drm.ko + radeon.ko) or by using
the ati-drivers module (fglrx.ko), there should be someone
else having a similar problem.

So until we get a "same here" comment on the bug, I'll go with
the "hardware problem" theory. Don't know, if this implies
"close the bug".

Thanks
Axel
Comment 8 Jeroen Roovers (RETIRED) gentoo-dev 2008-12-04 05:08:05 UTC
Well, the normal path would be to try *anything* to fix it - whether it be a new kernel version or an old one or something else entirely - reopen the bug when you figure it out.
Comment 9 Axel Dyks 2008-12-04 16:23:02 UTC
(In reply to comment #8)
After trying a lot of different kernels (2.6.20..22..24..26 ..27)
without success (problem persist) I suddenly remembered at tool
named "rovclock".

When I run "rovclock -i" immediately after X comes up (with dri enabled) I get
-----------------------------------------------
Radeon overclock 0.6e by Hasw (hasw@hasw.net)

Found ATI card on 01:00, device id: 0x3e50
I/O base address: 0x4000
Video BIOS shadow found @ 0xc0000
Reference clock from BIOS: 27.0 MHz
Memory size: 131072 kB
Memory channels: 1, CD,CH only: 0
tRcdRD:   5
tRcdWR:   2
tRP:      5
tRAS:     9
tRRD:     3
tR2W-CL:  3
tWR:      3
tW2R:     2
tW2Rsb:   1
tR2R:     2
tRFC:     17
tWL(0.5): 2
tCAS:     4
tCMD:     0
tSTR:     1
XTAL: 27.0 MHz, RefDiv: 2

Core: 445.50 MHz, Mem: 351.0 MHz
-----------------------------------------------

The funny thing is that "rovlock -c 445 -m 300", i. e. slightly
reducing the memory access speed, solves the problem!

:-)
Comment 10 Axel Dyks 2008-12-04 16:45:55 UTC
I've added 

  /usr/sbin/rovlock -c 445 -m 300

to /etc/X11/gdm/Init/Default

Tata! :-)
Comment 11 Axel Dyks 2008-12-04 17:28:11 UTC
BTW: Looking up the exact ThinkCentre model (842229G) on ibm/lenovo's web site
reveals that my RV380 card must be an "Radeon X600 Pro" (and not an XT) which 
actually means that "core clock" should be 400 MHz and "memory clock" should
be 300 MHz.

Now, which part of my system (kernel, X server/driver) initializes the card
to use CC=445 / MC=350?