How We Got DOOM Running on Zephyr (And Why You Should Try It)
summary
PrBoom is ported to Zephyr and runs in the Zephyr native simulator and on NXP MCUX hardware, demonstrating a working DOOM on an IMX RT and a constrained M33 150 MHz board with 512 KB RAM. Solutions include converting DOOM’s 8-bit palette to RGB565 while streaming color conversion into the display’s external SRAM to avoid a second framebuffer, moving heavy lookup tables into flash, and using Zephyr display and input subsystems plus ADC joystick and touchscreen drivers; audio remains unimplemented and rendering dominates CPU time.
AI-written summary · about
chapters (10)
- 0:00Introduction and motivation
- 0:36Project goals and scope
- 1:54Doom engine selection
- 2:38Development and simulation
- 4:29Display and input integration
- 6:20Hardware porting challenges
- 7:30Optimization strategies
- 10:53Advanced input implementation
- 11:55Lessons learned and conclusion
- 13:38Q&A and discussion
related talks
46mOne Pixel Then Another: How to Run DOOM on an E‑Reader
27mZephyr Porting Efforts in High Performance SoCs
34mZephyr and OpenAMP
48mZephyr Project on Beetle
36mBlinky 2.0: Graphics Acceleration on Zephyr RTOS
35mMulti-core Application Development with Zephyr RTOS
39mA Slice of Zephyr Pi!
39mAsymmetric/Heterogeneous MultiProcessing (AMP/HMP): Mainline Linux and Zephyr in Unison
