In the flurry of polarized discussions that have emerged since yesterday's Ubuntu Mir announcement
, some have speculated that Valve's interactions with Ubuntu may have had a hand in them developing their own display server. This is most likely not the case and the first-generation Linux-based Steam Box from Valve will almost surely be running an X.Org Server.
Some of the commentary since yesterday in multiple forums have made mention that Mir began development in mid-2012, around the time that Valve for Linux was heating up
. Canonical's motivation for Mir mostly seem to be about having one display server supporting all form-factors where Ubuntu Linux will be found, not about appeasing Valve. It's very unlikely that Valve will be shipping Mir or even Wayland on the Steam Box, but more than likely it will be the proven and well-tested X.Org Server.
First of all, the talk of Valve and Mir would first imply that the Steam Box is based upon Ubuntu. Valve Software hasn't publicly said what Linux distribution will be the basis for their Steam Box, or even if they'll be rolling their own. It's quite likely that the Steam Box will be powered by Ubuntu in some form, but likely only at the lowest levels.
As I believe it has come out before, in April of last year was when Canonical's Director of Technical Partnerships approached me about getting in contact with Valve after my flurry of exclusive Valve Linux coverage
. He thought Ubuntu Core, a minimal spin of Ubuntu to be used for specific use-cases, would be of interest to Valve. I have no idea how the conversation went after linking them up. Obviously in the months since, Canonical and Valve has had a close working relationship with Ubuntu being their primary Linux distribution for pushing the Steam Linux client. They've collaborated a lot to get the Steam client into the Ubuntu Software Center, ensuring that modern Linux releases are running good for the games within the Steam store, etc.
I haven't communicated with either party very recently, but it wouldn't be surprising at all to see Ubuntu Core at the heart of a Steam Box. However, even still, it's unlikely that any Steam Box to ship this calendar year or even in H1'2014 would be powered by anything but the X.Org Server.
Among the reasons for this strong belief include:
- For a Steam Box shipping this year, it would most likely be using a core based upon Ubuntu 12.04 LTS. Unless Valve worked up a special support deal with Canonical, it's hard to see the key Linux software packages making up Valve's Linux console to be powered by anything else aside from a Long Term Support release seeing as video game consoles have a useful market-life of several years.
- Mir is simply not ready... It's still a work in progress and they don't expect to have it ready for the Ubuntu desktop until Ubuntu 14.04 LTS, which I still view as being too optimistic for a polished and viable replacement to the X.Org Server.
- The proprietary NVIDIA and AMD drivers don't yet support Mir or Wayland. The proprietary drivers are still very much catering towards the X.Org Server in a GLX world. Based upon the development practices of AMD and NVIDIA, it would likely be a few months before any released binary Linux graphics driver were to support Mir or Wayland and have a full EGL implementation. This would be cutting it close to a Steam Box debut and it's hard to see Valve wanting to ship anything but proven and well-tested graphics driver code in a Steam Box.
- Yes, the Steam Box will most surely be using the proprietary graphics drivers... Intel graphics aren't powerful enough for a modern video game console running at 1080p and the open-source NVIDIA and AMD drivers don't cut it. Valve will want the fastest performance possible and full OpenGL support. The open-source Mesa/Gallium3D drivers are still living in an OpenGL ~3.1 world (compared to the latest Khronos OpenGL 4.3 specification) and their driver performance is generally a fraction of the binary blobs. There's also an assortment of other open-source driver shortcomings that make them not suitable for a Steam Box: unreliable power/fan management, accelerated video playback using dedicated video engines is rather non-existent, etc.
- The Steam Box will most likely be running a user-interface like that of the Steam client now in its "Big Picture" mode. The Steam client will be full-screen, support for a full-screen web-browser, and most likely video playback capabilities mixed in too. A Steam Box wouldn't be running Unity and other high-level Ubuntu interfaces. With that said, and the games always running full-screen, Valve really doesn't have a worry like the traditional Linux desktop environments do with regard to compositing window managers.
- There isn't anything superbly compelling about Wayland or Mir from the perspective of a gaming console that would potentially justify risking either display server prematurely in a commercial product that is to be on the market and supported with updates for several years.
- If the Steam Box is to go head-to-head with the Microsoft Xbox and Sony PlayStation, it will need a compelling multimedia story to also serve as an HTPC. While Intel's VA-API has been ported to Wayland
, NVIDIA's VDPAU or AMD's XvBA accelerated video playback APIs have yet to be ported to Wayland or Mir (again, these binary blobs are still only living on X).
- Perhaps the most compelling reason though that Valve's Steam Box will use an X.Org Server simply comes down to the games and other software available via the Steam client not yet supporting anything but X.
For properly running on Wayland or Mir (and not through a root-less X Server layer like XWayland or XMir), the games must integrate with EGL. GLX is still what's commonly used as the interface between OpenGL and X, but developers have decided that GLX is effectively deprecated
. The open-source Mesa/Gallium3D drivers do support EGL but that configured support isn't fully widespread and it isn't the case for the proprietary drivers at the moment.
All of the current titles within the Steam client are using GLX. For the better part of a year now, Valve has been convincing their publisher partners to bring their games to Linux... They're coming, and they've been using GLX. If Valve has been planning some Wayland/Mir debut with the Steam Box, they would have most likely encouraged EGL support from the beginning. Now Valve would need to go back and have all of their Steam partners update their software to make use of EGL. No great reason comes to mind that would justify all game publishers immediately updating their software to support EGL for interacting between GL and windowing system over GLX.
In order to still have support with older Linux distributions only bearing GLX, they would need to have support for something like Waffle
to provide for run-time selection between GL and windowing systems
. If Valve comes out with a "Steam Box SDK", it will hopefully include support for such run-time selection and be compatible with X11/Mir/Wayland.
When the Steam Box debuts, the Steam client will still be important on the Linux desktop and there GLX will still be used. Even when distributions switch to Wayland or Mir, X.Org isn't going to suddenly die and everyone will forget X11 ever existed. As distributions begin to transition, GLX and X11 will still need to be supported for years to come. Current Red Hat Enterprise Linux and Ubuntu LTS releases still have several more years ahead of them where X.Org will live. With any level of business sense, they'll target support for the most common denominator to reach the most potential customers, which for a few more years will still be X.Org. An X.Org application can run on Mir or Wayland via root-less in-session X Servers as has already been shown, but Wayland/Mir applications are not magically backwards compatible with older Linux environments.
Long story short, when Valve releases a Linux-based Steam Box, it will most likely be running an X.Org Server...