Librekontrol is available exclusively for GNU/Linux systems. It is dependent on device definitions in the kernel Linux and its sound subsystem. Thus, it is not portable to other systems.
Running Librekontrol requires the following software:
alsa-lib, however the name might vary depending on your GNU/Linux distribution)
In addition, the following software is required to build Librekontrol from source:
If installing Librekontrol from source, simply follow the standard GNU method for installing software:
Finally, Librekontrol requires that the user has permission to read and write to input devices. The following steps require administrator access to the system.
Each input device is defined by a file-like interface in the /dev/input directory. Check the owner/group of the input device file interface:
$ ls -l /dev/input total 0K ... crw-rw---- 1 root input 13, 64 Mar 20 21:24 event0 crw-rw---- 1 root input 13, 65 Mar 20 21:24 event1 ...
Here we see that files are owned by root and belong to the
input group. In order to access the input files, add your user
to the appropriate group. For example, ‘gpasswd -a myuser
input’. If, for whatever reason, your /dev/input directory
looks different, you might have to give user input-event permissions
via udev rules
Finally, you need to a) be sure that the “uinput” kernel module is
loaded (e.g. by running ‘modprobe uinput’) and b) create a udev
rule to give users in the
input group permission to read and
write from the /dev/uinput device:
Create a file at /etc/udev/rules.d/99-librekontrol.rules that contains:
KERNEL=="uinput", GROUP="input", MODE="0660"
After you reboot your system, you should have full access to input events (including “virtual” events used in button remapping in Librekontrol).
Caution: Do not run Librekontrol with elevated privileges (i.e. as root). It can run arbitrary Scheme code, which is a bad idea to do as a superuser without good reason. You should use the group method described above to avoid the need to run the software as root.