Skip to content

DIY Steam Machine

The simplest method available for doing a homebrew Steam Machine is to use the Stephenson's Rocket distro which is essentially SteamOS + many patches to do what OEMs would normally do for you.  However that said, at the very bottom is the original article written prior to CentOS having the joydev package available.

Take note, that some of the bugs will likely be eventually ironed out. I will make an attempt to keep up on changes from time to time. But I will not be reinstalling SR each time a new release comes out.

Here is my notes for doing the install using SR:


1. Used Stephenson's Rocket to get something close to SteamOS :  Otherwise if one chooses something such as Fedora, RHEL, or OpenSUSE and do the following steps.

2. Install OS and appropriate graphics and gamepad support Install Steam Create a user for running as your fake SteamOS session Set that user to autologin Set Steam to autolaunch at login Set Steam to launch in "Big Picture Mode" Set the system to NOT go into sleep automatically.

3. Had password issues.  Hold shift at boot just past POST to get into GRUB2.  Select recovery.  Both 'root' and 'steam' had issues and resolved them with passwd. 3. gnome-terminal is broken with the brewmaster version of SteamOS, as there is a problem with the locale being set properly in the installer.  This will cause the app to never launch.  To fix this issue the following command and reboot.

localectl set-locale LANG="en_US.UTF-8"

4. To fix a laptop from going to sleep when the lid is closed do the following fix:

echo 'HandleLidSwitch=ignore' >> /etc/systemd/logind.conf

5.  Any non-SteamOS based OS needs firewall ports opened up.  The actual list is:

  • 27031/udp
  • 27036/udp
  • 27036/tcp
  • 27037/tcp


After having a nightmare with getting Valve's SteamOS running on an old laptop that I wanted to repurpose as a Steam Machine, I decided to go the "I know this works" route and go with Fedora.  I had originally plopped CentOS 7 on this system, but ran into a really basic but frustrating issue of not having drivers for the joystick available.  So I went with SteamOS, failed with HDMI out and screen centering issues (half on the laptop screen and half on my TV).  Then to Fedora. Fedora makes this ridiculously simple.  I am going to presume you are doing a stock Fedora 20 install here.  These instructions should work for 19,20, and 21, and presumably for all future releases that support 32-Bit binaries in the same fashion (we will get to that part later).  I am also presuming an NVIDIA based GPU and an Intel CPU.  Also, assume that all commands here are done with root priveleges unless otherwise noted (either as root, using su, or via sudo).  


  1. After installation is complete go an install the RPM Fusion repository. Make sure here that you install the repo, run a "yum update", and reboot.  The NVIDIA drivers depend on that basic task to ensure that your drivers and kernel are in sync with the latest releases of each.  This reboot is a necessary step, do not skip.
  2. Again over at RPM Fusion, follow the guide for getting your NVIDIA drivers installed. is going to be a key area, for several obvious reasons, but also the lesser obvious to Linux newbies.  If you are running on a 64-Bit install, you NEED to install the 32-Bit xorg component that they detail, and it won't hurt to also get installed the extra hardware acceleration component as well (VDPAU).
  3. Once this is all done, do the following:

    yum install steam vim

  4. After installing those, you now have a choice.  The option I went for was an automated login for a steam account that autolaunches Steam in Big Picture mode.  If you go this route you will need to add a user for this purpose (Settings -> Users) and set that user to auto-login.  You can set a password here if it forces you to, we will remove this in a bit.  For multiple Steam accounts, you will be able to manage those within Steam (not saving the password for the steam account is a simple start for that).After you create that account, run

    vim /etc/passwd

    And edit the account so that the line goes from "username:x:blah" to "username::blah".  Note the removal of the x, but not the adjoining colons.  That makes the account have no password. Login as that user now.  If you want to tweak the GNOME (or really whatever desktop you chose to install) environment, thats fine.  Fire up Steam.  Login, and set via the settings anything that you want setup, such as launching in BIg Picture Mode, etc.  You can close out Steam.


  1. Configure your screens as you see fit, such as disabling or mirroring a laptop screen, etc.
  2. Configure your audio appropriately
  3. Edit the power settings to not kick off the screensaver or blank the screen.
  4. Disable Pop-Up notifications.


Reboot. You should be at Steam.  If you have already connected a controller, it should work fine.  Other optional things that can be done are installing java or any other desktop app.  You can inject those into Steam just like you would on the desktop client (it still is, just a new UI).  Another option is to get the controller setup for use as a mouse (will add details at another time once better packages are available).