Realtime RGB LED Driver for Linux
What is Eruption?
Eruption consists of a core daemon providing an integrated Lua interpreter and additional plugin components. Its primary usage is to execute Lua scripts that may react to certain events on the system like e.g. Timer tick
, Key press
or Mouse move
and subsequently control the connected devices and transform the user input via the integrated programmable macro feature.
Features in a Nutshell
- Various LED effects available, including a Spectrum Analyzer and a VU-Meter
- Ambient effect via Network FX client (X11 screen's contents displayed on the keyboard)
- Effects are implemented as Lua scripts running inside of Lua VMs
- Lua support library written in Rust (Math, color handling, noise functions, etc...)
- Multiple effects and macro Lua scripts are combined to a single profile
- Profiles may change configuration parameters of Lua scripts (e.g.: Colors, timing parameters)
- A profile can be assigned to one of four slots
- Macro keys are supported and freely programmable via Lua functions
- Up to 6 freely configurable and switchable macro layers
- Packages available for: Arch Linux, Ubuntu, Fedora
- License: GPL3+
System requirements
What does Eruption require to run?
Some of the profiles require a CPU built later than 2015 with support for SIMD/AVX2
Installation
Arch Linux and derivatives like ArcoLinux or Manjaro
paru -Syu aur/eruption
systemctl --user enable --now eruption-fx-proxy.service
systemctl --user enable --now eruption-audio-proxy.service
systemctl --user enable --now eruption-process-monitor.service
sudo systemctl enable --now eruption.service
Fedora based
sudo dnf copr enable x3n0m0rph59/eruption
sudo dnf install eruption
systemctl --user enable --now eruption-fx-proxy.service
systemctl --user enable --now eruption-audio-proxy.service
systemctl --user enable --now eruption-process-monitor.service
sudo systemctl enable --now eruption.service
Ubuntu or Pop!_OS
sudo add-apt-repository ppa:x3n0m0rph59/eruption
sudo apt update
sudo apt install eruption
systemctl --user enable --now eruption-fx-proxy.service
systemctl --user enable --now eruption-audio-proxy.service
systemctl --user enable --now eruption-process-monitor.service
sudo systemctl enable --now eruption.service
Build from Source
git clone https://github.com/eruption-project/eruption.git
cd eruption
make
sudo make install
make start
To remove Eruption from your system run:
make stop
sudo make uninstall
Please refer to INSTALL.md for further information, e.g. the dependencies you need to install to be able to successfully build Eruption from source.
After the Setup
You may want to try the Eruption Profile Switcher GNOME 4x Shell extension that enables easy switching of profiles on the fly!