Arch Adventures: Installing Steam on Arch Linux

arch-linux-logo

When I first set up my current desktop, I spent some time looking around for a new linux distribution to choose and try out. At the time I was impressed with the look and UX of Linux Mint, and decided to give it a try. At that time (I think this is no longer true), Linux Mint couldn’t do kernel updates in-place (you had to re-install the entire OS from LiveCD). This works great if you have your hard drive partitioned with separate partitions for /home (where your local files are) and / (where the actual OS will sit), however in my infinite wisdom, I didn’t enforce that separation when installing linux mint. As I hacked my way around mint, I eventually ended up with a monstrous mishmash of packages, session managers, frontends (I repeatedly tried unsuccessfully to install XFCE4, despite running cinnamon, gnome, and KDE at some point), and a whole lot of other files. This left me wondering if there was another way, since hacking dist-upgrade to work didn’t really fix the issues I was seeing, and the minor annoyances I had day-to-day.

Fast forward to the present — my most recent Linux install was actually an Arch Linux installation, that I ended up liking a whole lot. As a testament to the relative usability of Arch, I actually installed the OS on a laptop I had just bought, right before an overseas trip. Despite such reckless planning, I found the system relatively easy to use, great documentation plentiful, and a large community. All this leads up to my decision to replace Linux Mint with Arch Linux on my high-functioning current desktop.

Fast forward again to the present present (?) — I was thinking I’d want to lessen my dependence on my windows partition by playing [Counter Strike: Global Offensive]() on linux. CS GO is the game I play the most (incidentally also the game I hate and love the most), and it’s a big part of my gaming life — I find myself rebooting into Windows often to play it.

While installing Steam on linux, I went through the usual scour-the-arch-documentation-and-internet-for-clues process, and found that the steps I really needed to perform were these:

  1. (Optional) Downgrade the current installed xorg-server For me, this was the case. A simple sudo pacman -S xorg installs the most recent arch-approved version, which for me was 1.18, however ATI drivers for my computer required that the version be strictly less than 1.18. This means I had to downgrade.

This also involved uninstalling pretty much ALL the packages that had dependencies on xorg (I ended up with a really really long pacman -R <package> ... command), and uninstalling xorg-server completely. This might not be necessary, as there might be a way to just switch over all xorg references to the older version, but it’s what I did. This meant I also had to reinstall a bunch of stuff that I removed, after I was done installing the older xorg.

  1. Add the catalyst repository to your pacman config As usual, some dedicated members of the arch linux community have created and maintained some great packages for dealing with Catalyst, and to take advantage of them, you need to update your pacman config to look at their repositories. While it’s important to note this step is introducing more and more unknown code into the system, I find this a necessary evil (choosing to use proprietary ATI drivers over mesa, for use with Steam).

  2. Install catalyst packages and kernel hooks, along with all the other required catalyst packages. As pointed out in the [Catalyst guide](), by installing the catalyst-hook package, you could add the kernel modules necessary for catalyst to work correctly. This part was relatively easy. I found that I had to also read the output of various package installations to run appropriate systemctl commands to enable various features.

  3. Install the steam package As pointed out in the [Catalyst guide](), by installing the catalyst-hook package, you could add the kernel modules necessary for catalyst to work correctly. This part was relatively easy. I found that I had to also read the output of various package installations to run appropriate systemctl commands to enable various features.

While trying to get steam to work, it’s a good idea to run it from the command line in a terminal, to see the output. When I first thought it was properly installed, I found an issue with an error message complaining about missing libraries. The error message pointed me to the fact that the drivers weren’t properly installed (helpful links below)

  1. Generate new configuration for xorg-server with aticonfig This is actually mentioned in the package install output for the various catalyst packages, but running aticonfig --initial (or aticonfig --initial=dual-head for multi-monitor setups) generated the base configuration for me. I had to run this command as sudo as it updated files in /usr.

After doing all this, I found that my display settings weren’t being properly saved with XFCE — this was because the catalyst stuff wasn’t properly installed (once it is, you’ll have to manage display settings from catalyst).

Here are some links I found particularly useful:

AMD Catalyst Guide – Installing the Driver

Steam Won’t Open, LibGL errors

If you’re dealing with this, good luck! Tenacity is key — and lots of internet searching/reading.