Simple DirectMedia Layer (SDL) is one of the most important pieces of open source for Linux gamers, as it's the tech used by various game engines and games. It's also about to continue changing the game for the Linux desktop in the upcoming version.
What does it actually do? It's a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware.
It has been announced that the SDL 2.0.22 will default to Wayland, preferring it over X11. This is another big step towards Wayland properly being a replacement for the old and crusty X11 everywhere. With this we might end up seeing more games and applications be native to Wayland, rather than having to run through XWayland.
Developer Ryan C. Gordon (also known as Icculus) mentioned on Twitter: "If you or your distro has not supplied a libdecor, you absolutely want to get that in place by around March 2022". A lot of the heavy lifting involved was done by Ethan Lee (also known as flibitijibibo), who mentioned on Twitter that almost all of the work involved was funded by sponsors of their GitHub.
They usually ship with their own copy of SDL but you can override it with SDL_DYNAMIC_API=/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 for example.
Quoting: AussieEeveeSo if you're using xorg.... you don't get this? I honestly am not sure I understand what this article is saying.It will continue to work fine with X11 it's not dropping support, but developers using it will see Wayland as the default now.
Quoting: ZapporSo you can use SDL 2.0.22 to run Linux native SDL games without XWayland, like Stellaris, Factorio, Jupiter Hell.
They usually ship with their own copy of SDL but you can override it with SDL_DYNAMIC_API=/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 for example.
That won't affect SDL1 games.
Quoting: iiigg4giyMore Wayland is always good to hear but I get confused how these things all fit together. What's the difference between SDL and vulkan for example?SDL is a platform abstraction library, Vulkan is a graphics (and GPGPU?) API. So the overall way these would fit together is someone starts a game that uses SDL on a Wayland based desktop, SDL realizes it is running on Wayland and makes appropriate calls to create a Wayland window and then sets up a Vulkan context for that window. Then the game can start talking Vulkan and game graphics get drawn where they should be.
Quoting: slapinThat won't affect SDL1 games.
Right, this is SDL2 so SDL2 games only!
Quoting: slapinThat is quite stupid as they could check for wayland session, I wonder why this even needed, PR? or RedHat paid them?
When an SDL2 game starts it tries to find a display. SDL 2.0.20 and earlier checked for an X11 display first and through the magic of XWayland they found one. And this was the desired outcome also since there were still a number of bugs in SDL's Wayland backend.
But now with basically all the (known) bugs fixed in the Wayland backend, they can check for a pure Wayland server first before checking for an X11 connection.
I.e, they changed the priority of the backends now that most SDL2-Wayland bugs are fixed.
Last edited by Zappor on 27 January 2022 at 12:29 pm UTC
Now I only need to wine/proton to mainline Wayland patches as default, then I can game without x11 on almost all of my games.
Also waiting to firefox to do the same in the main version.
See more from me