I just wrestled with Arch Linux for several hours before figuring out a stupid mistake.
If the output of
glxinfo | grep -i rend includes Software Rasterizer but already has direct rendering: Yes, then it’s very likely that you simply didn’t add your user to the video group. Do so by running
usermod -a -G video [username] as root (or with sudo). After logging out and back in (or maybe a reboot), the output should now include Mesa and your video should be running fullspeed.
I also recommend undoing whatever changes you might have made from the ATI page and then going through them again, after you add yourself to the video group. For example I was messing with early and late KMS start but after adding myself to the video group I removed that; I basically undid all my changes, leaving only my custom xorg.conf file, and the video group was indeed the cause of all of my issues.
However, you may want/need to install radeon_ucode and maybe radeon-initrd still despite the video group. Do a search for installing packages from AUR, and follow the simple steps to get those installed in your system, and they will take effect on the next reboot. After radeon_ucode is successfully installed,
dmesg | grep firmware should say something like “platform radeon_cp.0: firmware: requesting radeon/R300_cp.bin”; and the last line of
dmesg | grep radeon should tell you that it initialized radeon. In any case, I installed those packages and left them in after discovering the video group, and my card is working great. So I don’t think they hurt anything.
Ugh. I can see the use in this feature for a multi-user system, but at the same time, it’s a little annoying that the Beginners’ Guide wasn’t very clear about it and the ATI page had nothing about it. I guess the moral of this story is, debug things as root first; the root user would’ve run video at full speed and then I may have narrowed it down from there.
Also a little sidenote: don’t use glxgears as a benchmark; the FPS can vary widely depending on the size of the window. For a moment I thought xmonad was slowing down my graphics compared to xterm, but instead I was just getting lower glxgears FPS in xmonad because it rendered on the entire left half of the screen, whereas xterm opened glxgears in a tiny window up in the corner of the screen. False alarm! 🙂