Konway is a lightweight, customizable cellular automaton engine integrated as a KDE Plasma 6 wallpaper plugin.
demo.webm
- The simulation runs on the GPU, so even older PCs handle it well. There’s no per-cell CPU loop each frame, making Konway one of the most efficient live wallpaper plugins.
- Designed with a calm default look, featuring popular palettes like
Paper Light, Emerald, Amber, Monochrome, Catppuccin, Dracula, Tokyo Night, Nord, Gruvbox, Everforest, Rose Pine - Optional resizable digital clock overlay mode (
Off/Hybrid Local Time) - Mouse seeding: left click places a glider, left drag uses brush
- Adjustable simulation rules. Supports arbitrary B/S (Birth/Survival) rule strings. Beyond standard Life (
B3/S23), you can simulate other automata like HighLife (B36/S23) or Day & Night (B3678/S34678). - Full settings UI tabs:
General, Simulation, Patterns, Appearance, Performance, Safety
The simulation is stored in a texture (alive/dead cells). Every tick, a shader reads the previous state and writes the next state (ping-pong / feedback).The CPU mostly just schedules ticks.
Classic automata naturally decay into equilibrium (still lifes or oscillators) within a finite grid.
- Dynamic Seeding: When entropy drops below a threshold, it randomly injects curated patterns (Gliders, Methuselahs, R-Pentominoes etc.).
- Purist Mode: This behavior is fully configurable or can be disabled for a strictly deterministic run.
Raw cellular automata can produce harsh, rapid flickering (1-period oscillators) that can be distracting for some people.
- Subtle trails: Can be toggle on/off, decay trails create a phosphor-persistence effect, smoothing out visual noise like old CRT monitors.
- Safety Limits: Integrated brightness clamping and contrast controls to reduce eye strain.
Desktop and Wallpaper -> Get New Plugins... -> search Konway
Run from life.wallpaper/:
./tools/deploy_local.shIf Plasma still shows stale QML/settings:
plasmashell --replace & disown- Open
Desktop and Wallpaper->Get New Plugins... - Check for updates and update
Konway - If the old QML stays cached, restart Plasma:
kquitapp6 plasmashell && kstart6 plasmashellFrom your cloned repo:
git pull
cd life.wallpaper
./tools/deploy_local.shIf needed:
plasmashell --replace & disownIf you install from dist/*.kpackage.tar.gz, use upgrade:
kpackagetool6 --type Plasma/Wallpaper --upgrade dist/com.github.arcanorca.konway-<version>.kpackage.tar.gzCell size: visual size of cellsTarget TPS: simulation speed (ticks per second)Sync with TPS: keeps internal driver timing aligned with TPSPause when Plasma is inactive: optional resource save behavior
From life.wallpaper/:
qsb --glsl "100 es,120,150" --hlsl 50 --msl 12 -o contents/shaders/life_step.frag.qsb contents/shaders/life_step.frag
qsb --glsl "100 es,120,150" --hlsl 50 --msl 12 -o contents/shaders/visualize.frag.qsb contents/shaders/visualize.frag
qsb --glsl "100 es,120,150" --hlsl 50 --msl 12 -o contents/shaders/population_probe.frag.qsb contents/shaders/population_probe.fragor:
./tools/build_shaders.shBuilt-in pattern data:
contents/patterns/rle/<category>/*.rlecontents/patterns/index.jsoncontents/patterns/patternData.js
Rebuild index/data after RLE edits:
./tools/build_patterns_index.pyOptional external pack helper:
./tools/download_external_pack.sh /path/to/manifest.txtCreate install/upload archives:
./tools/build_kpackage.shOutput:
dist/com.github.arcanorca.konway-<version>.kpackage.tar.gzdist/com.github.arcanorca.konway-<version>.kpackage.zip
Local package install test:
kpackagetool6 --type Plasma/Wallpaper --install dist/com.github.arcanorca.konway-<version>.kpackage.tar.gz- Transition fade is no longer
1tick, now it is adjustable1to8ticks. - Clock rendering and spacing polish, added new clock sizes.
- Settings UI cleanup: consistent reset controls and improved General tab clarity
GPL-3.0-or-later
KDE Plasma 6 • Qt 6 (QML/JS) • GLSL (.qsb via Qt RHI) • kpackagetool6
Dedicated to the memory of John Horton Conway.





