libSDL applications list
Nov. 30th, 2016 09:43 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
While libSDL is typically used for games, there are some applications that can be used to replace common desktop and productivity applications. I'll list the ones I've found here. If you have other alternatives, please let me know.
I've been working on simplifying the applications I typically use on Linux so that they can run in framebuffer mode using DirectFB or Nano-x instead or requiring X Windows. I'm always looking for portable applications, so I can run them on any system I'm using (at home or at work) whether it's Linux or FreeBSD or Windows or something else. I'd love to hear from others with similar goals.
The list just covers libSDL applications. They all built with SDL 1.2.x and I'm creating or locating ports to SDL 2.x as well. I haven't listed SDL based applications that use PDCurses or OpenGL/TinyGL. There are enough of those to warrant their own lists. More information on SDL applications and other screen libraries is available at: http://www.distasis.com/cpp/scrlib.htm#sdl I've posted some of the patches/build scripts for my SDL 2.x ports and will add more over time. You can find them from the archive link at: http://www.distasis.com/cpp/lmbld.htm
URLs are accurate as of when this was posted. However, they can change over time. You can use a search engine or archive.org wayback tool to find pages that have been moved or backups of older versions of pages.
Font viewers:
sfontview
Good for picking what font you want to work with quickly.
http://distro.ibiblio.org/puppylinux/sources/s/
sdl_unifontview
Let's you see all the characters in the font, so you can check if there's support for specific characters needed for internationalization.
https://github.com/mkiever/sdl_unifontview
Epub reader:
Bard
Includes text to speech capabilities using Festival Lite.
http://festvox.org/bard
PDF viewer:
SDLBook
I've been trying to put together a SDL based PDF viewer based on mupdf for a while now. Looks like someone beat me to it. SDLBook is a lightweight reader that can handle any formats mupdf and djvulibre libraries can.
https://github.com/rofl0r/SDLBook
https://codeberg.org/rofl0r/SDLBook
I assume SDLBook is designed for the latest version of mupdf. I backported it to mupdf 1.1 which was the last GNU GPL licensed version of mupdf. The latest versions of mupdf have epub support. While the 1.1 version does not include epub support, I've added cbr support using libunarr from sumatrapdf. The library handles cbr and cbz format. I also use nanosvg for SVG graphics.
Gemini browser:
Nemini
There are a few SDL based Gemini viewers, but I really like this one. It's very portable and fairly easy to build from source.
https://github.com/neonmoe/nemini
There are also SDL based web browsers such as a fork of links that uses SDL as a back end.
Word Processors:
There are a series of SDL based text editors that use a core of common code with some variations in order to port to various handheld devices. Tried building and running, but it's hard to work with since it expects an on screen keyboard rather than a real physical keyboard.
http://texteditors.org/cgi-bin/wiki.pl?search=GameConsoleFamily
Left
Haven't tried it yet, but this looks promising.
https://git.sr.ht/~rabbits/left
File Manager:
fm
Completely SDL based, two pane file manager.
https://www.raspberrypi.org/forums/viewtopic.php?f=9&t=1616
Graphics:
picaxo
Lightweight, fast graphics viewer.
http://gigi.nullneuron.net/comp/picaxo/
perigee
Slideshow viewer.
http://jstanley.pingerthinger.com/slideshow.html
grafx2
Graphics editor.
http://pulkomandy.tk/projects/GrafX2
lodepaint
Painting program and image editor.
https://sourceforge.net/projects/lodepaint/
sdl_svg
Older SVG library. Includes a simple SVG viewer.
http://www.linuxmotors.com/SDL_svg/
nanosvg
Supports SVG rendering and is not tied to a particular screen library. I built a simple SDL SVG viewer with it. If you're looking for SVG support for SDL, this is the best option I've found to date. (Looks like other SDL developers agree since it's been added to SDL2_image.)
https://github.com/memononen/nanosvg
photocrop
http://burningsmell.org/photocrop/
xtopng
http://burningsmell.org/xtopng/
fische
http://26elf.at/category/fische/
Tuxpaint and lunapaint are also SDL options for graphics editors, but I'm not currently using either of them.
Audio:
Milkytracker
Mod player. Can also create music.
http://milkytracker.titandemo.org/
wavetool
The project has a simple, lightweight wave file viewer. I added support so that it works with SDL in place of some of the other graphics options it used.
http://tph.tuwien.ac.at/~oemer/wavetools.html
sdl-widgets
Sample audio applications.
http://members.chello.nl/w.boeke/SDL-widgets/
AV players:
flxplay
https://www.libsdl.org/projects/flxplay/
theoraplay
http://hg.icculus.org/icculus/theoraplay/
webm-player
Unfortunately no one's added sound support yet.
https://github.com/doublec/webm-player
playvpx
http://www.philhassey.com/blog/2012/02/02/how-to-create-and-play-ivf-vp8-webm-libvpx-video-in-opengl/
GPS:
sdlmap
https://github.com/jhawthorn/sdlmap
PSP-Maps
https://github.com/deeice/PSP-Maps
Productivity:
Hyperlist
https://web.archive.org/web/20120630103356/http://www.zahniser.net/software/hyperlist
Astronomy:
nightsky
https://sourceforge.net/projects/nightsky/
Emulators:
DOSBox
http://www.dosbox.com/
8086tiny
http://8086tiny.freeforums.net/
http://jaybertsoftware.weebly.com/8086-tiny-plus.html
XRoar
http://www.6809.org.uk/xroar/
I've been working on simplifying the applications I typically use on Linux so that they can run in framebuffer mode using DirectFB or Nano-x instead or requiring X Windows. I'm always looking for portable applications, so I can run them on any system I'm using (at home or at work) whether it's Linux or FreeBSD or Windows or something else. I'd love to hear from others with similar goals.
The list just covers libSDL applications. They all built with SDL 1.2.x and I'm creating or locating ports to SDL 2.x as well. I haven't listed SDL based applications that use PDCurses or OpenGL/TinyGL. There are enough of those to warrant their own lists. More information on SDL applications and other screen libraries is available at: http://www.distasis.com/cpp/scrlib.htm#sdl I've posted some of the patches/build scripts for my SDL 2.x ports and will add more over time. You can find them from the archive link at: http://www.distasis.com/cpp/lmbld.htm
URLs are accurate as of when this was posted. However, they can change over time. You can use a search engine or archive.org wayback tool to find pages that have been moved or backups of older versions of pages.
Font viewers:
sfontview
Good for picking what font you want to work with quickly.
http://distro.ibiblio.org/puppylinux/sources/s/
sdl_unifontview
Let's you see all the characters in the font, so you can check if there's support for specific characters needed for internationalization.
https://github.com/mkiever/sdl_unifontview
Epub reader:
Bard
Includes text to speech capabilities using Festival Lite.
http://festvox.org/bard
PDF viewer:
SDLBook
I've been trying to put together a SDL based PDF viewer based on mupdf for a while now. Looks like someone beat me to it. SDLBook is a lightweight reader that can handle any formats mupdf and djvulibre libraries can.
https://github.com/rofl0r/SDLBook
https://codeberg.org/rofl0r/SDLBook
I assume SDLBook is designed for the latest version of mupdf. I backported it to mupdf 1.1 which was the last GNU GPL licensed version of mupdf. The latest versions of mupdf have epub support. While the 1.1 version does not include epub support, I've added cbr support using libunarr from sumatrapdf. The library handles cbr and cbz format. I also use nanosvg for SVG graphics.
Gemini browser:
Nemini
There are a few SDL based Gemini viewers, but I really like this one. It's very portable and fairly easy to build from source.
https://github.com/neonmoe/nemini
There are also SDL based web browsers such as a fork of links that uses SDL as a back end.
Word Processors:
There are a series of SDL based text editors that use a core of common code with some variations in order to port to various handheld devices. Tried building and running, but it's hard to work with since it expects an on screen keyboard rather than a real physical keyboard.
http://texteditors.org/cgi-bin/wiki.pl?search=GameConsoleFamily
Left
Haven't tried it yet, but this looks promising.
https://git.sr.ht/~rabbits/left
File Manager:
fm
Completely SDL based, two pane file manager.
https://www.raspberrypi.org/forums/viewtopic.php?f=9&t=1616
Graphics:
picaxo
Lightweight, fast graphics viewer.
http://gigi.nullneuron.net/comp/picaxo/
perigee
Slideshow viewer.
http://jstanley.pingerthinger.com/slideshow.html
grafx2
Graphics editor.
http://pulkomandy.tk/projects/GrafX2
lodepaint
Painting program and image editor.
https://sourceforge.net/projects/lodepaint/
sdl_svg
Older SVG library. Includes a simple SVG viewer.
http://www.linuxmotors.com/SDL_svg/
nanosvg
Supports SVG rendering and is not tied to a particular screen library. I built a simple SDL SVG viewer with it. If you're looking for SVG support for SDL, this is the best option I've found to date. (Looks like other SDL developers agree since it's been added to SDL2_image.)
https://github.com/memononen/nanosvg
photocrop
http://burningsmell.org/photocrop/
xtopng
http://burningsmell.org/xtopng/
fische
http://26elf.at/category/fische/
Tuxpaint and lunapaint are also SDL options for graphics editors, but I'm not currently using either of them.
Audio:
Milkytracker
Mod player. Can also create music.
http://milkytracker.titandemo.org/
wavetool
The project has a simple, lightweight wave file viewer. I added support so that it works with SDL in place of some of the other graphics options it used.
http://tph.tuwien.ac.at/~oemer/wavetools.html
sdl-widgets
Sample audio applications.
http://members.chello.nl/w.boeke/SDL-widgets/
AV players:
flxplay
https://www.libsdl.org/projects/flxplay/
theoraplay
http://hg.icculus.org/icculus/theoraplay/
webm-player
Unfortunately no one's added sound support yet.
https://github.com/doublec/webm-player
playvpx
http://www.philhassey.com/blog/2012/02/02/how-to-create-and-play-ivf-vp8-webm-libvpx-video-in-opengl/
GPS:
sdlmap
https://github.com/jhawthorn/sdlmap
PSP-Maps
https://github.com/deeice/PSP-Maps
Productivity:
Hyperlist
https://web.archive.org/web/20120630103356/http://www.zahniser.net/software/hyperlist
Astronomy:
nightsky
https://sourceforge.net/projects/nightsky/
Emulators:
DOSBox
http://www.dosbox.com/
8086tiny
http://8086tiny.freeforums.net/
http://jaybertsoftware.weebly.com/8086-tiny-plus.html
XRoar
http://www.6809.org.uk/xroar/