News: 0001510158

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

SDL Introducing Async I/O APIs - Backed By IO_uring On Linux

([Linux Gaming] 6 Hours Ago SDL3 Async I/O)


Longtime Linux game porter Ryan Gordon has introduced initial asynchronous I/O APIs for the in-development SDL3 library. On Linux these async I/O APIs allow making use of the modern kernel [1]IO_uring functionality.

The Simple DirectMedia Library provides for many hardware/software abstractions across platforms and primarily used by cross-platform games as well as by other software. The newest addition to SDL is having a universal async I/O API. Ryan Gordon explained in the [2]pull request to upstream SDL:

"This is still in-progress, but I've been heads-down on this for awhile, so I'm putting it in a draft PR.

This implements an async i/o API, and a "generic" backend that implements it with a pool of SDL threads that can block on synchronous SDL_IOStreams. This is likely "good enough" for most things, and it's usable on everything but single-threaded Emscripten builds."

Aside from the common interface and a generic back-end implementation, for Linux there is IO_uring support underneath and on Microsoft Windows IoRing support.

See more details via the [3]discussion over introducing async I/O APIs for SDL.



[1] https://www.phoronix.com/search/IO_uring

[2] https://github.com/libsdl-org/SDL/pull/10605

[3] https://github.com/libsdl-org/SDL/pull/10605



phoronix

A rolling stone gathers momentum.