Steam Engine

Valve has big plans for SteamOS, the new Linux that will run on the first generation of Steam machine gaming consoles.

Valve's Steam game platform has stirred up much discussion in the Linux gaming community since it was first ported to Linux two years ago. Like other popular game platforms, Valve is not just a developer tool, but also a distribution system, digital rights management framework, and communication tool designed to offer a complete, self-contained gaming universe.

According to Valve, the Steam platform now supports "over 2000 games from Action to Indie and everything in between." The community consists of more than six million online gamers.

Steam for Windows has been around since 2003, and Mac OS support first appeared in 2010. Linux came later, but since the arrival of the first Linux version in 2012, Valve has pushed swiftly into the Linux space. The reasons for this strong Linux emphasis became clear when Valve announced it was working on a hardware gaming console, which would be known as the Steam machine. What operating system would run on the Steam machine? Valve would need a system it could shape to its own needs – and develop free from the business agendas of closed-source OS vendors. They knew they would need to build their system on Linux.

Armed with the Steam machine as its very own video game console, Valve is set to do battle against the established console manufacturers [1]. Unlike Playstation, XBox, and Wii, the Steam machine is built entirely from commercially available PC components that anyone can bolt together. Valve simply stipulates the requirements and sells a special gamepad [2].

The Steam machine is still in beta testing, but Valve recently released the operating system that will run on it, a Debian-based Linux known as SteamOS. The SteamOS system is design primarily for gaming and running the Steam client software. (The Steam client provides access to the Valve Steam online store and has been available separately for Ubuntu for about a year [3].) SteamOS also comes with a complete Linux desktop that can easily launch and run any Linux program.

You can download SteamOS from Valve's Steampowered website [4]. We started up SteamOS for a first look at the future of Steam on Linux.

Debian instead of Ubuntu

The first pre-release version of SteamOS, published by Valve under the code name "Alchemist," is based on Debian 7.1 "Wheezy," which uses eglibc 2.17 from Debian "testing" and the 3.10 kernel with long-term support.

The SteamOS version we tested for this article only supported NVidia graphics card drivers; however, the Valve announced a new version on January 12 that includes support for AMD and Intel graphics cards.

Along with the graphics card drivers are a set of non-free firmware packages for a number of wireless chip sets by vendors such as Atheros and Realtek. Furthermore, Valve has developed its own compositor, a modified version of xcompmgr, which takes over when switching to full-screen mode in the Steam client.

The customized compositor is intended to guarantee a seamless transition between the Steam client, the games, and the SteamOS system [5].

It is not surprising that Valve is based on Debian, because the company had previously cooperated with Canonical and officially provided its Steam client for Ubuntu only. Valve is vague about the reasons for the change, saying only that relying on the Debian kernel is the best way to provide a fully independent "SteamOS experience" to their customers [5].

The system automatically launches the Steam client in full-screen mode (Figure 1). In this "Big Picture" mode, you control the Steam Machine with Valve's special controller. After terminating the Steam client, a Gnome desktop version 3.4 takes over; from the Gnome desktop, you can control the system as you would with any other Debian variant.

Figure 1: SteamOS starts the Steam client in full-screen mode.

Valve maintains the Steam client and Debian system via its own repository [6] and exclusively provides the packages installed by SteamOS. If you need any additional repositories, you must register them manually in /etc/apt/sources.list.

Steam Hammer

Valve provides two different installation methods for SteamOS [4]: In the Default Installation, the Clonezilla backup system restores the system, while the Custom Installation hands over to the Debian installer. In both cases, SteamOS deletes the whole of the first hard disk without asking and creates three partitions.

The first partition is occupied by the Debian system, and the second hosts a recovery copy of the installation media. Both partitions occupy 10GB each; the third takes up the remaining disk space, housing the home directories of the two standard users, desktop and steam; the third partition is also where the Steam client stores any games you purchase.

As the user account names suggest, the Linux desktop uses the desktop account, whereas steam is for the Steam client. The Steam client account has limited rights for security reasons.

Trial Run

If you want to try out SteamOS yourself, you'll need UEFI firmware, at least 4GB RAM, a supported graphics card (see the SteamOS website for the latest information on graphics card support), an empty hard drive with 500GB of storage space, and a 64 -bit CPU by Intel or AMD.

These specs reflect the requirements of the games and the Steam machine. In fact, SteamOS will run on any machine on which you can install Debian; only UEFI firmware is mandatory.

Thus, you can test SteamOS on a virtual machine with VirtualBox. You cannot launch any games, though, because VirtualBox does not support full 3D graphics. Make sure you have at least version 4.3.4 of VirtualBox; older versions can cause problems.

On the SteamOS download page [4], go to the Custom Installation section and Download the custom SteamOS beta installation, which is a 1GB zip file. Unzip the file in the steamos/ folder in your home directory, open a terminal and run the following command:

$ genisoimage -o steamos-1.0-uefi-amd64.iso -r -J ~/steamos/

You can use the package manager to install the genisoimage tool if necessary. Start VirtualBox and click New. Give the virtual machine a name. As the Type, select Linux; version is Debian 64 bit. Then, press Next to set the memory allocation to half of the physical RAM.

In the next step, you can Create a virtual disk and confirm the VDI and dynamically allocated settings. Set 500GB as the disk size, and then press Create. In the main window, press System on the right. Check Enable EFI activate (only special guests). Change to Display; then check Enable 3D acceleration and set the graphics memory to the maximum value.

Next, enable Storage, select empty, and click the CD icon in the Attributes section on the right. Then, choose Select file for virtual media and point to the file you created earlier, steamos-1.0-uefi-amd64.iso. For all other settings, you can simply keep the default values. Click OK and Start to launch the virtual PC. When the Steam logo appears, choose Automated Install.