no-std beryllium

An opinionated set of high level wrappers for the fermium SDL2 bindings

31 releases

0.3.2 Jul 30, 2020
0.2.1 Feb 5, 2020
0.2.0-alpha.5 Dec 7, 2019
0.2.0-alpha.1 Nov 30, 2019
0.0.15 Jul 18, 2019

#27 in Multimedia

Download history 295/week @ 2020-05-23 288/week @ 2020-05-30 184/week @ 2020-06-06 177/week @ 2020-06-13 176/week @ 2020-06-20 224/week @ 2020-06-27 212/week @ 2020-07-04 215/week @ 2020-07-11 326/week @ 2020-07-18 188/week @ 2020-07-25 185/week @ 2020-08-01 200/week @ 2020-08-08 312/week @ 2020-08-15 179/week @ 2020-08-22 236/week @ 2020-08-29 272/week @ 2020-09-05

975 downloads per month
Used in 4 crates

Zlib license


License:Zlib Minimum Rust Version AppVeyor TravisCI crates.io docs.rs


An opinionated set of "high level" wrappers for the fermium SDL2 bindings.

Compared to the usual sdl2, this is much closer to the actual SDL2 C API. It is, however, a lot less complete. If you want something added in just file and issue and we can probably work to get it done fairly easily. If you don't want to wait on me, just call into fermium directly.

There are examples available if you want to see it in action.


Obviously this uses SDL2. The fermium crate is used as the bindings crate. You will need version 2.0.8 or later:

  • On Windows all necessary files are provided automatically by fermium, you don't need to do any special setup at all. Note that the default link style is dynamic, and so you will need to have SDL2.dll available to run the program. You can turn off default features and turn on static linking if you like, but this takes longer to build.
  • On non-Windows you need to have installed SDL2 yourself ahead of time.

Window Subsystem

This isn't SDL2 specific, it's just a general Win32 thing, but you'll probably want to set the window_subsystem to "windows" in your programs. Just add this to the top of any binary or example:

#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]

We only want it enabled when debug_assertions are not active, because it suppresses all default console output when it is enabled.

This line won't have any effect on the build outside Windows, so no worries about needing to check for the build being on windows.


This crate uses the Zlib license, the same license that SDL2 itself uses.

Nifty Project Logo

99% beryllium


~245K SLoC