This has been tested on CentOS 7, 8.
sudo yum install epel-release
sudo yum update
sudo yum install hidapi
If you're having trouble installing hdapi, try installing the epel from the Fedora site as follows:
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
and try the hdapi install again.
CentOS 7/8 ships with Python 3.6. We need to build version 3.8 (or later if you prefer).
sudo yum -y groupinstall "Development Tools"
sudo yum -y install openssl-devel bzip2-devel libffi-devel
wget https://www.python.org/ftp/python/3.8.9/Python-3.8.9.tgz
tar xvf Python-3.8.9.tgz
cd Python-3.8.9/
./configure --enable-optimizations
sudo make altinstall
You need to upgrade pip, using pip. In my experience, old versions of pip may fail to properly install some of the required Python dependencies.
python3.8 -m pip install --upgrade pip
The following will create a file called /etc/udev/rules.d/70-streamdeck.rules
and add the following text to it: SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", TAG+="uaccess"
. Creating this file adds a udev rule that provides your user with access to USB devices created by Elgato.
sudo sh -c 'echo "SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", TAG+=\"uaccess\"" > /etc/udev/rules.d/70-streamdeck.rules'
sudo sh -c 'echo "KERNEL==\"uinput\", SUBSYSTE==\misc\, TAG+=\"uaccess\"" >> /etc/udev/rules.d/70-streamdeck.rules'
For the rule to take immediate effect, run the following command:
sudo udevadm trigger
If the software is having problems later to detect the Stream Deck, you can try unplugging/plugging it back in.
python3.8 -m pip install streamdeck-linux-gui --user
Please make sure you have followed the steps below untill the Install Stream Deck UI section before continuing.
The steps to install from source can be found here
streamdeck
See troubleshooting for tips if you're stuck.