SDL 2.28.0 llega con mejoras y abriendo paso a la rama 3.0
Después de siete meses de desarrollo se dio a conocer el lanzamiento de la nueva versión de SDL 2.28.0 (Simple DirectMedia Layer), la cual es básicamente una versión correctiva, aunque se han añadido algunos cambios y novedades.
Para quienes desconocen de la biblioteca SDL, deben saber que esta, proporciona herramientas como salida de gráficos 2D y 3D acelerada por hardware, procesamiento de entrada, reproducción de audio, salida 3D a través de OpenGL/OpenGL ES y muchas otras operaciones relacionadas.
SDL es análogo a DirectX, a lo cual se podría argumentar que el análogo de DirectX es OpenGL. DirectX, también funciona con dispositivos de entrada y con sonido. Cuando Loki Software comenzó a hacer ports de juegos AAA en Linux, reemplazó Direct3D con OpenGL y no hubo reemplazo para todo lo demás y dado que actualmente es difícil escribir aplicaciones en «X» incluso con WinAPI en la API X11, pero con DirectDraw en WinAPI lo cual ya es un problema, es el cómo nació SDL.
Principales novedades de SDL 2.28.0
Tal y como se menciono al inicio, este lanzamiento se considera como una versión correctiva y prácticamente es la última versión que añade cambios y mejoras, ya que se anunció que la rama SDL 2.x pasó a la etapa de mantenimiento, lo que implica solo la corrección de errores y la resolución de problemas. Es decir, ya no se agregará ninguna funcionalidad nueva a la rama SDL 2.x, y el desarrollo se centrará en la preparación para la versión SDL 3.0.
De los cambios en la rama SDL 3 destacan el procesamiento de algunos subsistemas, cambios en la API que violan la compatibilidad y una gran limpieza de características obsoletas que han perdido su relevancia en las realidades modernas.
Por ejemplo, en SDL 3 se espera una revisión completa del código para trabajar con sonido, el uso de Wayland y PipeWire de forma predeterminada, la terminación del soporte para OpenGL ES 1.0 y DirectFB, la eliminación del código para trabajar en plataformas heredadas como QNX, Pandora, WinRT y OS/2.
Por la parte de los cambios de este nuevo lanzamiento de SDL 2.28.0, entre las innovaciones que se encuentran, podemos encontrar por ejemplo esta la adición de las funciones SDL_HasWindowSurface() y SDL_DestroyWindowSurface() para cambiar entre las API SDL_Rederer y SDL_Surface.
Ademas de ello, tambien se destaca la adicción de un nuevo evento SDL_DISPLAYEVENT_MOVED generado cuando el monitor principal cambia o la posición relativa de cambios de pantalla en configuraciones de varios monitores.
Tambien, podremos encontrar el indicador SDL_HINT_ENABLE_SCREEN_KEYBOARD para controlar la visualización del teclado en pantalla, asi como la correccion de errores en general.
Por último y no menos importante, cabe mencionar que el trabajo de los desarrolladores también estará enfocado en la capa de compatibilidad sdl2-compat, que proporciona una API que es compatible con SDL 2.x binario y fuente, pero se ejecuta sobre SDL 3. para SDL 2 usando las capacidades de la rama SDL 3.
Finalmente si estás interesado en poder conocer más al respecto de esta nueva versión, puedes consultar los detalles en el siguiente enlace.
¿Como instalar Simple DirectMedia Layer en Linux?
La instalación de esta biblioteca en Linux es bastante sencilla puesto que la mayoría de las distribuciones de Linux cuentan con ella dentro de sus repositorios.
Para el caso de Debian, Ubuntu y distribuciones derivadas de estos, solo tendrán que ejecutar los siguientes comandos en una terminal:
sudo apt-get install libsdl2-2.0 sudo apt-get install libsdl2-dev
Mientras que para el caso de los que son usuarios de Arch Linux solo tenemos que ejecutar lo siguiente:
sudo pacman -S sdl2
Para el caso de los que son usuarios de Fedora, Centos, RHEL o cualquier distribución basada en estas, solo tienen que ejecutar el siguiente comando:
sudo yum install SDL2 sudo yum install SDL2-devel
Para el resto de las distribuciones de Linux, pueden realizar la búsqueda del paquete “sdl” o “libsdl” para su instalación o realizar la descarga y compilación del código fuente.
Esto lo hacen con:
git clone https://hg.libsdl.org/SDL SDL cd SDL mkdir build cd build ./configure make sudo make install