this post was submitted on 22 Jan 2025
94 points (100.0% liked)

Linux

49176 readers
649 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 11 points 1 day ago (2 children)

Fantastic. It's my understanding that SDL is responsible for why we can connect generic controllers to Linux without having to download specific drivers.

[–] [email protected] 3 points 20 hours ago (1 children)

SDL is kind of the equivalent to DirectX. It provides a standard interface for multimedia applications regardless of underlying mechanisms. Except the 3D acceleration part I think which is handled by OpenGL / Vulkan.

[–] [email protected] 1 points 3 hours ago (1 children)

SDL3 has a new "GPU" API, which is some kind abstraction over Vulkan/DirectX12/Metal. I imagine it hides a bunch of boilerplate as well. With this, I think, one could do a 3D render engine without having to directly use the Vulkan API (or OpenGL, ...). However, the shaders need to be in whatever format the backend expects it seems.

[–] [email protected] 0 points 2 hours ago

Ah cool, that's interesting.

[–] [email protected] 17 points 20 hours ago

Kind of. It's the Linux kernel that manages all of the controller drivers and makes them available to userspace, mostly via the evdev interface. SDL is a library for managing graphics, sounds and events in a generic way on multiple platforms and devices. It's overwhelmingly the most common library used for Linux games - Steam used it for all of their Linux-native ports of Source engine games, for instance. But it also presents all gamepad events in a consistent way regardless of their "true source", so generic devices tend to work with every game.

SDL3 mostly clears out all the clutter from the previous versions of SDL. It's a mature library and gamedev has come a long way in that time. Getting rid of all the weird stuff that the API accumulated makes it easier to use and maintain. Plus there were things like managing audio generally, and pen-and-touch gestures mobile phones and tablets, that were quite the head-scratchers before. That's all a bit easier now.