How to setup and test SteamOS as a virtual machine


Updated: January 11, 2014


Note: SteamOS is in continuous development; instructions shown below may change or become outdated or irrelevant. I will follow up with update articles as necessary.

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.

Teaser

Early preparations

Download & setup virtualization software

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.

Convert SteamOS installer zip archive to ISO

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.

Burn iso file

Create virtual machine

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:

Settings 1

Settings 2

Settings 3

Settings 4

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:

<MediaRegistry>
  <HardDisks>
    <HardDisk uuid="{da9c84fc-5323-46cf-9136-6e39b3e5bc63}"
    location="SteamOS.vdi" format="VDI" type="Normal"/>
  </HardDisks>
  <DVDImages>
    <Image uuid="{c4d095de-ac05-47f4-9d22-34332e2950e3}"
    location="SteamOS.iso"/>
  </DVDImages>
</MediaRegistry>

<Hardware version="2">

<CPU count="2" hotplug="false">
  <HardwareVirtEx enabled="true"/>
  <HardwareVirtExNestedPaging enabled="true"/>
  <HardwareVirtExVPID enabled="true"/>
  <HardwareVirtExUX enabled="true"/>
  <PAE enabled="false"/>
  <HardwareVirtExLargePages enabled="true"/>
  <HardwareVirtForce enabled="false"/>
</CPU>

<Memory RAMSize="4096" PageFusion="false"/>

<Firmware type="EFI"/>

<HID Pointing="USBTablet" Keyboard="PS2Keyboard"/>

<HPET enabled="false"/>

<Chipset type="PIIX3"/>

<Display VRAMSize="128" monitorCount="1" accelerate3D="true"
accelerate2DVideo="false"/>

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.

Boot & install

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.

Boot menu

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.

Installing

Installing, more

Install complete

First boot

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.

Normal boot option

Recovery mode option

Remove Nvidia/other graphics components

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

List packages

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.*

Removing packages

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.

Fix X Windows

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:

dpkg-reconfigure xserver-xorg

Fix X Server

Install Guest Additions

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
/mnt/VBoxLinuxAdditions.run

VBox guest additions

Second boot

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.

Login window

Desktop

Using EFI shell

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.

EFI prompt

EFI shell

In our case, we want the following sequence of commands to boot:

FS0:
cd EFI\steamos
grubx64.efi

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.

More reading

For those hungry for VirtualBox knowledge:

VirtualBox 4.X family review

VirtualBox network & sharing tutorial

VirtualBox screenshots stuff for your own guides!

VirtualBox storage management, parts one two and three

There's more, don't be strangers!

Conclusion

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.

Cheers.

RSS Feed icon

del.icio.us del.icio.us stumbleupon stumble digg digg reddit reddit slashdot slashdot



Dedoimedo also writes awesome fantasy books, do take a look!

The Lost WordsThe Lost Words

Facebook page Goodreads page Official site

Advertise!

Would you like to advertise your product/site on Dedoimedo?

Read more

Donate to Dedoimedo!

Do you want to
help me take early retirement? How about donating
some dinero to
Dedoimedo?

Read more

Donate