Steam for Linux

Steam for Linux

Nicholas Jun 3, 2014 @ 6:00pm
Mir and Wayland Performance Gains and Other Questions
Will the upcoming Mir and Wayland display servers offer noticeable performance gains for Steam games? Or does that all pretty much come down to driver improvement?

Will either of them make game development or porting to Linux easier or more attractive to developers?

Finally, will SteamOS eventually adopt either, or is X adequate for the long-term?

Thank you.
< >
Showing 1-15 of 16 comments
DeadWire Jun 3, 2014 @ 6:10pm 
neither would effect performance dramatically and SteamOS is going to be using good old X for a very long time....
UraniumDeer Jun 4, 2014 @ 3:43am 
Since most games with native Linux support are likely to use SDL, I believe that most of those games could utilize Wayland or Mir. The Steam client probably won't for a good while, although, one could speculate that it's one of the reasons for the release delay.
Regarding gains:
Since Wayland display servers has the potential to be a lot less messy than the X-server, and have less overhead, it could very well perform and react better than the X-server.
Since Wayland is just a protocol though, I reckon that the speed of any Wayland based display server depends on code quality and how lean it is.
You might not get a whole lot of extra frames per second, by switching from X to Wayland, but it should greatly reduce/remove tearing, and grey fills.

As long as it's run as XWayland, you're likely to see a small drop in performance. It should still improve quality of the frames, and might result in less response time.
Running multiple XWayland instances though, will require more resources, than running pure X though.

Since there's not really any full on Wayland support and/or implementation just yet, it's not easy to say how much better it is, compared to X.
All the open drivers works with Wayland, but I don't know if it's full support.
There's quite a few DEs with experimental Wayland displayservers, but there's, to my knowledge, none of them with a full Wayland release.
nVidia is adding EGL support to their proprietary drivers, to support Wayland, I doubt AMD is working on any support on their closed drivers, but they are contributing to the open one, which is getting closer to performing on par with their closed driver.
Dusk of Oolacile Jun 4, 2014 @ 5:45am 
There's no AMD or nvidia support for Mir or Wayland, so you'd be stuck with open source drivers. This means a huge performance drop compared to X and proprietary drivers, especially for nvidia.
Zyro Jun 4, 2014 @ 6:52am 
Originally posted by LOLCAT:
There's no AMD or nvidia support for Mir or Wayland, so you'd be stuck with open source drivers. This means a huge performance drop compared to X and proprietary drivers, especially for nvidia.

http://www.phoronix.com/scan.php?page=news_item&px=MTY0Njc
Dusk of Oolacile Jun 4, 2014 @ 7:19am 
Originally posted by Zyro:
Originally posted by LOLCAT:
There's no AMD or nvidia support for Mir or Wayland, so you'd be stuck with open source drivers. This means a huge performance drop compared to X and proprietary drivers, especially for nvidia.

http://www.phoronix.com/scan.php?page=news_item&px=MTY0Njc
I never said there never will be. "Working on" doesn't change the current state though.
blackout24 Jun 4, 2014 @ 11:32am 
The game renders directly to the GPU anyway when you're gaming fullscreen so it doesn't matter what display server you use.
Last edited by blackout24; Jun 4, 2014 @ 11:35am
So long as X isn't dead and still supported by the major Linux distros in some form or another, Steam/SteamOS will most likely continue to use X. It's not worth it for Valve to support X, Mir, and Wayland simply becuase using Mir or Wayland will yeild a one to two percent increase in the number of frames per second. X has been well supported and around for a very long time and not just on Linux. Personally, I'd rather see X11 completely overhauled and cleaned up and released as X12 than have three competing display servers making a support nightmare for companies like Valve wanting to capitalize on Linux software.
Last edited by Tux9656 (4.9.2-ck1); Jun 4, 2014 @ 6:12pm
UraniumDeer Jun 4, 2014 @ 9:41pm 
X11 has been greatly cleaned, torn apart, and updated a lot, as it has been prepared for XWayland. There's a limit to what you can do to 26 year old code, that's been wrapped beyond all recognition, that has horrible documentation, with out breaking compatibility, as the support often comes in the form of hacky code, since no one really knows exactly how X11 work/reacts. That's why something as radically different as Wayland, was started in the first place. I doubt that anyone find it entertaining, having to start over.

