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 +
make
for your OS - Fetch the dependency submodules with
git submodule update --init --recursive --depth=1
Audio should be decently turn-key, but can take a little more work. It's not recommended to use the on-board audio on the Pi while driving the matrix for performance reasons, so it's best to disable it on boot. I used an inexpensive USB adapter and made it the default for ALSA.
Because I built the libraries locally I needed to install:
- Sounds
libasound2-dev
- Music
fluid-soundfont-gm
freepats
timidity
fluidsynth
And built SDL and SDL Mixer in the libs/SDL
and libs/SDL_mixer
paths respectively. See build and installation instructions for more info.
In libs/SDL
and libs/SDL_mixer
you should only have to run:
./configure
make
make install (as root)
Note:
- It can take a while to compile these on a Pi! You can also consider cross-compiling from a faster machine.
- If your distro has SDL packages you can install them instead.
- Even if running
doom-matrix
asroot
, you'll probably need to add your user to the appropriateaudio
group.
make
make clean
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
See those libraries for information on what arguments are available.