Files
2026-04-17 22:45:28 +00:00

33 lines
1.0 KiB
Bash

#!/bin/bash
# Enable USB gadget mode
# Fix or add dwc2 overlay
if grep -q "^dtoverlay=dwc2" /boot/config.txt; then
sudo sed -i 's/^dtoverlay=dwc2.*/dtoverlay=dwc2,dr_mode=peripheral/' /boot/config.txt
else
echo "dtoverlay=dwc2,dr_mode=peripheral" | sudo tee -a /boot/config.txt
fi
# Load required kernel modules
echo dwc2 | sudo tee /etc/modules-load.d/dwc2.conf
echo libcomposite | sudo tee /etc/modules-load.d/libcomposite.conf
# Install HID gadget script and service
sudo cp ~/rpikvm/hid-setup.sh /usr/local/bin/hid-setup.sh
sudo cp ~/rpikvm/hidg.service /etc/systemd/system/hidg.service
sudo chmod +x /usr/local/bin/hid-setup.sh
# Enable systemd service
sudo systemctl daemon-reload
sudo systemctl enable hidg.service
# Install Python + venv
sudo apt install python3 python3-pip python3-venv git -y
# Create virtual environment and install web UI dependencies
python3 -m venv ~/rpikvm
~/rpikvm/bin/pip install flask evdev
# Create the control webUI
mkdir -p ~/rpikvm/templates
sudo chmod +x ~/rpikvm/startApp.sh