If the steam client is made with SDL2, then supporting Mir, Wayland, X11, should be a small feat, and shouldn't require much extra work.
My guess on why they're not adding the support, is because they want Wayland and Mir fully supported by the hardware, and the distros, to avoid extra trouble, and display errors. Such problems would make the client seem incomplete and buggy. However that's the general feel I get from Linux when there's horrible tearing, gray fills, crackling and buggy sound. The tearing and the fills, are the exact reasons that they might be interested in adding support for Wayland and Mir.
I've watched some Valve Dev. Days vids, where Ryan Gordon shows, that it just takes a switch, to add Wayland support when using SDL2. If possible, one could check the hardware driver version in use, and switch to Wayland if the version is greater than the first version to support Wayland, and then check to see if Wayland is availible. If not, default to X11.
Last edited by UraniumDeer; Jun 4, 2014 @ 9:43pm
Unyieldingly Jun 6, 2014 @ 10:21am 
Originally posted by blackout24:
The game renders directly to the GPU anyway when you're gaming fullscreen so it doesn't matter what display server you use.

No it does matter the server has to make the draw to the screen and Wayland has way lower MS doing the same job as X and better input handling also Xorg will give you miss placed frames unlike Wayland that has time stamps on all of your frame's
blackout24 Jun 14, 2014 @ 6:39am 
Originally posted by Doc Holliday:
Originally posted by blackout24:
The game renders directly to the GPU anyway when you're gaming fullscreen so it doesn't matter what display server you use.

No it does matter the server has to make the draw to the screen and Wayland has way lower MS doing the same job as X and better input handling also Xorg will give you miss placed frames unlike Wayland that has time stamps on all of your frame's

Nope....
http://en.wikipedia.org/wiki/EGL_(API)#mediaviewer/File:Linux_Graphics_Stack_2013.svg
Sub Atomic Quark Sep 25, 2016 @ 5:39am 
Originally posted by UraniumDeer:
Since most games with native Linux support are likely to use SDL, I believe that most of those games could utilize Wayland or Mir. The Steam client probably won't for a good while, although, one could speculate that it's one of the reasons for the release delay.
Regarding gains:
Since Wayland display servers has the potential to be a lot less messy than the X-server, and have less overhead, it could very well perform and react better than the X-server.
Since Wayland is just a protocol though, I reckon that the speed of any Wayland based display server depends on code quality and how lean it is.
You might not get a whole lot of extra frames per second, by switching from X to Wayland, but it should greatly reduce/remove tearing, and grey fills.

As long as it's run as XWayland, you're likely to see a small drop in performance. It should still improve quality of the frames, and might result in less response time.
Running multiple XWayland instances though, will require more resources, than running pure X though.

Since there's not really any full on Wayland support and/or implementation just yet, it's not easy to say how much better it is, compared to X.
All the open drivers works with Wayland, but I don't know if it's full support.
There's quite a few DEs with experimental Wayland displayservers, but there's, to my knowledge, none of them with a full Wayland release.
nVidia is adding EGL support to their proprietary drivers, to support Wayland, I doubt AMD is working on any support on their closed drivers, but they are contributing to the open one, which is getting closer to performing on par with their closed driver.


Current game designs that use SDL (games outside of Steam) need X11 to work correctly because of the specific bindings in use. The Steam compositing engine is much different than the SDL engine implementation. SDL uses two windows; one main and the second is a view port inside it (whether or not you see a frame around it or not). Steam uses one window and writes directly to that.

Note: Most games that are written for SteamOS are going to use OpenGL 3.x and 4.5 for quite awhile, they now have native libraries for Vulcan on SteamOS and for Steam in Linux, however, very few people are creating UI other items that use Vulcan programming API for Linux. As far as Wayland / Weston are concerned, the EGL drivers as comparing them to the standard GL drivers can be see as OpenGL lite. Not a lot of triple A developers are keen on using a lackluster implementation for their games. It doesn't give them all the functions that normal OpenGL has let alone Vulcan.

