SDL 2.0.9 has been released today featuring some rather interesting new stuff. It's been a while, with 2.0.8 being released back in March of last year.
What is SDL 2? Well, in their own words "Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D." (and Vulkan since 2.0.6). It's used by many game developers including Valve, Unity, Feral Interactive and no doubt a great many more.
A few random highlights of what's new:
- SDL_GetDisplayOrientation() to get the current display orientation along with SDL_DISPLAYEVENT for changes to it.
- Added HIDAPI joystick drivers for more consistent support for Xbox, PS4 and Nintendo Switch Pro controller support across platforms. Valve contributed PS4 and Nintendo Switch Pro controller support.
- Support for many other popular game controllers
- Multiple extras to deal with gamepads like SDL_GameControllerMappingForDeviceIndex() to get the mapping for a controller before it's opened
- Specifically for Linux, there's now a "SDL_LinuxSetThreadPriority()" feature to allow adjusting the thread priority of native threads.
The SDL render batching and some caching, which Ryan Gordon wrote about in this Patreon post didn't make it into this release but it should be in the next one. Ryan told me he didn't want to risk breakage late in the development cycle. That should make the next version of SDL after this really quite exciting.
On top of that, Wayland server-side window decorations on KDE should also be in the following release. You can see a video of that from Ryan Gordon below:
Direct Link
You can see a human readable changelog here for 2.0.9 and for the commit log to get down and dirty with more details find that here.
"This was a lot of work, and I'm thrilled with the end result. This project is sitting in the "SDL-ryan-batching-renderer" branch in revision control; we're about to ship SDL 2.0.9 and it's way too late to drop a change this huge into it, but it will merge thereafter."
Other than that, yay! SDL is likely my second most favourite open source project.
"SDL render batching, which Ryan Gordon wrote about in this Patreon post" is not in 2.0.9. As Ryan writes in the very same post:Looking over the revisions linked in the article, sure looks like it made it in. Keep in mind he wrote that post almost a month ago and it only released today.
"This was a lot of work, and I'm thrilled with the end result. This project is sitting in the "SDL-ryan-batching-renderer" branch in revision control; we're about to ship SDL 2.0.9 and it's way too late to drop a change this huge into it, but it will merge thereafter."
Other than that, yay! SDL is likely my second most favourite open source project.
Edit: No it's not, updated :)
Last edited by Liam Dawe on 31 October 2018 at 8:58 pm UTC
Edit: No it's not, updated :)My own project uses SDL too, so I'll keep an eye on their repository to see what's upcoming, and I hadn't seen the batching stuff being merged so far. Given how many games depend on SDL these days, there's little room for errors, so I would have been very much surprised if Sam or Ryan pulled a stunt like that :-).
But I'll gladly try it out as soon as it lands. I'm pretty sure it'll be quite beneficial in my case.
Last edited by Liam Dawe on 31 October 2018 at 10:03 pm UTC
I have a question: The descriptions says "via OpenGL and Direct3D". So, does/can/should Vulkan relate to this in any way?Vulkan support was added in 2.0.6, their description is probably just outdated.
Excellent! Thank you.I have a question: The descriptions says "via OpenGL and Direct3D". So, does/can/should Vulkan relate to this in any way?Vulkan support was added in 2.0.6, their description is probably just outdated.
But there's plenty of important fixes for Wayland released now, so it's still good to see it out :D
"SDL render batching, which Ryan Gordon wrote about in this Patreon post" is not in 2.0.9. As Ryan writes in the very same post:
"This was a lot of work, and I'm thrilled with the end result. This project is sitting in the "SDL-ryan-batching-renderer" branch in revision control; we're about to ship SDL 2.0.9 and it's way too late to drop a change this huge into it, but it will merge thereafter."
Other than that, yay! SDL is likely my second most favourite open source project.
Hmm, the KDE protocol for window decorations is also only in that branch.
It would be great if SDL2 had support for the consoles too. I guess the manufacturers don’t want bits of their oh so secret SDKs leaking out. (Or maybe it’s just too much work and nobody has wanted to do it…)
AFAIK it has console support too. Definitely the switch, at least! Though you need to be a registered Nitendo dev to get access to the source :/
I have at least that source regarding the nitendo switch, and I was under impression that other consoles were supported as well: https://www.patreon.com/posts/sdl-update-for-17283075AFAIK it has console support too. Definitely the switch, at least! Though you need to be a registered Nitendo dev to get access to the source :/Really? Too bad the official web site says nothing about this.
I might be wrong, though :) I have no idea whether the website is up to date on these matters, but it definitely lags behind releases in other areas!
"But you could donate to Ryan's Patreon though" no when I donate to an open source project it's to the project that I donate not to a single individual so the absence of the donation button is concerning.
See more from me