Wednesday, June 11, 2014

FIX: Steam crashes when using radeon driver

Symptoms

Steam crashes upon opening, after verifying the installation and before opening the main interface, with something about the OpenGL context not supporting direct rendering. Soon afterwards, the X server crashes. (I'm not crashing my computer again just to find the exact error message, thank you very much!)

Problem

The problem here is (at least on my computer) that Steam ships a copy of libstcd++ (amongst other things) that is incompatible with the radeon drivers.

Solution 1: The Easy Way

The easiest solution to this problem is to replace the offending library with the one from your system. Run Steam again, logging the output to a file:
steam 2&>1 | tee steam.log
When Steam inevitably crashes again, open the log file and find the line complaining about ‘libgcc_s.so.1’ or ‘libstcd++.so.9001.42π’ or something. Navigate to the directory containing the offending file. On my system, this was:
cd /home/runassudo/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
Move the offending library somewhere safe:
mv libgcc_s.so.1 libgcc_s.so.1.bak
Now create a symlink to your system's copy of the library. On my system, this was:
ln -s /usr/lib32/libgcc_s.so.1
Remember to link to the 32-bit version of the library! If unsure, check with file:
file /usr/lib/libgcc_s.so.1
Look for a line saying ‘32-bit’ or ‘64-bit’.

Solution 2: The Proper Way

The above solution should work, but it seems a little hacky. The proper method is to disable the steam runtime entirely. Make sure you've got all the required libraries on your system!

Labels: , , , , , , , , ,