W e’ve been following Valve’s first foray into the operating system business via its Steam Machine initiative with interest. Chances are good that you have been, too, whether you’re a staunch card-carrying member of the PC Master Race or just a fan of games regardless of the platform on which they’re played.
We first covered Steam Machines in our December 2013 issue, and at the time, we described Steam Machines as Valve’s attempt to bring your Steam game library into your living room, where your best sound system, largest display, and comfiest chair live. If Valve is trying to pry itself into your entertainment center beside, or in place of, your gaming console, then SteamOS is its crowbar.
Sorry Windows, You’re Not Invited To This Shindig Until now, gaming systems running Steam as a discrete application were largely Windows-based systems. It’s true, Steam runs on Mac OS and Linux, but according to the Steam Hardware & Software Survey: February 2014, those operating systems accounted for just 3.42% and 1.3% of Steam’s users, respectively. With SteamOS, Valve has created a Linux-based operating system designed solely for gaming and entertainment. For those with a tendency to tinker, Valve has released a beta version of SteamOS, ready to download and install on the system of your choice. In this article, we’ll walk you through the fairly painless process of building your own beta Steam Machine, show you what it looks like, and perform some cursory benchmarking to see what kind of performance you can expect to get from the platform.
Hardware Checklist The current minimum system require- ments for running SteamOS are about as restrictive as those for running most forms of Linux. Hardware manufacturers tend to prioritize driver software development for Windows platforms, and often the community of Linux developers and users is left to pick up the slack. SteamOS is based on Debian 7 (aka “Debian Wheezy”), a popular and highly-stable Linux distribution.
According to Valve, you can install SteamOS on a system with a 64-bit AMD or Intel processor, 4GB or more RAM, a 500GB or larger storage drive, an NVIDIA graphics card, and a motherboard that supports UEFI booting and at least one USB port.
The USB drive you’ll use to install the OS needs to have a capacity of at least 4GB. The firm mentions that support for AMD- and Intel-based GPUs is coming, but as we go to press, the beta does not support them. Also keep in mind that Steam OS will slice up your hard drive or SSD into a handful of partitions after completely wiping it; so forget about dual-booting SteamOS for now. If you decide to try it out, choose a clean drive that you’re fine letting SteamOS format.
For our test system, we used an Intel Core i7-4960X processor, a GIGABYTE GA-X79-UP4 motherboard, a GeForce GTX 780 from GIGABYTE (the GV- N780GHZ-3GD), 16GB Patriot Viper Xtreme DDR3-1866, and a 600GB Western Digital VelociRaptor. To serve as our installation media, we used a 4GB USB 2.0 thumb drive. We also used a Windows-based system to prepare the USB drive and download the SteamOS installation files.
Installation Process To begin, we used our Windows system to format our thumb drive as a FAT32 storage device; do this by right- clicking the device in Windows Explorer, clicking Format, leaving the Capacity and File Setting options at their defaults, and making sure the Quick Format checkbox is marked to save you some time. We also changed the Volume Label to SteamOS and then clicked Start. Click OK to dismiss the operation complete pop-up.
Our next step involves visiting the SteamOS Beta download page and selecting an installation method. Visit store.
steampowered.com/steamos/buildyourown and select either the Default or Custom Installation. At first we tried the Default Installation, but our system wouldn’t boot from the thumb drive with those files extracted onto it. The Custom Installation, on the other hand, is still a very simple process despite including a handful more steps.
To begin, we clicked the Download The Custom SteamOS Beta Installation, clicked the Agree checkbox on the Steam EULA on the following screen (after reading it thoroughly, natch), then clicked the Download SteamOS Beta button. You can also access the SteamOSInstaller.zip file manually by visiting repo.steampowered.com/ download . The file was 966MB as we went to press, which took a while to download. When the download was complete, we launched the zip file with WinRAR by double-clicking it, clicked Extract To, navigated to our USB drive via the Destination Path field, and then clicked OK. When the process (which was also somewhat lengthy) completed, our USB drive was ready to go.
Next, we shut down our test system, removed the SSD we were running Windows on, plugged in the Western Digital VelociRaptor, and plugged the USB drive into a vacant USB port. We restarted the system and pressed DELETE to access the BIOS. (The key that grants you access to the BIOS on your system may vary; common keys include DELETE, F1, F8, and F12.) From here, we set the system to boot from the UEFI USB drive, saved the changes and exited, and rebooted. Shortly thereafter, we saw a large purple and white Steam logo with a few installation options. Next, we highlighted Automated Install and pressed ENTER to proceed. Note that if you use the Expert Install option, you’ll have the opportunity to choose a language (other than English), change your location (to something other than United States), alter the keyboard layout (to something other than American English), and tweak the default partitions, which consist primarily of two 10.4GB EXT4 partitions, a 10.4GB swap partition, a 500MB EFI boot partition, and a fifth EXT4 partition that accounts for the rest of the drive’s capacity. This lattermost partition is where the SteamOS, your applications, and games will reside.
When the installation was finished, the Steam Install Agreement window appeared; we clicked the I Have Read And Accept These Terms checkbox, then clicked OK to install the Steam application. But before logging in, we needed to grant ourselves root access by logging in using the desktop account.
We launched the Terminal by clicking Activities in the upper-left corner of the screen, selecting Applications, then clicking Terminal. Then we typed passwd at the prompt, and then pressed ENTER. Next, we input a new password twice to confirm it, which enabled us to perform superuser tasks using the sudo command.
When Steam was finished updating, we logged into Steam as usual using our Steam username and password. If you are prompted to log in as a user (for SteamOS, not the Steam application), use “steam” as the default account login, or to log in to the desktop account using the password you just set.
If you’re running Steam’s 10-foot UI/ Big-Picture-Mode look-alike, you can simply click the power/Exit icon, and click Restart to reboot. If you’re in the Debian desktop environment, however, you’ll need to click Activities in the upper-left corner of the screen, then click Steam in the resulting list. From here, you can just click that Exit icon in the upper right and click Restart.
Just let the system restart (don’t select the Recovery Mode option when prompted). The version we installed, SteamOS Update 89, automatically created a recovery partition upon reboot, so just follow the prompts to perform this task. The beta is constantly being updated, so the installation process may differ for you in some small ways. The version we installed performed a few functions that deviated from Valve’s own published steps. Even so, we recommend following Valve’s installation instructions for the latest build (on the page that includes the link for the installation files) instead of relying solely on our tutorial for the whole process.
When the system finally restarts, you should be prompted to log into Steam. If you see the familiar Steam login prompt, enter your username and password for that account. From here on, you can enjoy SteamOS as it was meant to be.
By default, the system should also boot directly to the SteamOS UI. If not, you can always access it by clicking Activities, Applications, and Steam.
SteamOS Interface Before we dive into the particulars of the SteamOS UI, you can make it easy to back out to the Debian desktop environment from the SteamOS UI by clicking Settings in the upper-right corner of the screen, clicking Interface, placing a check mark in the Enable Access To The Linux Desktop checkbox, and then clicking Done. Now, when you click the Exit icon from the Steam IU, you’ll have a Return To Desktop option in addition to the Shutdown and Restart commands.
The main start screen for SteamOS has three buttons, Store, Library, and Community, which correspond to the same options you’ll find if you launch Big Picture Mode in the Windows-based Steam application. In fact, you’ll have a hard time distinguishing Big Picture Mode from SteamOS’ Steam UI. Click the Store button and you’ll see a scrollable list of a dozen or so featured games and large icons below that for Specials, the Weekend Deal, free-to-play specials, and the Daily Deal. Buttons along the bottom edge of the screen let you access the Web, Search, and manage your Friends list.
In any submenu, you can always jump back to the main menu by clicking the circular silver Steam logo in the upper- right corner of the screen.
You’ll find your Steam games in the Library submenu, in a similar scrollable list, but these are your most recently played games. You can click View All Games to switch to a tile-based view. By default, this shows all the games you own, but not all of them will work in SteamOS. Click the drop-down menu at the top of your library to access a handful of sorting options; you can view All Games, Recent, Installed, Favorites, Controller Supported, and SteamOS. The latter-most option will display the games in your library that run in SteamOS (Linux). Of the 94 games in our Steam Library, just 22 worked in SteamOS.
Click any of the games and you’ll get another scrollable list of actions, including Links & More, Install (if the game is supported in SteamOS), Play (if it has been installed), Recent News, Guides, Achievements, Friends Who Play, Work- shop (if supported), and more. If the game isn’t supported in SteamOS, you’ll just see a Not Available tile in place of the Install/Play tile. When you click Play, the game launches and plays just as you’d expect it to.
We did notice that in the translation from DirectX to OpenGL, the video settings menus of various games differed. For instance, in Metro: Last Light running on Windows, we can set the resolution and quality, enable or disable SSAA (Super-Sampling Anti- Aliasing), adjust texture filtering, set the amount of motion blur, enable and disable tessellation, and turn Vsync on or off. When running on SteamOS, Metro: Last Light’s video options are reduced to a simple Quality slider. In Windows, poor performance can be easily solved by disabling the particularly system-crushing SSAA (supersampling antialiasing) setting and reducing tessellation. If you need to tweak the performance in this game on SteamOS, your only option is to move the Quality slider to the left. For hardcore gamers, this is less than ideal.
It also makes it nearly impossible to make apples-to-apples performance comparisons between the Windows and SteamOS versions of a game. But we’ll explore performance discrepancies a little later.
Back in the Library, you can click any of the game icons, yet easily access your Friends list and a web browser using the appropriate buttons in the lower-right and -left corners of the screen. When you click Friends, you’ll see your list on the left side of the screen and a chat window on the right. Click the Groups tab to view the groups you’re a member of along the left side of the screen. Click any of them, then click Join Chat at the bottom of the screen to participate in a group text chat session. From here, you can also click buttons to enable voice chat or leave the chat.
Click the silver Steam logo in the upper-right corner to go back to the main menu and click Community to see your friends in a scrollable list of thumbnails. Roll the mouse wheel to cycle through them and determine their online or offline status. Below your Friends list you’ll find the Activity Feed, which displays recent items, such as achievements you and your friends have earned, games you’ve added to your wish list, any news posts from the groups to which you’ve subscribed, and more.
If you click the silver Steam icon again to return to the main hub and point to the icons in the upper-right corner of the screen, you’ll see an Exit button and a Settings button. Click on the latter to see Account, Friends, In-Game, In- Home Streaming, Language, Inter System, Time Zone, and Remote Con- trol settings. Many of these are fairly self-explanatory, but there are a few items we’d like to draw your attention to. The In-Game settings menu shows you how to display the Steam Overlay as it appears when playing a game (SHIFT-TAB, Xbox 360 controller’s Guide button) and configure the screenshot hotkey, and lets you choose whether to display notifications and play sounds. The In-Home Streaming menu lets you set bandwidth, resolution, and frame rate limits. The Controller settings will report No Controller Detected if you don’t have a controller plugged in.
When you do plug in a controller, it’ll let you click Edit Controls to define global settings for common commands.
You may also want to check the Audio setting if your DIY Steam Machine is delivering audio through a device other than the HDMI interface on your graphics adapter. Click System to check for system updates and to make sure SteamOS recognizes your hardware.
The only other aspect of SteamOS we’ve not already covered is the music library integration. From the Library menu, click Music to modify the directories SteamOS checks for music; the Home/Steam/Music and Home/Steam/.Local/Share/Steam/ Music directories are both set by default.
According to Valve, plans for SteamOS to include streaming music and video services are in the works.
Benchmarks One of the reasons Valve (and others) cite when attempting to make a case for ditching Windows for Linux is the performance gains that you can achieve when running an operating system with significantly less overhead. A couple years ago, when Valve was just beginning to explore Linux’s potential to be a gaming platform, the team behind the initiative spent a handful of weeks porting Left 4 Dead 2 to Linux, and was eventually able to illustrate a 16% performance advantage with a fully optimized version running on Linux. However, in optimizing the game for Linux and working with AMD and NVIDIA driver software developers, Valve also made improvements to the Windows version, which increased frame rates from 270fps on their test platform to 303fps. With these improvements, Linux’s advantage shrank to just less than 4%. We’re always going to be a fan of faster frame rendering, but you’d be hard- pressed to notice the difference between such high frame rates.
As we mentioned earlier, comparing Metro: Last Light with identical settings would be impossible without knowing exactly what the Quality slider in the SteamOS version of the game actually adjusts. Frankly, we’ve seen better video settings in recent console games.
The closest apples-to-apples comparison we could find was to run the effectively ancient Half-Life 2: Lost Coast video stress test. With a 1,920 x 1,200 resolution, we set the Model Detail, Shadow Detail, and Shader Detail to High. We set Texture Detail to Very High, Water Detail to Reflect All, enabled color correction, disabled Vsync, enabled Motion Blur, enabled Multicore Rendering, set Antialiasing Mode to 8X MSAA, set Filtering Mode to Anisotropic 16X, and set the High Dynamic Range to Full.
The only hardware discrepancy between the two systems was the hard drive; as previously mentioned, the SteamOS system was running a 600GB Western Digital VelociRaptor. The Windows 8 Enterprise OS ran on a 1TB Western Digital Black hard drive. In SteamOS, we scored 290.61fps. In Windows, our score was 294.3. That’s slightly more than a 1% difference, which, again, is not something you’d ever be likely to notice.
Killer OS? Here at CPU, we have systems running various versions of Windows, Linux, and Mac OS. Regarding the software foundation of our gaming systems, however, Windows has had a distinct advantage over the rest, largely thanks to Valve’s Steam platform. With SteamOS, Valve has given Linux gaming the shot in the arm it needed to be taken seriously.
But the real question is, can Linux do it better than Windows? When it comes to raw performance, the answer is murky. The example we cited above regarding Metro: Last Light is not so much an obvious failure on the part of Valve/SteamOS/OpenGL as it is an indictment of how the developer of the game chose to deal with its SteamOS port. Based on our own observations, it’s clear that judging raw performance between Windows and Linux is more complicated than simply comparing frames-per-second scores. Other factors to consider include the quality of the graphics drivers, the code optimizations that the game developers are most responsible for, and the other code that defines how Windows and Linux access and use the hardware that comprises your system. In our estimation, some games that rely on the OpenGL API perform better with comparable visual effects, and in other games, DirectX delivers the more compelling experience. Don’t forget, however, that Microsoft too has a stake in which API developers favor, and the firm won’t just roll over in the face of OpenGL’s advances.
You also can’t forget the user experi- ence. One of the things traditional consoles have had going for them is their simplicity: To play a console game for the first time, just pop in the disc or launch the digital game from the console’s game library and within seconds you’re gaming.
(Yes, we realize that modern consoles have begun to enforce mandatory installs and regular updates.) With a Windows PC, you have to grapple with all the typical driver maintenance, navigate the occasional workarounds, and contend with a UI that was never designed to be viewed on a TV from 10 feet away.
SteamOS may be working toward a more hassle-free, console-like experience, but that’s not the case today with the beta.
In fact, as a platform, SteamOS currently offers very little that Windows and consoles do not already offer.
The good news is, all of the above can and will improve as time goes on. The bad news is, trying to make a determination based on a beta version of Valve’s operating system is practically impossible, if not simply unfair. So for now, SteamOS has the distinction of being the reason we don’t laugh when the words “Linux” and “gaming” are used in the same sentence. Bravo, Valve, you have our attention. The benefits for the Linux crowd are manifold. But now it’s time to give gamers who just care about games a reason to get excited.