MatrixCode is a standalone OpenGL/GLX XScreenSaver hack designed to reproduce
the flat, sparse, irregular digital code rain associated with the original
Matrix films while remaining light enough for old or low-power X11 systems.

This repository builds one Debian/Ubuntu binary package:
xscreensaver-screensaver-matrixcodeIt installs beside XScreenSaver rather than modifying the upstream
xscreensaver package.
The glyph artwork is a clean-room visual interpretation. It does not copy
Warner Bros. film frames, the official Matrix font, official Flash assets, or
third-party glyph textures.
On Debian or Ubuntu:
sudo apt install build-essential pkgconf libx11-dev libgl-dev \
xvfb xauth libgl1-mesa-dri python3
make
make check
Run a preview:
./matrixcode -window
Render a deterministic test frame:
LIBGL_ALWAYS_SOFTWARE=1 xvfb-run -a \
./matrixcode -window -geometry 1280x720 -frames 70 \
-seed 19990331 -no-vsync -screenshot preview.ppm
sudo make install PREFIX=/usr
Installed files:
/usr/libexec/xscreensaver/matrixcode
/usr/share/xscreensaver/config/matrixcode.xml
/usr/share/applications/screensavers/matrixcode.desktop
/usr/share/man/man6/matrixcode.6x
Restart xscreensaver-settings after installation. MatrixCode should appear in
the list of screen savers. It can also be tested directly:
/usr/libexec/xscreensaver/matrixcode -root
sudo apt build-dep .
dpkg-buildpackage -us -uc -b
sudo apt install ../xscreensaver-screensaver-matrixcode_*.deb
The source package is xscreensaver-matrixcode; the installable binary package
is xscreensaver-screensaver-matrixcode.
The defaults intentionally avoid the common overly dense, overly fast look.
For older hardware:
./matrixcode -window -fps 20 -cell-size 22 -density 34 -glow 48
For a denser display:
./matrixcode -window -density 55 -trail 22 -cell-size 16
See matrixcode(6x) or ./matrixcode -help for every option.
The normal build uses the system OpenGL and GLX development headers. A tiny
compat/minigl.h declaration set exists solely so source-level CI or recovery
environments with runtime GL libraries but no development headers can still
exercise this OpenGL 1.x code. Debian/Ubuntu packages always build against
libgl-dev.
MIT/X11. See LICENSE.
Matrix, the Matrix code, and related marks are properties of their respective
owners. This project is unofficial and unaffiliated.