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'
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-ui --user
Launch with
streamdeck
See troubleshooting for tips if you're stuck.