Installing the RadeonSI Driver and Steam on Ubuntu 14.04

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/

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

Source: Phoronix

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/ ~/

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/ ~/

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


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

Game-specific Troubleshooting

Kernel Upgrade Guide for Ubuntu 14.04


Fixing the Endless Spinning Circle of Dots During Boot on Windows 8 (Mac Version, BootCamp)

In case this helps someone, I just wanted to share a fix to an issue I encountered that prevented me from booting into Windows 8 on a MacBook Pro (2012) running Mountain Lion and Boot Camp.

I had attempted to reboot into Windows 8, only to find that Windows would never finish booting, forever hanging at the startup screen with the Windows logo and and spinning circle of dots. Nothing seemed to work, and the Automatic Recovery tools were also on the other side of the spinning circle, unable to finish loading.

I ran into a fix for this issue that falls into the “one weird trick” category, using a feature of VMWare Fusion. I tested this with the standard version of VMWare Fusion 5, but there is a free trial of VMWare Fusion 6 available that should work as well.

In short, I followed this guide to boot the existing Boot Camp partition as a Virtual Machine.

Windows 8 Spinning Circle of Dots

After a short automated setup process, the virtual Windows 8 was able to start booting, and continued on beyond the spot where it would typically hang. The startup process complained about being unable to finish booting last time (and many times before that…) and offered up the Automatic Repair options (which I skipped).

After skipping the automatic repair, it was possible to get into the Advanced Startup Options and boot into Safe Mode.

Rebooting out of Safe Mode, the virtual Windows 8 install was able to start normally, without any issues!

As a last step, I rebooted the entire system, crossed my fingers, and Windows 8 made it past the spot that it was previously getting hung up on, and booted normally. Crisis averted, no data loss.

I’m hoping that this process won’t trigger Windows re-activation. It hasn’t so far, and I’ll add an update if that turns out to be a problem.


Configuring Side Buttons on Logitech Mice under Ubuntu Linux

One of the first things I modify on a desktop Linux install is to change the behaviour of the side buttons away from the defaults of “Back” and “Forward”.

Here’s a quick guide to changing the side buttons on a 5-button Logitech mouse on Ubuntu 12.04 through 19.04, and Linux Mint. It may work with newer versions, but has not been tested. This method also works well for most generic 5-button mice I’ve seen in the wild.

Install necessary packages

$ sudo apt-get install xbindkeys xvkbd

If your package manager can’t find xvkbd, an alternative is to install xautomation and use its ‘xte’ command in later steps.

Create a default profile for xbindkeys

$ xbindkeys --defaults > ~/.xbindkeysrc

Edit the default profile

$ gedit ~/.xbindkeysrc

Comment out the provided examples to prevent conflicts and strange behaviour.

# Examples of commands:
# control+shift + q
# set directly keycode (here control + f with my keyboard)
# c:41 + m:0x4
# specify a mouse button
# control + b:2

Add new entries in .xbindkeysrc for side buttons

The xev1 command will show you the index bound to each of your buttons (8,9). The snippet below works on the MX518 and M570.

# side button page down
"xvkbd -xsendevent -text "\[Page_Down]""
m:0x0 + b:8

# side button page up
"xvkbd -xsendevent -text "\[Page_Up]""
m:0x0 + b:9

Start ‘xbindkeys’, and confirm that your side buttons are working.

Make your changes take effect on Startup

In Preferences -> Startup Applications, create an entry to run xbindkeys.


Celebrating the spark when two rocks collide