In the past few days, after one SteamOS contributor, going by the name of DirectHex, did an AMA (Ask Me Anything) session on Reddit, I was interested to know more about SteamOS from the view of a developer. I got in touch with DirectHex and he was kind enough to provide some answers and insights. DirectHex is not an “internal” contributor of SteamOS. He lives in OxfordShire in the UK, does not work for Valve, and has actually started his involvement by forking the first SteamOS sources to improve on it right from the beginning. Progressively, his additions were merged into the main SteamOS project.

To be able to contribute to a distribution requires quite a bit of knowledge. How does one even reach that point ?

DirectHex: At my first post-University job, one of the tasks I ended up doing was building a custom spin of Ubuntu for use on our new core admin servers (user accounts, etc). I did it by modifying a Debian Installer image (Ubuntu used to offer DI-based installation as “alternate installer” as well as installers using their desktop-based Ubiquity installer). I learned how to add our own packages, remove others, and make the installation completely automated, including the partitioning. As it happens, this is exactly what SteamOS is! So I already knew in depth what SteamOS was doing - and therefore how to alter it with minimal effort.

DirectHex is actually not just contributing to SteamOS, but also to Debian:

DirectHex: I’ve been contributing to the packaging of the Mono runtime, and related apps and libraries, since 2006 or so (first in Ubuntu, later in Debian). These days I get paid for it.

Valve decided to go for a Debian distribution for SteamOS, but they could have done a lot of different choices for what distro to use. DirectHex thinks that their choice was driven by a desire to make it open:

DirectHex: There is a trade-off between “optimal ways to make a Linux-based appliance” and “optimal ways to make a Linux-based open system”. Valve have leaned towards the latter more than the former. It makes the system MUCH more hackable, which has been a sacred goal for Valve since day 1, but also provided them with many bugs and issues they would not have had to care about if they had focused more on “appliance” than “open system”.

For example, GNOME’s OSTree would have been a better “appliance” base, but much harder for users to add their own software to.

Consider something like a Synology NAS. It’s hackable, and there’s a big community around hacking it - but every minor firmware update still blows away your nice usable Bash shell and puts back the default busybox shell. That’s not the route Valve took - but they could have done.

I have been fairly vocal about what Valve should have done and should be doing in terms of Marketing to push their Steam Machines ideas further, but DirectHex sees things in a different way. Valve has decided not to take the front seat on this, just like they did for Steam:

DirectHex: There are ads for the controller and link plastered all over the PC section of my local branch of GAME - I think Valve are staying hands-off themselves, and letting retail and hardware partners focus on the marketing. I don’t know if that’s the best plan, but it’s the one they’re using.

Look at it this way - Steam has over 100 million users. Ever seen an advert for Steam?

Maybe that’s the kind of word-of-mouth approach they’re hoping will work. I’m not convinced, but we’ll see.

In a way, I feel Valve has had a great idea in the first place but lacks vision to put all the pieces together in the best possible manner. But DirectHex may be right to think that having “Vision” can be a treacherous business as well - you never know if the public is really aligned with what you have to offer:

DirectHex: I don’t know, sometimes that vision can be disastrously wrong & it can screw a company - just look at how badly the original vision for the Xbox One was accepted by the community, requiring a company-wide U-turn. I think Valve’s haphazard approach to things can help keep it in a position where it can react faster to issues than anyone else.

Even if I were completely positive about the Steam Machines, there are a number of problems with how things are implemented, especially if you wanted to replicate a console-like experience: a) The lack of system to tell you what games your config can or cannot play well. The risk there being that people who have no idea about PC specs may buy games that just don’t work with their config. And be pissed off. Sure, they can now get refunds, but that’s just a band-aid on a wide-open scar. b) There’s nothing to auto-adjust settings for each game based on your system’s performance, which is linked to a) but one step further down the line. c) Controller support is still far from ideal in many 3rd party games - that’s just plain bad for a console system - not sure if Steam Controller will solve all the issues we have. d) Lack of video services offerings which have become a standard expectation on console systems nowadays.

Big Picture - Modified

