There’s no place like ::1

Solving 2D Rendering Problems on an ATI X1600

| Comments

My current laptop has a beautiful piece of crap of an ATI Mobility Radeon X1600. At first I installed Ubuntu 8.04 on it and immediately switched to the proprietary ATI driver (to get more features and better support for multi-head).

However, the display always seemed sluggish.. I never use 3D or Composite, it all seemed related to 2D rendering. For instance, when I switched workspaces I often had to wait 10 seconds for windows to be redrawn.

Still, I managed to work like this for a while. One day however, I decided to try the open source drivers (it seems they have initial support for the R500 chip on this graphics board).

The good news is that is supports multi-head profiles far better than the proprietary driver (XRandR 1.2 FTW!). Still, the 2D sucked, got no 3D nor XVideo overlay…

I even thought “oh this must be an Ubuntu thing”… At the beginning of this week I managed to install Debian Unstable on this laptop, but had the same problems using the open source “radeon” driver….

On a desperate move, I’ve tried the latest and bleeding edge ATI proprietary driver. For my surprise, all my problems were solved and the card is working properly! So I decided to log here the steps I took to get the things properly (remember, I’m running Debian unstable).

Instructions

First, we have to download the latest drivers from ATI from their website Then as root run:

./ati-driver-installer* --extract fglrx
cd fglrx
./packages/Debian/ati-packager.sh --buildpkg sid
cd ..
dpkg -i *.deb

This will build deb's from the ATI distribution file and install them or your system. The next step is to build the actual driver, and for that you can use module-assistant like this:

m-a prepare
m-a update
m-a a-i fglrx

This will build and install the fglrx driver for your current installed kernel.

Then you must configure Xorg. I followed this steps:

aticonfig --initial=dual-head --screen-layout=horizontal

After this I just started X and it worked perfectly. I mean, I had horizontal BigDesktop, fast 2D rendering, 3D, XVideo overlay on both displays and suspend is working like a charm.

The only problem left is that my second display has a bigger resolution that the main one. However, the ATI driver sets the second display to the same resolution as the first.

To work around this problem I just had to manually edit /etc/X11/xorg.conf and add at the Section "Device" this:

    Option "Mode2" "1680x1050" 

Replace the resolution with the native resolution of your second display. Restart X and BANG, it should work :)

Hope that this instructions can help you somehow.

Comments