With the rise of online gaming and streaming, the use of RGB lighting on desktop peripherals is trending on the Internet. Most of the RGB lighting comes with a configurable interface that allows you to change the brightness, lighting pattern and more with a desktop application. Typically, these applications only work on Windows, with little to no support for Linux. Thankfully, due to the hard work of some independent developers, there are now Linux apps to control RGB lighting.
OpenRGB is a very popular RGB lighting control software. Typically, computer peripherals have their own software to control the RGB lighting, but if you pair different brands in the same setup, it can disrupt the lighting and create a race condition.
The software are also resource hungry; therefore, you lose out on performance by installing the software. You can solve this issue by using OpenRGB to control all of your accessories from a single interface. It is a cross-platform application that runs on Windows, Linux and macOS.
Installing OpenRGB on Linux
The OpenRGB installer is available in a variety of formats, like AppImage, .deb and .rpm. Appimage files are self-contained executable. Deb files are used in Debian-based Linux distributions, and rpm files are used in Fedora or Red Hat-based Linux distributions to install new software.
Appimage runs in all Linux distributions and can be used to install a portable version of OpenRGB. Follow the steps below to install an Appimage file on your Linux desktop.
- Download the latest available version of OpenRGB Appimage.
- Open the directory containing the Appimage file, right-click on it, then select the "Properties" option.
- Select the "Permissions" tab and enable the "Allow executing file as a program" option.
- Double-click on the Appimage file to run the program.
If you are using a Debian- or Ubuntu-based distribution:
- Download the .deb file.
- Open a new terminal window inside the directory that contains the .deb file.
- Run the
dpkgcommand in your terminal to install the .deb file.
sudo dpkg -i [.deb file name]
If you are using Fedora or another Red Hat-based Linux distribution, such as centOS, you can use the dnf package manager to install an .rpm file on your device.
- Download the .rpm file from the official website.
- Open a terminal window inside the directory that contains the downloaded file.
- Run the following command in the terminal to install the .rpm file using the dnf package manager.
sudo dnf install [.rpm file name]
Asusctl is made exclusively for Asus ROG laptops. The primary aim of this tool is to provide the armory crate software features that you'll find on Windows ROG laptops.
Asusctl needs the latest patched kernel to work with keyboard lighting control, fan speed control, etc. If you are a software developer, you can interact with those system resources using dbus methods.
Run the following command to determine whether your laptop RGB lighting is compatible with asusctl software.
If you are seeing output like this:
Bus 001 Device 002: ID 0b05:1866 ASUSTek Computer, Inc. N-KEY Device
your laptop is fully compatible with asusctl. If you don't find this in the output, you can use other features, such as fan control and battery-charging control, but will not be able to configure a keyboard light.
Asusctl uses the
asusd system daemon to control the process in the background. As this tool is written in rust, it will be extremely lightweight on your system and has a very friendly GUI.
The asusctl GUI contains all of the necessary features: you can set RGB per keys, charging control, RGB dynamic effect, etc. It also supports the anime matrix that comes with Asus Zephyrus series laptops.
Installing Asusctl in Linux
There is no package available to install this tool on Ubuntu-based distributions, but you can build the application from source by installing rust version 1.57 or higher and
make, then clone the repository in your current directory.
git clone https://gitlab.com/asus-linux/asusctl.git
Install the required dependency and build the application.
sudo apt install libclang-dev libudev-dev curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh make sudo make install
There are some changes to the package name in Fedora. Follow these commands to build asusctl:
sudo dnf install clang-devel systemd-devel cargo make sudo make install
If you don't want to build the software from source, there is a COPR repository available for Fedora. COPR repositories are unofficial sources that allow you to install software using the dnf package manager. To enable the COPR repository of asusctl in your desktop, run the following command:
sudo dnf copr enable lukenukem/asus-linux
You can install the asusctl package using the usual dnf command.
sudo dnf install asusctl
If you want to uninstall this utility, go to the cloned source repository and run
sudo make uninstall, then delete the "/etc/asusd" directory.
sudo rm -rf /etc/asusd
Rogauracore is a CLI (Command Line Interface) tool that controls RGB keyboard lighting in Asus laptops. Unlike the Asusctl application, Rogauracore does one thing and does it very well.
Installing Rogauracore in Linux
To install Rogauracore in your Linux distribution, you have to build it from the source. First install
libusb-dev and build tools using the apt package manager.
sudo apt install libusb-1.0-0 libusb-1.0-0-dev build-essential
Clone the Rogauracore repository from GitHub.
git clone https://github.com/wroberts/rogauracore.git cd rogauracore autoreconf -i
Configure this repository and build the package using
make. After building, you can install this in your computer.
./configure make sudo make install
The syntax of the rogauracore command looks like below.
rogauracore COMMAND ARGUMENTS
COMMAND should be one of the following:
For example, if we want to change the keyboard color to red (hex code FF0000), use the following rogauracore command:
sudo rogauracore single_static ff0000
If you find these commands not very intuitive and hard to memorize, you can install Rogauracore-GUI, a very simple GUI application built on the base of Rogauracore. This is just an electron wrapper of Rogauracore that will make your life easier.
AlienFX is a CLI tool to control RGB lighting in Alienware laptops with Linux. This tool is built using Python and requires
pyusb and the
pkg_resources Python package as a dependency. We are using the pip package manager to install all of the Python packages. If you don't have pip installed in your computer, install it using the following command:
sudo apt install python3-pip
Installing AlienFX in Linux
Let's install all of the dependencies one by one in our default Python environment.
pip3 install setuptools pip3 install --pre pyusb pip3 install future
After Python native dependencies are installed, install a distribution-specific Python package using the apt package manager.
sudo apt install libcairo2-dev python-gi python-gi-cairo
On Fedora, the command should look like this:
sudo dnf install cairo-devel python3-gobject cairo-gobject
Clone the repository of AlienFX from GitHub to the current working directory.
git clone https://github.com/trackmastersteve/alienfx.git cd alienfx
To install the AlienFX package, run the installation script using python3.
sudo python3 setup.py install sudo python3 setup.py install_data
To use this tool, you have to customize the config file in the "~/.config/alienfx" directory. If you don't want to configure it using the CLI, AlienFX has a GUI tool called alienfx-gtk, which gives you a nice GUI to alter any configuration AlienFX provides.
5. TUF Control
Tuf Control is a GUI wrapper for faustus, an experimental unofficial Linux platform driver module for ASUS TUF Gaming series laptops. It is a backport of the asus-wmi / asus-nb-wmi drivers from the mainline plus RGB backlight, crudely cut down to be useful for these laptops and packed as a DKMS module for 4.x / 5.x kernels.
faustus can control keyboard backlighting, fan boost and color control on an RGB keyboard.
Installing Faustus and TUF-Control in Linux
To install the faustus driver in your laptop, first create the "/etc/modprobe.d/faustus.conf" file:
sudo nano /etc/modprobe.d/faustus.conf
Paste the following contents into the file:
blacklist asus_wmi blacklist asus_nb_wmi
Save and quit the file. Reboot the system.
Next, install dkms in your system:
sudo apt install dkms
Clone the repository from GitHub and use make to install the module.
git clone https://github.com/hackbnw/faustus.git cd fastasus make dkms sudo modprobe faustus
To load the faustus module on boot, use the following command:
sudo make onboot
Tuf control is a very friendly GUI tool that helps to configure the faustus driver. You can compile the Tuf-control from the repository into both .deb and .rpm for Ubuntu- and Fedora-based distributions.
git clone https://github.com/icodelifee/TUF-Control.git cd TUF-Control/ npm install electron-packager -g npm run-script build npm install -g electron-installer-debian electron-installer-debian --src dist/tufcontrol-electron/ --dest dist/installers/ --arch amd64
To generate an .rpm package, please run the following commands one at a time.
git clone https://github.com/icodelifee/TUF-Control.git cd TUF-Control/ npm install electron-packager -g npm run-script build npm install -g electron-installer-redhat electron-installer-redhat --src dist/tufcontrol-electron/ --dest dist/installers/ --arch amd64
Frequently Asked Questions
Can I change RGB lighting without installing these tools?
It depends on your device manufacturer. If all of your RGB backlighting in stored in your BIOS and persists through reboots, then you can dual boot your system with Windows. In the Windows partition, install all the apps the manufacturer provides and change the lighting configuration from there. Boot again to the Linux partition, and your settings will still persist. The primary drawback of this trick is that you have to continuously boot Windows to change small configurations. This trick works on Asus TUF and HP Omen laptops.
How can I install new firmware and a custom kernel for RGB keyboard lighting?
Installing new firmware and a custom kernel in Linux is not difficult. If the device manufacturer makes its firmware open source, then the Linux kernel will include it. OpenRGB also includes an updated list of supported devices. If you are new to Linux, you can follow this complete guide on how to install firmware in Linux.
Why can't we run Windows apps like Armory Crates or the OMEN Control Center to configure RGB using Wine?
Wine is a compatibility layer that supports running windows apps in Linux, but as keyboard and mouse back-lighting are hardware related features, it is not possible to use Windows apps to configure Linux hardware. The API for both platforms are drastically different and no compatibility layer can narrow the gap. Therefore, you need a native application to control hardware-related features in Linux.
Image credit: Unsplash. All screenshots by Hrishikesh Pathak.
Our latest tutorials delivered straight to your inbox