Updated: January 11, 2014
You've just read my SteamOS review. You like it. But you are dismayed by the horrible system requirements. Yup, you need a powerful machine with a modern processor, you need a heap of RAM, a ton of hard disk, and one of the leading graphics cards. Well, not really.
How about we kind of work around all these requirements? This is what I'm going to show you today. How you can install and test SteamOS as a virtual machine, using very limited resources and with zero risk to your physical setup. We will do that using the SteamOS installer archive and VirtualBox. Sounds good. Now follow me.
Because this is a tutorial, I'm going to feed you with good info, step by step. First, download and install VirtualBox. A decent, cross-platform choice, and very simple to use and run, even for relatively inexperienced users. Now, if you've never done this before, please spend a moment or three to read my virtualization section. Even if you have the software already installed, please download the latest version. In my testing, VirtualBox 4.1 did not behave so well, while the 4.3 edition was quite dandy. More about this further below.
In order to boot the SteamOS installer, you will need to write it to some kind of bootable media, like USB or DVD. But when testing virtual machines, the best solution is to use ISO images. It's faster and cheaper.
The official instructions call for unzipping the archive to the root of a USB device. Instead, you can just extract the archive to any which directory. Then, create an ISO image using a CD/DVD burning software. InfraRecorder or ImgBurn will do, as I have outlined in my most recommended software guides for Windows and Linux users. Please take a look.
By now, you have probably seen a bunch of guides showing you how to achieve this. In a sense, there is no reason for you to be reading my own. But wait. There will be a few interesting snags and pitfalls addressed here, so you might wanna stay.
You want your VM to be defined as Linux, Debian 64-bit. You will need at least 1GB of RAM. More importantly, you will need EFI, under Extended features. If your processor supports it, you can also enable other virtualization extensions for improved performance, as well as additional settings, as shown below. The video memory should be set to 128MB, with 3D checkbox enabled and 2D checkbox disabled. The hard disk does not need to be large, because the actual installation will take only about 4GB, but if you want to test some games, you should give it extra space. Screenshots highlighting this:
And for those interested, the actual SteamOS.vbox file, in XML format. Well, just the interesting parts that you may want to use and compare for your own setup:
location="SteamOS.vdi" format="VDI" type="Normal"/>
<CPU count="2" hotplug="false">
<Memory RAMSize="4096" PageFusion="false"/>
<HID Pointing="USBTablet" Keyboard="PS2Keyboard"/>
<Display VRAMSize="128" monitorCount="1" accelerate3D="true"
Basically, that's all. You can fiddle with IDE/SATA controllers and chipsets and such, but that's really not what's going to make any difference. Really, it's all about using EFI and some extra juice for running the operating system.
Now, power on the virtual machine. While some tutorials highlight you may need to navigate and choose the correct boot device in the EFI interface, you will most likely see the installation splash screen right away. The EFI shell will be more important AFTER the installation, but we will discuss that soon. However, if you struggle, please hop briefly down to the EFI section, then come back here and resume reading.
The automated install will erase all disk contents. No problem when using virtual hardware, but beware any physical tests. Expert install is also an option, and it's typical Debian stuff. Overall, the process will take about 10-15 minutes. Wait, reboot.
You will now get a classic GRUB menu. However, at this stage, please boot into the Recovery Mode first. We need to do this in order to disable the Nvidia drivers, otherwise, we will struggle with the graphical interface. Note: This was true for the first beta version. The second introduced support for additional graphical adapters, so this may not be needed anymore.
Note: This part of tutorial was written when SteamOS only supported Nvidia drivers. The actual instructions for the other brands, like AMD and Intel, are similar. Anyhow, please continue reading with the initial assumptions, and adjust accordingly when needed.
Once you reach the shell, first, you need to discover which Nvidia packages to remove. To that end, I could just provide you with a simple uninstall command, or rather, teach you a little how to use the apt package manager. Start with apt-cache and list all the installed Nvidia components.
apt-cache list | grep -i nvidia
Now, remove them - using regex, or by listing all of them. We could have used pipe xargs to that end, but to keep it simple, and in line with the original article provided at the Steam community site:
apt-get remove .*nvidia.*
Note: Once SteamOS fully supports all virtualization platforms, you will not need to be doing this at all. Moreover, uninstall the drivers is not really necessary, although it simplifies things for most people. You can just blacklist the drivers and edit the xorg.conf file. For example, my rather recent Ubuntu and Fedora guides on this subject can surely help you make the right changes yourself.
Now, fix the X Server, so you get the correct xorg.conf file, and you boot into the desktop interface. This is done by running the following command:
You have a very detailed guide for this procedure. The reason we want to do this is to enable full screen resolution, mouse integration and other nifty tricks. In the VirtualBox menu for your running virtual machine, attach the Guess Addition ISO. Next, mount it and execute the installation of the package.
mount /dev/cdrom /mnt
After reboot, boot normally. You should reach the login screen. The username and password for the standard session are steam and steam, respectively. After this, start exploring the system.
The EFI shell may seem daunting at first. But think of it as sophisticated DOS. Really. That's all. Those scary device names are just like drive names in DOS or Windows, C:, D:, etc. Therefore, FS0: is just a device name. If you type it, you will switch into it. After that, it's simple navigation using dir and cd commands, until you find the desired bootable object. In our case, it's the GRUB bootloader.
In our case, we want the following sequence of commands to boot:
And you will boot like a champ. The same applies for the first boot from ISO, just before the installation. If you get a prompt, just use the cd and dir commands to navigate to the correct entry. It should be very simple.
For those hungry for VirtualBox knowledge:
VirtualBox 4.X family review
VirtualBox network & sharing tutorial
VirtualBox screenshots stuff for your own guides!
There's more, don't be strangers!
This guide is all it takes to start fiddling with SteamOS, using VirtualBox. You should be fine from this moment on. Now, I am considering providing similar guides with KVM and VMware Player, but please do let me know if you need them, or whether the VirtualBox guide is sufficient.
And we're kind of done. If you've survived so far, you learned about how to to create ISO images, how to setup EFI-enabled virtual machines in VirtualBox, and you even learned how to dabble in the shell, you learned about the automated SteamOS installation process, and you fixed a bunch of issues with the default setup, like the Nvidia drivers, the X stack, and the guest additions. Not bad. Big thanks to the Steam community folks for compiling the original document. See ya, fellas.