SDL 2.0.16 arrives with improvements for Wayland, Pipewire and more

Several days ago the release of the new version of the SDL 2.0.16 library was announced (Simple DirectMedia Layer), designed to simplify the writing of games and multimedia applications. In this new version various changes have been added, among which the support improvements for Wayland stand out, as well as the ability to generate and capture audio using the Pipewire multimedia server and other things.

For those who do not know about the library SDL, you should know that this, provides tools such as hardware accelerated 2D and 3D graphics output, input processing, audio playback, 3D output via OpenGL / OpenGL ES and many other related operations.

SDL it is officially compatible with Windows, Mac OS X, Linux, iOS and Android, although it has the support for other platforms such as QNX, in addition to other architectures and systems such as Sega Dreamcast, GP32, GP2X, etc.

Simple Direct Media Layer is written in C, works natively with C ++ and there are links available for several other languages, including C # and Python, it is distributed under the zlib license, this license allows to use SDL freely in any software.

Despite being programmed in C, it has wrappers to other programming languages ​​such as C ++, Ada, C #, BASIC, Erlang, Lua, Java, Python, etc.

Main new features of SDL 2.0.16

In this new version of SDL that is presented, one of the novelties that stands out is that support for Wayland has been improved enormously, besides added the ability to generate and capture audio using Pipewire Media Server and AAudio (Android) and also support for Amazon Luna and Xbox Series X game controllers.

Another change that we can find is thate added support for the adaptive vibration effect (to rumble) in the Google Stadia and Nintendo Switch Pro controllers when using the HIDAPI driver.

In addition to it CPU load has been reduced when processing calls SDL_WaitEvent () and SDL_WaitEventTimeout () and a definition of SIMD extensions compatible with the Elbrus platform has also been added.

For the part of the new features that have been proposed in this new version, the following are mentioned:

  • SDL_FlashWindow () - Allows you to grab the user's attention.
  • SDL_GetAudioDeviceSpec (): is to get information about the preferred audio format for the specified device.
  • SDL_SetWindowAlwaysOnTop (): is aimed at dynamically changing the SDL_WINDOW_ALWAYS_ON_TOP flag (anchor on other content) for the selected window.
  • SDL_SetWindowKeyboardGrab (): to capture keyboard input independently of the mouse.
  • SDL_SoftStretchLinear (): for bilinear scaling between 32-bit surfaces.
  • SDL_UpdateNVTexture (): to update textures in NV12 / 21.
  • SDL_GameControllerSendEffect () and SDL_JoystickSendEffect (): to send custom effects to DualSense game controllers.
  • SDL_GameControllerGetSensorDataRate (): to obtain data on the intensity of the information received from the sensors of the PlayStation and Nintendo Switch game controllers.
  • SDL_AndroidShowToast (): this allows to show light notifications on the Android platform.

Finally if you are interested in knowing more about it of this new version, you can check the details in the following link.

How to install Simple DirectMedia Layer on Linux?

Installing this library on Linux is quite simple since most Linux distributions have it within their repositories.

In the case of Debian, Ubuntu and distributions derived from these, you will only have to run the following commands in a terminal:

sudo apt-get install libsdl2-2.0
sudo apt-get install libsdl2-dev

While for the case of those who are uArch Linux suarios we just have to run the following:

sudo pacman -S sdl2

In the case of those who are users of Fedora, Centos, RHEL or any distribution based on them, they just have to run the following command:

sudo yum install SDL2
sudo yum install SDL2-devel

For all other Linux distributions, they can search for the package "sdl" or "libsdl" for installation or download and compile the source code.

They do this with:

git clone https://hg.libsdl.org/SDL SDL
cd SDL
mkdir build
cd build
./configure
make
sudo make install

Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.