Gaming with Steam
Valve’s Steam for Linux betaBy
Steam for Linux finally brings current games to the Linux desktop. Valve has put a lot of energy into the project, but the first steps on the new terrain still look a little shaky.
Games vendor Valve has ported its Steam platform to Linux, thus shifting the free platform into the focus of serious gamers. The manufacturer recently invited some users to participate in a closed beta phase. I took a look at the trial version of the Steam client, which still has some quirks.
Officially, Valve only supports Ubuntu and other Debian-based distributions, so I used a recent version of Ubuntu (12.10 “Quantal Quetzal”) in my tests. With some tinkering, you can talk Steam into cooperating with other distributions. The “Valve’s Strategy” box explains why the company uses Linux as a platform.
Shortly after the news broke that Valve was planning a Steam client for Linux, the company announced it would support programmers of free graphics drivers in their optimization efforts. Linux has long suffered from a lack of good drivers for 3D acceleration.
Ian Romanick, who is responsible for driver development for Linux with Intel, blogged in July about a first meeting with the Valve developers. They were really excited about the opportunity to view and edit the driver source code, and both sides have benefited: The Intel developers have subsequently adopted the patches into their drivers, thus accelerating the “Left 4 Dead 2” game; Valve’s developers were also able to resolve problems with the performance in the game’s source code.
Intel exclusively relies on open source drivers for Linux. AMD has two drivers, one of which is open source and the other proprietary. NVidia relies exclusively on closed drivers, which has frequently exposed the graphics card king of the hill to harsh criticism. The open NVidia driver, Nouveau, is exclusively penned by the Linux community. Graphics cards by both AMD/ATI and NVidia only achieve their full speed with the proprietary drivers.
When testing in mid-December 2012, the Steam store was offering 40 games for Linux. Annoyingly, free Linux demo versions were available for only a few games. Whereas many game developers port full versions to Linux, Steam often only provides demos for Windows. Potential buyers could certainly be deterred from opening their wallets without any way to see whether a game actually runs on Linux first. Incidentally, “Left 4 Dead 2” is not yet available for Linux.
Installing the Client
Valve offers the Steam client as a DEB package. You can install either via the Software Center or at the command line by going to the download directory and launching the installation with the commands:
$ sudo dpkg -i steam.deb $ sudo apt-get install -f
The second command installs the dependencies required by the package. When installed, the Steam client appears in the Ubuntu menu bar. At first run, it prompts you to enter a password to install the jockey-common package. It was not quite clear why this didn’t happen while resolving the dependencies of the package. Elsewhere (e.g., when updating to the client), Valve also prefers to bypass the distribution’s package management system.
The software then asks for your access credentials for the Steam platform. If you do not have an account, you can create one at this point. Alternatively, you can create an account for free on the vendor’s website. You will then see an offer to install a beta version of the “Team Fortress 2” (TF2) game for free (Figure 2).
When trying to set up the TF2 game, I saw a message that the game requires 4773MB of free disk space, so I should have been able to install this team-based tactical shooter in the 6GB of free disk space on our lab computer. However, after some time, I was unpleasantly surprised: The system reported that disk space was almost fully occupied, and the game download terminated.
A click on the download showed why: the file size in reality is around 12GB. Why the software previously indicated a size of around 5GB is unclear. After increasing the partition size on the lab system, I then had sufficient space to install the game. The installer drops the data into the user’s home directory below .local/share/Steam, which is good to know in case you want to remove Steam along with the several gigabytes of downloads some time in the future.
The next problem reared its ugly head when I tried to launch the game: Although I could hear the first notes of the intro soundtrack, the screen remained black. Immediately afterward, the game quit, and I again saw the Steam client window; however, it offered no tips and no error message to explain what had gone wrong.
The software is somewhat more talkative if you launch it from the console. Restarting the game produced several megabytes of debug output and a message saying that a memory access error had occurred in the game. The program also announced it had sent a crash report automatically to Valve – without asking for permission first.
Because the problem was probably caused by the graphics card in our lab machine, I proceeded to set up the latest graphics drivers for Linux via the xorg-edgers package archive. But even that did not help, TF2 continued to crash.
After a search on the official Linux Forum at Valve and on the web, I was led to the assumption that the relatively simple graphics card in the lab machine (an Intel GM965) was probably not capable of starting the game. However, I was able to launch TF2 perfectly on the same computer running Windows. Although the game action was anything but smooth, I could at least play it.
World of Goo
Next, I attempted a game that is less demanding on the performance of the graphics hardware. The Steam Store offers the “World of Goo” independent game, in which you are challenged to reach a target by building a scaffold of balls made of a slimy substance.
The game normally costs US$ 9.99 (EUR 8.99), but like many games offered in the Steam Store, the first levels are available as a free demo. This time, my attempt was successful – “World of Goo” started easily and ran smoothly on the test system (Figure 3).
With most of the other games, my experiments were less fortunate: Some games displayed the welcome screen but crashed as soon as the game started (Figure 4). Others simply failed to start, with no more clue as to what caused it than with “Team Fortress 2” – just a few, fairly unhelpful, error messages on the console.
Although Valve officially only supports Ubuntu, Steam also works with other distributions. In our lab, I was able, for example, to install the software successfully on Gentoo. A package for this is available in the distribution’s bugtracker. The Valve Developer wiki also had references to experimental packages for many other Linux derivatives.
Besides the ability to play games, Steam offers numerous community features integrated directly into the client (Figure 5).
A built-in instant messaging client shows how many friends are currently online and lets you chat with them. The client also gave me access to the forum on the Steam website; you receive a message when someone replies to one of your posts.
The main menu has an option to update the Steam client. Steam then autonomously replaces its own /usr/bin/steam file, completely ignoring the distribution’s package manager.
Another option lets you check to see whether the video drivers are up to date. Unfortunately, running this function only leads to an error message saying that Steam cannot check the driver status. Likely, the Intel card on the lab computer caused some problems, and software can only check the drivers by market leaders AMD and NVidia.
Valve wants to make Linux its platform for games, which presents a tremendous opportunity for the Linux desktop to gain ground on proprietary operating systems. For many years, gaming enthusiasts have had to set up Windows in dual-boot mode, at least, just to play a recent game. The path for Linux PC gamers still appears to be long and stony: The Steam beta has some dramatic bugs, but Valve has a chance to fix them before the final version.
Critical to Valve’s success is whether the publisher manages to talk enough game developers into releasing a Linux version of their games and ensures that these games run reliably. Whereas Steam has about 2,000 games for Windows, the selection for Linux is, thus far, small. And, to make matters worse, only a few of the Linux games worked on our lab system – the developers presumably only used a few system configurations in their tests.
The video drivers on Linux remain problematic, but once more 3D games become available for Linux, the situation should improve rapidly. As each new game is released, the pressure on AMD, NVidia, and Intel increases to ensure that their hardware runs perfectly under Linux. Thus, the entire Linux desktop can benefit from Valve’s step.
Valve’s decision to bypass the distribution-specific package managers for the Steam client seems a bit questionable, however. Valve would do better to cooperate with the distributors in this respect. Some distributions could probably even integrate the Steam client directly.
The company is collaborating with Google and Intel to use Kubernetes as an engine for Fuel
Customers can take a free test drive of SLES for HPC on the Azure Cloud
San Francisco-based chip company announces their first fully open source chip platform.
The whole distro gets rebuilt on glibc 2.3
Ubuntu Vendor tries to solve app packaging and distribution problem across distributions.
Founder of ownCloud launches the Nextcloud project.
Will The Machine change the way future programmers think about memory?
The new Torus distributed storage system is available under an open source license on GitHub
Juries decides Google’s use of Java APIs Was Fair Use