dodgy graphics on 11.4 with Radeon R300

Just upgraded a desktop to openSUSE 11.4 with KDE, and I’m encountering various graphical problems. This machine’s been running SUSE versions since 10.0 on similar hardware with few major issues, and I did the ‘upgrade’ by reinstalling the root partition and keeping the /home partition intact.

It has a Radeon 9600 AGP card, which goes under the R300 and RV350AP monikers, and uses the radeon driver (too old for the proprietary ATI driver - deprecated). With the new KMS, it boots up fine under the monitor’s correct resolution of 1440x900, though occasionally and randomly then drops to 1024x768 at the login screen. On occasions it will then arrive at the desktop under this lower resolution, other times it corrects itself before getting there.

On starting KDE, the taskbar cycles through various different settings (composited / non-composited) and colours with erroneous shadows. I’ve tried disabling desktop effects which at least resolves that particular issue. More troublesome is that certain actions result in a garbled display from which it is almost impossible to recover without guessing various keystrokes to cause a logout. Two examples are when running the regular (non-OpenGL) KDE slide show screen saver, when certain transformations corrupt the entire screen, and when opening the Tools -> Options dialog in LibreOffice, though strangely this only causes a problem under one user account and not another.

Running dmesg, I note it is being littered with:

[drm:radeon_vga_detect] *ERROR* VGA-1: probed a monitor but no|invalid EDID

yet I have just the one VGA monitor which is VGA-0, and set as such under KDE. Not sure if that’s related or a separate issue.

I tried adding ‘nomodeset’ at boot, but it brings me to a console login and after entering ‘startx’ I get:

xauth: file /home/[user]/.serverauth.2891 does not exist

Fatal server error:
Cannot move old log file "/var/log/Xorg.0.log" to "/var/log/Xorg.0.log.old"

xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error
-----------------
xinit failed. /usr/bin/Xorg is not setuid, maybe that's the reason?
If so either use a display manager (strongly recommended) or adjust /etc/permissions.local

With ‘startkde’ I get:

$DISPLAY is not set or cannot connect to the X server

In 50-device.conf I tried uncommenting the line ‘Driver “radeon”’ and modified the line
Option “monitor-VGA-0” “Default Monitor”
(not sure if that’s the correct way to do it), anyway that achieves nothing.

Booting in failsafe mode gets me into KDE but with other weirdness and problems using the desktop. I don’t know if KMS is ultimately the culprit or there’s some other obvious problem, but this is what I’m left with after a ‘fresh’ installation (despite the /home partition still being kept from openSUSE 11.3). It’s not my PC so I need to leave it in a usable state knowing these corruptions aren’t going to occur, and I leave the country next week. Help!

Okay looks like I’m going it alone here, but I’m attaching my Xorg.0.log.old file on suse paste if anybody can help out:

SUSE Paste

I just booted with nomodeset but again was brought to a console login, and I couldn’t startkde or startx under a user. The attached file comes from trying startx as root. Though I know nothing about how these things work, I’m intrigued to note that in the section ‘Supported established timings’ the default monitor resolution of 1440x900 isn’t shown, though it does appear in other sections and is automatically set. I’ve been happily running under that resolution on openSUSE 10/11.x since I bought the monitor a few years ago, but I wonder if the change to KMS causes issues.

I’m in a rush to find a solution so I’m going to try the 2.6.38 kernel from Kernel:Stable and see if that changes anything.

Had all kinds of issues with it seeing my monitors as well… in order to get it to work

I needed my own xorg.conf config and even then I’m still getting random freezes where the graphics and keyboard input lock up (all though I can still move the mouse and ssh into the desktop.)

If it helps here is my xorg.conf This sets up two monitors. default video output device names didn’t match what was actually in my system. use xrandr to show output devices (I think that’s what I used) glxinfo is also somehat usefull.

Section “ServerLayout”
identifier “default”
screen 0 “screen0” 0 0
Endsection

Section “Monitor”
Identifier “Monitor0”

Preferred resolution for the monitor

Option “PreferredMode” “1900x1200”
Option “Primary” “True”
EndSection

Section “Monitor”
Identifier “Monitor1”
Option “PreferredMode” “1900x1200”
Option “RightOf” “Monitor0”
Option “Primary” “False”
EndSection

Section “Device”
Identifier “Device0”
Driver “radeon”
Option “AccelMethod” “EXA”
# AccelDFS is enabled by default on PCI-E cards, but not on AGP cards.
Option “AccelDFS” “True”
#assigns the output DVI-I-0 to Monitor0
Option “monitor-DVI-0” “Monitor0”
#assigns the output DVI-I-1 to Monitor1
Option “monitor-DVI-1” “Monitor1”
EndSection

Section “Screen”
Identifier “screen0”
Device “Device0”
Monitor “Monitor0”
DefaultDepth 24
SubSection “Display”
Depth 24
Modes “1900x1200”
# See the paragraph on gentoo-wiki for calculating the virtual screen resolution.
# In this example, X == 1280+1280 and Y == 1024
Virtual 3600 1200
EndSubSection
EndSection

Something to help 3d acceleration freezes from the form. Uncomment to try.

#Section “DRI”

Mode 0666

#EndSection

Is there anything here in post#4 that might help:
Upgrade Legacy VGA with (less) legacy VGA

I don’t have this PC anymore, so other than refer you to that old post, there is not much more help I can provide.

Thanks for the advice. Unfortunately I’m not getting anywhere and I suspect there’s a more fundamental problem at play here, because when adding ‘nomodeset’ at boot I simply cannot startkde or startx with or without an xorg.conf file, or with modifications to the 50-device.conf file, as either user or root. Errors are still the same as in my original post.

I tried modifying the xorg.conf file by micajc, above, and then tried Xorg -configure and blended bits of the two, but would this file be picked up at all if I’m not using ‘nomodeset’? I could try the additional lines in 50-device.conf in the post referenced by oldcpu, but I’m not clear if I’m wasting my time trying all these things out until I can actually get ‘nomodeset’ to work in the first place?

I’ve also tried out the 2.6.38 kernel, and although it appears it might have remedied the taskbar weirdness, it doesn’t solve the other issues. I had wondered about updating the Xorg drivers but it seems 7.10 (7.6) is still the latest available, so I don’t know if there’s any point going down that road. I also verified that these corruptions occur running under root, so it’s not a conflict with old user files on the home partition because the root partition is freshly reinstalled.

Note that ‘nomodeset’ on the old hardware I referenced DID NOT WORK without the edits that I applied.

Edit: I also discovered that Option “AGPSize” “16” worked better for me than Option “AGPSize” “32” or Option “AGPSize” “64” but your mileage may vary (if it even works at all).

A fix for this issue seems to have finally arrived in the online update for 11.4, related to this bug:
https://bugzilla.novell.com/show_bug.cgi?id=678264

Unfortunately it’s come too late for me to sort out the machine it was affecting in another country, but I spotted the issue today in the online update notes on my own laptop. The screenshot linked from the first post in that bug report matches identically what I was encountering.

Edit: note that in not having that machine at hand I cannot therefore actually confirm that this update works or brings about no other errors; will be later in the year before I can do that.