This week I bought a Sapphire R7 240 2GB DDR3 graphic card, sporting an AMD Radeon R7 240 chip suggested by Tom’s Hardware march wrap-up. I changed card because my old XFX GeForce 7300 GS had a broken fan and it was time to let it go (before the hot summer). My desktop PC has a Debian testing installation, and I read that AMD has started to release Linux proprietary drivers just like Nvidia. Debian has a package and a wiki page on how to install these proprietary drivers, so I tried to mount the graphic card and follow the instructions, but X server didn’t start. I then tried to follow the instructions on using the open source drivers, and they were able to bring up X, the login screen and the desktop environment. The problem is that when I tried to watch a 720p movie full-screen with VLC the video lagged, jumped and buffered; that was unacceptable because it’s one of the main usage scenarios of my PC, so (after trying to play with some
xorg.conf options unsuccessfully) I jumped back to troubleshoot the proprietary drivers.
By looking at
/var/log/Xorg.0.log it seemed that a segmentation fault happened. I noticed that the server didn’t find the
/usr/X11R6/lib/modules/dri/fglrx_dri.so file, but the file was present elsewhere, specifically in
/usr/lib/i386-linux-gnu/dri/ directory. So I created a link and the error disappeared, but X was segfaulting anyway.
I tried to download and install the drivers from AMD official page, but the kernel module failed in compilation without giving much error messages to troubleshoot.
I investigated better the problem with the Debian packages, and it turns out the driver I installed, version
fglrx-driver/1:14.2~beta1.3-1, had a bug that was solved in the unstable release. So I used apt-pinning to install the packages from unstable and finally it worked! Well, up until I tried to run
glxinfo or Catalyst control center, in which case it crashed the X and brought me back to login screen. It turns out the problem was that OpenGL couldn’t find Radeon hardware acceleration libraries and fell back back to software algorithms (library
swrast_dri.so) that crashed everything somehow. I just had to install the
amd-opencl-icd packages that are indicated as “suggested” by
fglrx-driver and finally everything worked, even 720p and 1080p movies.
As a final test I installed and run Nexuiz at 1600×900 with ultra detail, and it worked flawlessly and with a decent frame rate!