This guide covers manual installation and an automated install example for
RHEL-family systems using dnf.
- Red Hat Enterprise Linux (RHEL)
- Rocky Linux
- AlmaLinux
- Oracle Linux
- CentOS Stream
The commands assume a minimal CLI system with sudo access.
sudo dnf makecache --refresh
sudo dnf install -y \
git \
gtk3 \
python3 \
python3-devel \
python3-dbus \
python3-gobject \
python3-pip \
python3-psutil \
python3-pyudev \
python3-setuptools \
python3-xlib \
python3-yamlOptional troubleshooting helpers:
sudo dnf install -y \
evemu \
libinput \
usbutilsgit clone https://github.com/pwr-Solaar/Solaar.git
cd SolaarInstall for the current user:
python3 -m pip install --user .Or install system-wide:
sudo python3 -m pip install .Install the recommended uinput rule:
sudo make install_udev_uinputVerify rule installation:
ls -l /etc/udev/rules.d/42-logitech-unify-permissions.rulesRollback udev rule installation:
sudo make uninstall_udevsolaaror:
python3 -m solaarUse the guided installer in this repository:
./tools/install-rhel.shMinimal non-interactive example script:
cat > install-rhel-solaar.sh <<'SCRIPT'
#!/usr/bin/env bash
set -euo pipefail
if [[ "${EUID}" -eq 0 ]]; then
echo "Run as a regular user with sudo access, not as root."
exit 1
fi
sudo dnf makecache --refresh
sudo dnf install -y \
git \
gtk3 \
python3 \
python3-devel \
python3-dbus \
python3-gobject \
python3-pip \
python3-psutil \
python3-pyudev \
python3-setuptools \
python3-xlib \
python3-yaml
if [[ ! -d Solaar/.git ]]; then
git clone https://github.com/pwr-Solaar/Solaar.git
fi
cd Solaar
python3 -m pip install --user .
sudo make install_udev_uinput
~/.local/bin/solaar --version
SCRIPT
chmod +x install-rhel-solaar.sh
./install-rhel-solaar.shcommand -v solaar
solaar --version
python3 -m pip show solaarIf installed with --user, ensure ~/.local/bin is on your PATH:
echo "$PATH" | tr ':' '\n' | grep -Fx "$HOME/.local/bin" >/dev/null || \
echo 'Add ~/.local/bin to PATH'Receiver not detected:
lsusb | grep -Ei 'logitech|046d'
sudo udevadm triggerCheck access to hidraw devices:
ls -l /dev/hidraw*
getfacl /dev/hidraw* 2>/dev/null | sed -n '1,80p'