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/60-streamdeck.rules
with all the necessary udev rules that provides your user with access to USB devices created by Elgato.
sudo wget https://raw.githubusercontent.com/streamdeck-linux-gui/streamdeck-linux-gui/main/udev/60-streamdeck.rules -O /etc/udev/rules.d/60-streamdeck.rules
alternatively to grabbing the file directly from the repository you can use the following command:
sh -c "echo -e 'SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", ATTRS{idProduct}==\"0060\", TAG+=\"uaccess\"\\n'\
'SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", ATTRS{idProduct}==\"0063\", TAG+=\"uaccess\"\\n'\
'SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", ATTRS{idProduct}==\"006c\", TAG+=\"uaccess\"\\n'\
'SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", ATTRS{idProduct}==\"006d\", TAG+=\"uaccess\"\\n'\
'SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", ATTRS{idProduct}==\"0080\", TAG+=\"uaccess\"\\n'\
'KERNEL==\"uinput\", SUBSYSTEM==\"misc\", OPTIONS+=\"static_node=uinput\", TAG+=\"uaccess\", GROUP=\"input\", MODE=\"0660\"' > /etc/udev/rules.d/60-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.