This is a short guide detailing the steps to get Steam and older source-engine games like Team Fortress 2 up and running using the most recent open-source RadeonSI driver. By the end of this guide, hopefully you will be able to run Steam and Source-engine games using the newest open-source drivers for your ATI/AMD graphics card.
These instructions were last updated July 17, 2014, and are for Ubuntu Trusty (14.04) and Linux Mint 17 for a Radeon HD 7850.
When might you (not) want to use this guide?
If you’re not satisfied with the performance of the proprietary (fglrx) drivers and are mainly interested in playing older titles, the RadeonSI drivers may be a good choice. You should be comfortable with using the linux terminal and know the basics of package management, as these drivers are considered unstable and may be frequently updated (and possibly broken).
As of the date of this guide, the RadeonSI driver has less OpenGL compatibility than the official driver. Steam only reports access to OpenGL 3.0 features (compared to OpenGL 4.3 from the official drivers). You may have trouble running newer titles like DOTA 2 or Civilization V. If you’re not sure, you may want to find the OpenGL requirements for your games before continuing.
Getting Started: Removing any existing binary drivers
First, be sure to remove any binary driver and Catalyst Control Center. If you downloaded a recent version of the fglrx drivers, you can do this by running the uninstaller:
sudo /usr/share/ati/fglrx-uninstall.sh
Once the uninstaller finishes, you will need to restart your system.
If you are using the ‘fglrx’ or ‘fglrx-updates’ package from Driver Manager, you should switch back to the open source driver and restart.
Add the oibaf repository and install the RadeonSI drivers
In order to install graphic drivers that haven’t made it into the main Ubuntu repositories yet, you can add the ‘oibaf’ repository to your system.
The following set of commands will add the repository and install additional OpenGL support packages.
sudo apt-add-repository ppa:oibaf/graphics-drivers && sudo apt-get update && sudo apt-get dist-upgrade
Read the instructions while adding the repository, and press Enter to confirm. The instructions for Ubuntu 14.04 at time of this writing suggest installing the following package:
sudo apt-get install mesa-vdpau-drivers
At this point, you will have the new graphics drivers, and should restart to ensure the new drivers are loaded.
How to Prevent and Fix Errors in Steam and Source-Engine Games
Source: ArchLinux Wiki
Source: Valve Software on GitHub
Fix for Common Errors from Steam and RadeonSI Drivers
OpenGL GLX context is not using direct rendering, which may cause performance problems
Could not find required OpenGL entry point 'glGetError'! Either your video card is unsupported, or your OpenGL driver needs to be updated.
The Steam Runtime comes bundled with older versions of certain libraries that are known to conflict with the RadeonSI driver. To fix this, you’ll need to move or remove one of Steam’s built-in versions of libgcc. If not removed, the RadeonSI driver will fail to load (you can see this by running steam in a terminal).
Move the 32-bit version of libgcc out of the Steam folder, in this case to the home directory (as a backup):
mv ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1 ~/libgcc_s.so.1.i386
You may or may not need to back up the 64-bit version of libgcc. If Steam doesn’t run without errors, try this:
mv ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libgcc_s.so.1 ~/libgcc_s.so.1.amd64
If it still doesn’t work after removing these two files, check the ArchLinux source link at the top of this section for other possible fixes.
Additional Driver Support: Install S3TC texture support
How to Fix Common Errors in Source-Engine Games
This application requires either the GL_EXT_texture_compression_s3tc, or the GL_EXT_texture_compression_dxt1 + GL_ANGLE_texture_compression_dxt3 + GL_ANGLE_texture_compression_dxt5 OpenGL extensions. Please install S3TC texture support.
Source games require that you can install S3TC texture support for 32-bit and 64-bit architectures, which can be done with the following command:
sudo apt-get install libtxc-dxtn-s2tc0 libtxc-dxtn-s2tc0:i386
Conclusion
That should be all that’s necessary to have a basic setup of the RadeonSI driver and a working Steam install. You should also have at least one working game to test with – Team Fortress 2 (and possibly other source-engine games). In that case, have fun!
If you need to revert to the standard Ubuntu drivers, you can re-run the command for installing the oibaf repository, which provides removal instructions:
sudo apt-add-repository ppa:oibaf/graphics-drivers
It’s possible that I’ve missed something in preparing this guide, since it’s mostly a collection of other resources. If you have any comments or suggestions, feel free to leave a message in the comment box below.
Additional Resources
To check your installed OpenGL Version:
glxinfo | grep OpenGL
Steam-specific Troubleshooting
Kernel Upgrade Guide for Ubuntu 14.04