Here's my prediction; SteamOS will slowly move to using Vulcan API directly and have their developers move to it as well. It can be ported to both Wayland / Weston and Mir servers in the future. Porting full compatibility OpenGL over is a waste of time and not very productive. However, both Wayland / Weston and Mir are designed for very lightweight distributions and meant for cloudrunners, phones and tablets, in other words. Since Valve and SteamOS are hardware heavy it doesn't quite make sense to go to Wayland / Weston or Mir. What they might do is create a server based off of Vulcan, which would make a huge difference in performance. Ultimately make SteamOS the go to product. The ironic thing is; after I see this happening and they've customized SteamOS, they might move over the FreeBSD and leave Debian Linux behind. Just a thought!
Hwkiller Sep 25, 2016 @ 3:06pm 
Realistically, wayland and mir shouldn't have much impact at all on game *developers*.
I say that, because the engines will probably use libraries like SDL, which will implement the wayland/mir support.

As for performance, I'm not certain games would be faster under wayland or mir. I don't think they will be *slower*, but I doubt they will be much faster. I, admittedly, don't understand the graphics stack at a low level, but the purpose of wayland and mir is really to make a modern graphical windowing api that assumes compositing and direct rendering will be used. It cuts out the cruft and middle-man that is X11. They will make composited environments perform better and look better, but that has less impact on games themselves.
Sub Atomic Quark Sep 26, 2016 @ 4:28am 
Originally posted by Hwkiller:
Realistically, wayland and mir shouldn't have much impact at all on game *developers*.
I say that, because the engines will probably use libraries like SDL, which will implement the wayland/mir support.

As for performance, I'm not certain games would be faster under wayland or mir. I don't think they will be *slower*, but I doubt they will be much faster. I, admittedly, don't understand the graphics stack at a low level, but the purpose of wayland and mir is really to make a modern graphical windowing api that assumes compositing and direct rendering will be used. It cuts out the cruft and middle-man that is X11. They will make composited environments perform better and look better, but that has less impact on games themselves.

I agree that composited displays look better but it's a known fact that compositing the desktop also eats up processing power both on the CPU and GP-GPUs, you get better frame rates with it turned off.

The only thing that's different in Mir is that at a later point, you'll be able to suspend desktop compositing while in fullscreen mode if gaming, that will give a boost to frame rates.

I speak from experence as a gamer and as a hardware engineer as well as a programmer.
Hwkiller Sep 26, 2016 @ 7:14am 
Originally posted by Sub Atomic Quark:
Originally posted by Hwkiller:
Realistically, wayland and mir shouldn't have much impact at all on game *developers*.
I say that, because the engines will probably use libraries like SDL, which will implement the wayland/mir support.

As for performance, I'm not certain games would be faster under wayland or mir. I don't think they will be *slower*, but I doubt they will be much faster. I, admittedly, don't understand the graphics stack at a low level, but the purpose of wayland and mir is really to make a modern graphical windowing api that assumes compositing and direct rendering will be used. It cuts out the cruft and middle-man that is X11. They will make composited environments perform better and look better, but that has less impact on games themselves.

I agree that composited displays look better but it's a known fact that compositing the desktop also eats up processing power both on the CPU and GP-GPUs, you get better frame rates with it turned off.

The only thing that's different in Mir is that at a later point, you'll be able to suspend desktop compositing while in fullscreen mode if gaming, that will give a boost to frame rates.

I speak from experence as a gamer and as a hardware engineer as well as a programmer.
That depends entirely on the compositor. 2d desktops can eat up cpu due to the way it has to update the screen. 3d desktops can make use of the gpu and gl for managing overlapping windows. That can actually be much faster and LESS resource intensive.

Also wayland devs have said that whether something is a 3d compositor really depends on the compositor, and there are already wayland wms that allow for disabling 3d features.
/sys/hypervisor/* Sep 28, 2016 @ 10:08pm 
Static binaries of the steam client won't change much till Xorg is filly phased out. Compiled libraries will improve preformance by reducing I/O whilst increasing bandwidth capacity. the biggest bonus is to simplify development and to maintain compatibility with OpenGL. Speaking of Wayland ofc.
Mir seems to be the product of Canonicle's stubborness to conform to the FOSS and will inevidbly fail when all other distros fall back to wayland. (It's a continuation of the Xorg team)
< >
Showing 1-15 of 16 comments
Per page: 15 30 50

Date Posted: Jun 3, 2014 @ 6:00pm
Posts: 16