doom_led.mov
Note: Flickering isn't seen with human eyes. 👀
Runs Doom on LED matrices connected to a Raspberry Pi.
Made possible thanks to these libraries:
For best performance it's recommended to run an OS like DietPi.
- Install C and C++ compilers +
makefor your OS - Fetch the dependency submodules with
git submodule update --init --recursive --depth=1
Audio should be mostly turn-key, but may need some extra setup on a Pi. It's not recommended to use the on-board audio while driving the matrix for performance reasons, so it's best to disable it on boot. A simple USB audio adapter configured as the default ALSA device is a better fit.
For music playback on Debian-based systems, these packages can still be useful:
libasound2-devfluid-soundfont-gmfreepatstimidityfluidsynth
Note:
- Even if running
doom-matrixasroot, you'll probably need to add your user to the appropriateaudiogroup.
If you want audio support, install:
sudo apt install libsdl2-dev libsdl2-mixer-dev pkg-config
make
This project is intended to be built on Linux, typically on a Raspberry Pi. The
Makefile will stop immediately on macOS because rpi-rgb-led-matrix depends
on Linux/Raspberry Pi userspace APIs.
Audio support is enabled by default. To build without audio, use:
make AUDIO=0Audio-enabled builds use SDL2_mixer from the system. If audio is disabled,
the build skips SDL_mixer entirely.
make clean
You need an IWAD file such as doom1.wad in your working directory, or you
can point Doom to it explicitly with -iwad.
The binary accepts arguments for both rpi-rgb-led-matrix and doomgeneric, e.g.:
./doom_matrix --led-gpio-mapping=adafruit-hat -iwad doom1.wad --led-rows=64 --led-cols=64
Use the GPIO mapping and matrix geometry that match your hardware. See those libraries for information on what arguments are available.