Skip to content

twstokes/doom-matrix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

doom-matrix

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.

Hardware

Setup tooling and libraries

  1. Install C and C++ compilers + make for your OS
  2. Fetch the dependency submodules with git submodule update --init --recursive --depth=1

Audio

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-dev
  • fluid-soundfont-gm
  • freepats
  • timidity
  • fluidsynth

Note:

  • Even if running doom-matrix as root, you'll probably need to add your user to the appropriate audio group.

If you want audio support, install:

sudo apt install libsdl2-dev libsdl2-mixer-dev pkg-config

Building the project

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=0

Audio-enabled builds use SDL2_mixer from the system. If audio is disabled, the build skips SDL_mixer entirely.

Cleaning

make clean

Running

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.

About

Running Doom on an LED matrix connected to a Raspberry Pi

Topics

Resources

License

Stars

Watchers

Forks

Contributors