# Simple DirectMedia Layer

A cross-platform development library providing low-level access to audio, input devices, and graphics hardware.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## SDL3 Ported To HarmonyOS / OpenHarmony

DevFeed: [SDL3 Ported To HarmonyOS / OpenHarmony](<https://devfeed.tech/articles/sdl3-ported-to-harmonyos-openharmony-26767.md>)

Original publisher: [Read original article](<https://www.phoronix.com/news/SDL3-Ported--To-HarmonyOS>)

Author: Michael Larabel

Published: 2026-09-15T16:54:08Z

Content type: news

Language: en

Sources: [Phoronix](<https://devfeed.tech/sources/phoronix.md>)

Topics: [Simple DirectMedia Layer](<https://devfeed.tech/topics/sdl.md>), [huawei](<https://devfeed.tech/topics/huawei.md>), [Library](<https://devfeed.tech/topics/library.md>), [Operating system](<https://devfeed.tech/topics/operating-system.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [applications](<https://devfeed.tech/tags/applications.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [desktop-linux](<https://devfeed.tech/tags/desktop-linux.md>), [games](<https://devfeed.tech/tags/games.md>), [huawei](<https://devfeed.tech/tags/huawei.md>), [library](<https://devfeed.tech/tags/library.md>), [linux-benchmarking](<https://devfeed.tech/tags/linux-benchmarking.md>), [linux-hardware-benchmarks](<https://devfeed.tech/tags/linux-hardware-benchmarks.md>), [linux-hardware-reviews](<https://devfeed.tech/tags/linux-hardware-reviews.md>), [linux-how-to](<https://devfeed.tech/tags/linux-how-to.md>), [linux-performance](<https://devfeed.tech/tags/linux-performance.md>), [linux-server-benchmarks](<https://devfeed.tech/tags/linux-server-benchmarks.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [open-source-graphics](<https://devfeed.tech/tags/open-source-graphics.md>), [phoronix](<https://devfeed.tech/tags/phoronix.md>), [phoronix-test-suite](<https://devfeed.tech/tags/phoronix-test-suite.md>), [platform](<https://devfeed.tech/tags/platform.md>), [software](<https://devfeed.tech/tags/software.md>), [ubuntu-benchmarks](<https://devfeed.tech/tags/ubuntu-benchmarks.md>), [ubuntu-hardware](<https://devfeed.tech/tags/ubuntu-hardware.md>)

### AI overview

SDL3 has gained upstream support for Huawei's HarmonyOS and OpenHarmony. The port was sponsored by Outfit7, tested on real hardware, and is already used by some commercial games, according to Icculus.

### Source excerpt

The SDL3 library commonly used for games and applications for cross-platform hardware and software abstractions now has upstream support for Huawei's HarmonyOS and OpenHarmony...

## Integrating Embedded Swift and SDL3 on ESP32

DevFeed: [Integrating Embedded Swift and SDL3 on ESP32](<https://devfeed.tech/articles/integrating-embedded-swift-and-sdl3-on-esp32-13886.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/integrating-embedded-swift-and-sdl3-on-esp32/>)

Author: John Lee

Published: 2024-11-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Embedded Systems](<https://devfeed.tech/topics/embedded-systems.md>), [ESP32](<https://devfeed.tech/topics/esp32.md>), [Simple DirectMedia Layer](<https://devfeed.tech/topics/sdl.md>), [ESP-IDF](<https://devfeed.tech/topics/esp-idf.md>), [ESP32-C3](<https://devfeed.tech/topics/esp32-c3.md>), [ESP32-C6](<https://devfeed.tech/topics/esp32-c6.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [embedded-systems](<https://devfeed.tech/tags/embedded-systems.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [esp32](<https://devfeed.tech/tags/esp32.md>), [esp32-c3](<https://devfeed.tech/tags/esp32-c3.md>), [esp32-c6](<https://devfeed.tech/tags/esp32-c6.md>), [esp32-p4](<https://devfeed.tech/tags/esp32-p4.md>), [experimental](<https://devfeed.tech/tags/experimental.md>), [filesystem](<https://devfeed.tech/tags/filesystem.md>), [graphics](<https://devfeed.tech/tags/graphics.md>), [sdl](<https://devfeed.tech/tags/sdl.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swift-for-esp32-espressif-developer-portal](<https://devfeed.tech/tags/swift-for-esp32-espressif-developer-portal.md>)

### AI overview

This tutorial explains how to build and deploy graphical Embedded Swift applications for ESP32-C3 and ESP32-C6 microcontrollers using SDL3 for graphics rendering, ESP-IDF, and ESP-BSP.

### Source excerpt

Introduction# Swift is a powerful and intuitive programming language, renowned for its expressive syntax, modern features, and safety. Originally designed for developing applications across Apple's ecosystem--macOS, iOS, watchOS, and tvOS--Swift has gained popularity for its performance and developer-friendly nature. What is Embedded Swift?# Embedded Swift is subset of Swift programming language which extends the capabilities of Swift to the realm of embedded systems.

## postmarketOS v22.06.1 adds PinePhone Pro and Samsung Galaxy E7 support

DevFeed: [postmarketOS v22.06.1 adds PinePhone Pro and Samsung Galaxy E7 support](<https://devfeed.tech/articles/v22-06-sp1-the-one-where-we-added-the-pro-e7-41709.md>)

Original publisher: [Read original article](<https://postmarketos.org/blog/2022/07/17/v22.06.1-release/>)

Published: 2022-07-17T00:00:00Z

Content type: release

Language: en

Sources: [postmarketOS Blog](<https://devfeed.tech/sources/postmarketos-blog.md>)

Topics: [Embedded Software Dev](<https://devfeed.tech/topics/embedded-software-dev.md>), [Pinephone-Pro](<https://devfeed.tech/topics/pinephone-pro.md>), [Pinephone](<https://devfeed.tech/topics/pinephone.md>), [samsung](<https://devfeed.tech/topics/samsung.md>), [Encryption](<https://devfeed.tech/topics/encryption.md>), [Simple DirectMedia Layer](<https://devfeed.tech/topics/sdl.md>), [APK](<https://devfeed.tech/topics/apk.md>)

Tags: [apk](<https://devfeed.tech/tags/apk.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [pinephone](<https://devfeed.tech/tags/pinephone.md>), [pinephone-pro](<https://devfeed.tech/tags/pinephone-pro.md>), [postmarketos](<https://devfeed.tech/tags/postmarketos.md>), [release](<https://devfeed.tech/tags/release.md>), [samsung](<https://devfeed.tech/tags/samsung.md>), [sdl](<https://devfeed.tech/tags/sdl.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

postmarketOS v22.06.1 is a service-pack release that adds PinePhone Pro and Samsung Galaxy E7 to the stable release. It also includes stability improvements, improved Megapixels picture quality and postprocessing, and installer support for encryption and SD-to-eMMC installation. An osk-sdl input update was later reverted after reports of broken PinePhone input.

### Source excerpt

The first service pack for the v22.06 release is here! It adds two new devices to the stable release that did not make it into the original release of v22.06. It also has a few nice stability improvements and adds the new Megapixels and postprocessd changes for improved picture quality on the PinePhone. A photo of the PPP running postmarketOS v22.06. Shot with Megapixels and postprocessd. Contents PINE64 PinePhone Pro has been added, with support for the postmarketOS installer. Just like with the OG PinePhone, the installer allows using encryption and installing from SD to eMMC. Find installation instructions in the updated wiki page as always. Samsung Galaxy E7 has been backported to the stable release too. Again, reading the device's wiki page is a good idea. Modem udev rules have been added to improve the stability when using the Biktorgj firmware on the PinePhone modem Megapixels 1.5.2 is now available together with the updated version of postprocessd for improved picture quality and faster postprocessing on the supported Megapixels devices. To make use of it, run "apk add postprocessd" in existing installations. New installation images will have it installed by default. See the video Megapixels and postprocessd improvements (PeerTube, YouTube) for details. osk-sdl 0.67 powers the device off when pressing the power button (in case you don't feel like unlocking your phone on boot right now), and fixes the issues with slow input when using an external keyboard. UPDATE 2022-07-20: We've gotten two reports that input is broken with this osk-sdl version on the PinePhone; although we can't reproduce it yet, the osk-sdl update has been reverted. Details and recovery instructions in pma#1618. How to get it Find the most recent images at our download page. Existing users of the v22.06 release will receive this service pack automatically on their next system update. If you read this blog post right after it was published, it may take a bit until binary packages and new im

## v21.03 service pack 1 release

DevFeed: [v21.03 service pack 1 release](<https://devfeed.tech/articles/v21-03-service-pack-1-release-41695.md>)

Original publisher: [Read original article](<https://postmarketos.org/blog/2021/05/09/v21.03.1-release/>)

Published: 2021-05-09T00:00:00Z

Content type: release

Language: en

Sources: [postmarketOS Blog](<https://devfeed.tech/sources/postmarketos-blog.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Pinephone](<https://devfeed.tech/topics/pinephone.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [Simple DirectMedia Layer](<https://devfeed.tech/topics/sdl.md>), [Font](<https://devfeed.tech/topics/font.md>)

Tags: [2](<https://devfeed.tech/tags/2.md>), [3](<https://devfeed.tech/tags/3.md>), [boot](<https://devfeed.tech/tags/boot.md>), [download](<https://devfeed.tech/tags/download.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [mastodon](<https://devfeed.tech/tags/mastodon.md>), [memory](<https://devfeed.tech/tags/memory.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [news](<https://devfeed.tech/tags/news.md>), [pinephone](<https://devfeed.tech/tags/pinephone.md>), [plasma](<https://devfeed.tech/tags/plasma.md>), [postmarketos](<https://devfeed.tech/tags/postmarketos.md>), [release](<https://devfeed.tech/tags/release.md>), [releases](<https://devfeed.tech/tags/releases.md>), [sdl](<https://devfeed.tech/tags/sdl.md>), [service](<https://devfeed.tech/tags/service.md>), [services](<https://devfeed.tech/tags/services.md>), [stable](<https://devfeed.tech/tags/stable.md>), [update](<https://devfeed.tech/tags/update.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>)

### AI overview

postmarketOS v21.03.1 is the first service pack for the stable branch. It brings tested updates from the edge channel, including changes to PinePhone and PineTab overclocking, the Librem 5 kernel, mobile interfaces, applications, and default fonts.

### Source excerpt

The first service pack for the current stable branch has been released, v21.03.1. Services packs bring improvements from the edge channel of postmarketOS to the stable release after they have been thoroughly tested. New apps: postmarketOS Tweaks Lollypop Numberstation Changes: Overclocking the memory frequency of the PinePhone and PineTab is now possible with update-u-boot Librem 5 kernel upgrade to 5.11.11pureos1 Osk-sdl upgrade to 0.63 Phosh upgrade to 0.10.2 Megapixels upgrade to 0.16.0 Gpodder-adaptive upgrade to 3.10.17_git20210307 Calindori upgrade to 1.4 Geary upgrade to 3.38.2 Phosh, Plasma Mobile and Sxmo have font-noto, font-noto-emoji installed by default in new installations For best stability, the service pack contains tried and tested versions. Most recent releases of Megapixels and Geary are not included, as the service pack already was in the testing phase. Find most recent images at our download page. Comments Mastodon Lemmy Hacker News

## Writing a 2D Platform Game in Nim with SDL2

DevFeed: [Writing a 2D Platform Game in Nim with SDL2](<https://devfeed.tech/articles/writing-a-2d-platform-game-in-nim-with-sdl2-30846.md>)

Original publisher: [Read original article](<https://hookrace.net/blog/writing-a-2d-platform-game-in-nim-with-sdl2/>)

Published: 2016-06-13T22:00:00Z

Content type: tutorial

Language: en

Sources: [Dennis Felsing](<https://devfeed.tech/sources/dennis-felsing.md>)

Topics: [Nim](<https://devfeed.tech/topics/nim.md>), [Simple DirectMedia Layer](<https://devfeed.tech/topics/sdl.md>), [Game Development](<https://devfeed.tech/topics/game-development.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Graphics](<https://devfeed.tech/topics/graphics.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [game-development](<https://devfeed.tech/tags/game-development.md>), [github](<https://devfeed.tech/tags/github.md>), [graphics](<https://devfeed.tech/tags/graphics.md>), [linux](<https://devfeed.tech/tags/linux.md>), [nim](<https://devfeed.tech/tags/nim.md>), [programming](<https://devfeed.tech/tags/programming.md>), [sdl](<https://devfeed.tech/tags/sdl.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

This tutorial explains how to build a simple 2D platform game in Nim with SDL2. It covers user input, graphics, tile maps, 2D physics with collision detection, camera movement, game logic, text rendering with caching, source code organization, and cross-compiling Nim programs for Windows on Linux.

### Source excerpt

Japanese Translation In this article we're going to write a simple 2D platform game. You can also consider this as a tutorial for game development with SDL2 in Nim. We will read in user input, display graphics and a tile map, and simulate simple 2D physics with collision detection and handling. Afterwards we will implement simple camera movement and game logic. To display some information we will render texts and develop a caching mechanism for said text rendering. The final result will be a binary file that requires only SDL2 and can be easily distributed, perfect for games. If you're on Linux we will also present a simple way to cross-compile Nim programs for Windows. For the sake of simplicity we're going to use the familiar graphics from DDNet and Teeworlds, with the end result of this tutorial looking like this: We're going to follow along with the development throughout this article with illustrative images and videos, but the best way to learn is if you follow along yourself by implementing the steps from this article. The code is purposefully kept simple and easy to extend so that you can play around with it and try out all kinds of changes to get an intuitive understanding. At the end of every section there is a link to its full source code. The iterations of the code of this article and the final result are available in a repository on GitHub. The resulting binaries can be downloaded here: Win64, Win32, Linux x86_64, Linux x86 Preliminaries For this post we require: The Nim programming language and its package manager Nimble SDL 2, SDL_image 2, SDL_ttf 2 (all for developers) Nim SDL2 wrapper and strfmt, which can be installed using Nimble On a unixoid system like Linux or Mac OS X the installation looks something like this: # Debian / Ubuntu $ sudo apt-get install git libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev # Arch Linux $ pacman -S git sdl2 sdl2_image sdl2_ttf # Homebrew on OS X $ brew install git sdl2 sdl2_image sdl2_ttf # FreeBSD $ pkg install git