DirectHex: I agree for (a) and (b) - there are solutions for this on Windows, like Cyri or GeForce Experience. SteamOS needs similar built in. © should be largely mitigated by the Steam Controller, so I’m not too worried there. (d) is obvious, and I hope the Steam client people are working on it - I can’t imagine it would be too hard to switch to a version of Chromium Embedded Framework with support for EME (HTML5 DRM), then smiling nicely at Netflix. Netflix’ll do business with anybody.

A bunch of people, even in the Linux community, often comment that SteamOS is just the same thing as Big Picture mode. I would not go as far as that, but DirectHex has a completely different take on this. He’s not looking at users only:

DirectHex: For the end user, there’s not a huge difference. For hardware companies with little Linux experience like say Zotac or Asus, having a single “this is the thing and it just works so install & ship” is 99% of the value.

This is actually something I did not consider seriously up until now. Doing a similar setup involving Windows require a lot more work for the manufacturer (specific images, additional scripts, way to manage driver and DirextX updates…). In that sense SteamOS does seem like a plug’n play system for Alienware, Syber and the like. And using Windows certainly offers a lot of games, but comes with its quirks…

DirectHex: I think there’s a lot of hedging of bets. Nobody wants to ship inventory to retailers which then doesn’t sell. Nobody wants to be GameStick or Ouya. The Windows boxes are… they increase the number of gamers users can play, at a cost to usability. Did you know the Alienware Alpha - the Rolls Royce of Windows-based consoles - requires you to drop to a Windows 8.1 desktop and use your mouse to change your audio output device to a USB headset? In SteamOS it just works!

This is where a lot of my marketing concern comes from - if the people in the stores selling the consoles to the customers aren’t clued up, they’ll try to make a play for familiarity (i.e. Windows), and the initiative will fail.

Valve is a relatively small company, and as you may have heard before, Valve employees are not restrained in any way. They can decide from one day to another to move to another project that they find more interesting, so teams can be very flexible and variable depending on whoever they manage to attract. But how big is the SteamOS team currently ?

DirectHex: I have some idea, but nothing concrete. There’s an official “SteamOS Development” Steam Community group for Valve staff, with 33 people in it. There’s at least two known contractors working directly with Valve on SteamOS (LunarG on Mesa, and Collabora on the base OS). That’s as much as I know.

One of the potential points of superiority for SteamOS is the ability to make driver updates seamless, which is not something that’s always straightforward even on Linux (Anyone had to stop X before installing the latest nVidia drivers?). If you are curious about how things work with SteamOS…

**DirectHex:**There are basically 4 places in SteamOS:

  • NVIDIA graphics drivers, which come in the form of updated nvidia-graphics-drivers packages
  • AMD graphics drivers, which come in the form of updated fglrx packages
  • Drivers for everything that isn’t graphics - WiFi, etc, which come in the form of updated linux-image kernel packages
  • Intel graphics drivers, which come in the form of updates to linux-image and mesa packages (plus a few related ones)

All are automatically downloaded in the background (then installed on reboot). In theory, everything is tested prior to uploading to the public SteamOS repository, but it’s not tested extensively outside hardware configurations which Valve knows will be used by its hardware partners.

I have had a Steam Controller in my hands before (early version), and while it was not really easy to get used to it at first, I could see how it can certainly manage to replace a mouse somehow. DirectHex has a pretty positive take on it.


**DirectHex:**I have a “chell” prototype, which no longer works as of a Steam update a few months ago. I’m pretty pumped for the final product! My wife had surgery last year, and couldn’t sit up to play games. My controller prototype meant we could play Civilization hot-seat whilst she was in bed in hospital, just by passing the pad to each other. I still don’t know how it’ll be for fast-paced games, but as far as the chell prototype goes, it’s a big win for more leisurely games like XCOM or Civilization.

Now the killer question: will DirectHex actually purchase a Steam Machine himself, since he’s a SteamOS contributor ?

DirectHex: I’ve got a Steam Link and Steam Controller combo pre-ordered at my local high-street retailer. Steam Machines aren’t shipping yet in the UK, and I don’t think I’d buy one - I have a ridiculously overpowered desktop system already, I may as well just stream from it.

Many thanks to DirectHex for his availability to exchange his views with us.