[RV730] xorg-edgers: Mist of artifacts in highlight color over menus and buttons

Bug #425303 reported by marmuta
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
mesa (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: libgl1-mesa-dri

Moving the mouse over any pull down or context menu menu leaves a mist of artifacts behind. The artifacts are 16 pixel wide horizontal lines in the color the menu selection. Moving the mouse over them clears them or creates new ones of varying density. This only happens with compiz, not without compositing.

Hovering over certain buttons, selecting text or drawing a rectangular selection in nautilus leave similar patterns of 16px wide lines behind.

Steps to reproduce:
a) menus (screenshot 1)
- open Ubuntu Application menu
- run the mouse over some items without clicking

b) buttons (screenshot 2)
- run gnome-calculator
- hover the mouse over some buttons without clicking

c) nautilus selection (screenshot 3)
- switch file browser to icon view
- drag to start rectangular selection
- move erratically with left button pressed

lsb_release -rd
Description: Ubuntu karmic (development branch)
Release: 9.10

packages from xorg-edgers and xorg-edger/radeon:
xserver-xorg-video-ati
   1:6.12.99+git20090902.794ae743-0ubuntu0tormod
xserver-xorg-video-radeon
   1:6.12.99+git20090902.794ae743-0ubuntu0tormod
libgl1-mesa-dri
   7.6.0+git20090906.97787317-0ubuntu0tormod
drm-modules-source
   2.4.3+git20090831+r6xx-r7xx-3d.8e297c0a-0ubuntu0tormod4
xserver-xorg-core
   2:1.6.3+git20090805+server-1.6-branch.f274e595-0ubuntu0sarvatt

linux-image-generic
   2.6.31.9.20

lspci -nn | grep VGA
01:00.0 VGA compatible controller [0300]: ATI Technologies Inc RV730XT [Radeon HD 4670] [1002:9490]

PS: I would have used ubuntu-bug but it complained because of non standard packages.

Tags: karmic
Revision history for this message
marmuta (marmuta) wrote :
Revision history for this message
marmuta (marmuta) wrote :
Revision history for this message
marmuta (marmuta) wrote :
Revision history for this message
marmuta (marmuta) wrote :
Revision history for this message
marmuta (marmuta) wrote :
Revision history for this message
marmuta (marmuta) wrote :

This bug seems fixed with fresh git master drm/mesa/glx and drm-next kernel. but only with KMS/DRI2 enabled. The corruption is still there without mode setting.

Also, xorg-edgers/radeon doesn't work for for me anymore. Everything GL froze in drmCommandWrite() since a few day ago. Perhaps an outdated drm-modules-source 2.4.3+git20090831+r6xx-r7xx-3d.8e297c0a-0ubuntu0tormod4?

Revision history for this message
Tormod Volden (tormodvolden) wrote :

Yes, the drm-modules-source might be outdated. I will update them soon, since I see that agd5f's tree has got some updates. But it is probably better to use a kernel with drm-next. I have no time to look at a ppa kernel, but I have asked the kernel-team about it.

Revision history for this message
Tormod Volden (tormodvolden) wrote :

I have updated the drm-modules-source in the radeon PPA.

Revision history for this message
marmuta (marmuta) wrote :

Thank you, Tormod! The app-freezes with the PPA are gone, only for some reason the dri device isn't created automatically. I have to mknod /dev/dri/card0 c 226 0 && chmod 666 /dev/dri/card0. I probably brought this onto myself though. Still investigating.

Revision history for this message
Tormod Volden (tormodvolden) wrote :

The dri device should be created by udev (/lib/udev/rules.d/50-udev-default.rules). Try "grep dri/ /var/log/udev" which should list:
DEVNAME=dri/card0
DEVNAME=/dev/dri/card0

Revision history for this message
marmuta (marmuta) wrote :

This is odd, grep dri/ /var/log lists nothing because the device is created as /dev/card0 instead of /dev/dri/card0

I'll attach the output of
sudo udevadm test /class/drm/card0

Is udev supposed to add /dri to the path or should DEVNAME below be dri/card0?
cat /sys/class/drm/card0/uevent
MAJOR=226
MINOR=0
DEVNAME=card0

Anyway, I've added
SUBSYSTEM=="drm", SYMLINK{unique}+="dri/$kernel" to some rules file
and now I have the device /dev/card0 and a symlink to /dev/dri/card0 and dri works well. Really well actually, except for this little bug.

Revision history for this message
Tormod Volden (tormodvolden) wrote :

Great debugging there, marmuta. On my system I see this in the udevadm output:
udev_event_execute_rules: no node name set, will use kernel supplied name 'dri/card0'
while you get:
udev_event_execute_rules: no node name set, will use kernel supplied name 'card0'

I know the old Jaunty udev rules would add "dri/" explicitly.

This is something that has changed in the main kernel (and in the udev rules) but not yet in the drm-modules-source.

Revision history for this message
marmuta (marmuta) wrote :

> I know the old Jaunty udev rules would add "dri/" explicitly.
>
> This is something that has changed in the main kernel (and in the udev
> rules) but not yet in the drm-modules-source.
That explains it, thanks Tormod.
I've dug up the Jaunty udev rule. It works better than my hack, with only the device being created at the right location.

KERNEL=="card[0-9]*", NAME="dri/%k"

marmuta (marmuta)
Changed in mesa (Ubuntu):
status: New → Fix Released
Revision history for this message
marmuta (marmuta) wrote :

This seems fixed in lucid, didn't find any artifacts there.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.