Umfeld on Raspberry Pi 1 Mod. B

one #weekendproject later i can now confirm that Umfeld compiles and runs on a Raspberry Pi 1 Model B ( one of the very first RPIs released ).
i started off with a fresh install of Raspberry Pi OS Bookworm ( 32-bit, 2025-05-13 Release ). from there, i used the Umfeld install script to pull in all required dependencies. that took care of most things, but a few tweaks were needed to get it running.
- i forced the renderer to use OpenGL 2.0, which currently isn’t in a great state on this hardware. expect quirks.
- i hit a linker error related to atomics. to fix it, i had to explicitly link against libatomic. that meant adding this line to the CMakeLists.txt:
set( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -latomic" )
- or alternatively:
target_link_libraries( minimal atomic )
after that, i was able to compile and run the minimal sketch in fullscreen at 1280×720 @ 60 FPS. that’s pretty impressive for a machine with a single-core ARM11 CPU and 14 years of age.
however, this is just a proof of concept* and i am not sure if this is production-ready. i only tested the minimal example. the whole process took forever; installing packages, compiling SDL3, and building a sketch for the first time easily took 7–8 hours ( i didn’t time it exactly ). after that recompilimg just the sketch still required approx. 3 min.
if you want to try it out, i have released a working ISO image at http://dm-hb.de/umfeld-rpi-32
What’s Next?
i haven’t tested KMSDRM yet. it might work, but would likely require switching from desktop OpenGL 2.0 to an OpenGL ES 2.0 backend ( and Umfeld currently defaults to the former ).