The folks Unity3D are currently doing a "HackWeek" when they work on special projects. It looks like the Linux team are working on using SDL instead of X11 directly which will bring Mir & Wayland support amongst other things.
For those that don't know: X11, Mir and Wayland are what allow you to see windows, drag them around and generally do everything on your Linux computer. X11 is really old and Wayland/Mir will eventually replace it.
I follow Unity developer Na'Tosha Bard on twitter, and it has been fun to see the progress on it, here's what they have done so far!
#unity3d #HackWeek End of Day 1 Status: X11 is out. SDL is partially in. pic.twitter.com/YrWSY6unWk
— Na'Tosha Bard (@natosha_bard) May 9, 2016
#unity3d #HackWeek Day 2: Switch to SDL mostly complete. Partial input handling working. No more assertion failures. pic.twitter.com/4XWYwavziL
— Na'Tosha Bard (@natosha_bard) May 10, 2016
OK, Bonus #unity3d #HackWeek Status: #unity3d running on Wayland! pic.twitter.com/agsZT4kLpE
— Na'Tosha Bard (@natosha_bard) May 10, 2016
I love that Unity developers do things like this. SDL support should make things like multiple monitor handling much better. That is something I am especially keen for, as multiple monitor handling in a lot of Unity games is often really poor. SDL could also help them improve things like gamepad/controller support too.
Worth noting that these changes may not end up in the official Unity builds, but we can hope it all works out.
Quoting: borartrI especially hope that SDL itself will profit from it (bugfixes/performance wise). It it in my opinion still not very good. For example even Trine 1 is unplayable even on lowest settings (extremly ugly) on my intel laptop (<10 fps), which should not be the case for such a simple sidescroller imho.A games performance has little to do with using SDL.
Not sure if it is good for a game engine to put a additional layer between it and the system in general, but for unity I personally dont care much as long as it works better than before.
Quoting: AllocWondering about performance though which already seems to be still lacking a bit behind Unity's DX implementation. Would have expected it to be even lower then when "directly" talking to the windowing system (though I actually thought it would more or less talk directly to some OpenGL stuff?) instead of having SDL as an additional layer in between?It has practically no effect on performance. It has more effect on system stability and usability. Most of the performance is stilt in hands of those who writes OpenGL implementation.
Quoting: TemplateRQuoting: MacabreHeartQuoting: TemplateRWhat is the difference between SDL and X11?
One is a complete windowing system that is based around a 20-something year old design (x11), one is a toolkit that can generate windows and handle input for multiple windowing systems and is substantial more modern in it's design (sdl)
That means, that SDL is much better then X11?
SDL and X11 aren't competing projects. As has been mentioned SDL sits at a higher level of abstraction. SDL is one way of using, among others, X11. This means that Unity will more easily support various new technologies. It is up to the developers of SDL to support stuff like X11, Wayland, Mir, etc. So that if SDL adds supports for things like that, then the developers at Unity don't have to worry about that.
Quoting: burnallBut if I'm not mistaken none of the current distributions is using any of the new display servers as a default yet. I hoped at least that Fedora 24 will use Wayland as a default, but unfortunatly it's still too unstable. Everything goes soooo slow.You, sir/madam, need to read up a little bit. Gnome 3 on Wayland is perfectly stable and perfectly usable for most use cases. It not being the default in Fedora is because there are a few things that aren't quite at parity with the X11 version of Gnome 3. Remote desktop and the on-screen keyboard are the major ones, but the list also includes things such as better handling of mice and some Mutter specific code changes
Quoting: borartrI especially hope that SDL itself will profit from it (bugfixes/performance wise). It it in my opinion still not very good. For example even Trine 1 is unplayable even on lowest settings (extremly ugly) on my intel laptop (<10 fps), which should not be the case for such a simple sidescroller imho.
Not sure if it is good for a game engine to put a additional layer between it and the system in general, but for unity I personally dont care much as long as it works better than before.
I think the Trine games are problematic with OpenSource drivers. I have a Core i7 and a R9 290 (radeonsi driver) and it plays like crap, even if I set everything to low.
Must be one of those bad OpenGL ports, too dependent of the forgiveness in the Nvidia proprietary drivers.
* Getting ahead of the curve for Wayland/Mir/NextBigThing
* Potentially sharing a little more code between Linux and other "Linuxlike" platforms
QuoteSDL support should make things like multiple monitor handling much better. That is something I am especially keen for, as multiple monitor handling in a lot of Unity games is often really poor. SDL could also help them improve things like gamepad/controller support too.I wouldn't expect SDL to magically improve this. Engine support for multimonitor systems is already there, and the same engine API will be exposed to game developers regardless of what's powering it on the back end. Similarly, SDL2-style gamepad mapping has been supported since Unity 5.0 - how developers handle it is a different issue.
QuoteWondering about performance though which already seems to be still lacking a bit behind Unity's DX implementation. Would have expected it to be even lower then when "directly" talking to the windowing system (though I actually thought it would more or less talk directly to some OpenGL stuff?) instead of having SDL as an additional layer in between?In this case, SDL would only be used for window setup and input - rendering would still use OpenGL directly.
Quoting: Guest1. Any special reason why would you support Unity3D?
2. Everyones acting like X11 is the past and is really buggy and slow - but really most don't have real problems with X11 and if there are problems let us fix them or rewrite parts if neccesarry.
But X11 is the past and is really buggy (try for example to create a 100% no-one-can-bypass screen saver lock for X11). More to the point is that the devs behind X11 is the same devs that are creating Wayland.
The only sad thing with these nice changes to Unity3D is that AFAIK Unity3D is statically linked to each game and does not exist as a shared resource in for example Steam so for this new version to be used games have to be updated one by one(?).
According to screnshoots they are using Ubuntu, a Linux distribution with unique DE, unique display system and unique patches to almost all librarys and unique defaults, hey my Linux traitors, do you know what that means? It means there will be all kind of bugs and issues in other distributions because game developers (engine developers also) dont understand that Ubuntu is "a little bit special kid" and at the end they dont support Linux they support Ubuntu.
kkthnxbye
See more from me