Category Archives: Linux

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

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

Game-specific Troubleshooting

Kernel Upgrade Guide for Ubuntu 14.04

 

Configuring Side Buttons on Logitech Mice under Ubuntu Linux

One of the first things I set up on a desktop Linux install is to change the behaviour of the side buttons away from the provided defaults of “Back” and “Forward”. This usually requires some sorting through a mess of old results to find current information.

Here’s a quick guide to changing the side buttons on a 5-button Logitech mouse on Ubuntu 12.04, 12.10, and 13.04, and Linux Mint.

Install necessary packages

$ sudo apt-get install xbindkeys xvkbd

Create a default profile for xbindkeys

$ xbindkeys --defaults > /home/stefan/.xbindkeysrc

Edit the default profile

$ sudo gedit /home/stefan/.xbindkeysrc

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

# Examples of commands:
 
#"xbindkeys_show"
# control+shift + q
 
# set directly keycode (here control + f with my keyboard)
#"xterm"
# c:41 + m:0x4
 
# specify a mouse button
#"xterm"
# 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 worked on the MX500 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.

Done!