🐛 [Bug] Compatibility issues with KVMD 4.107+ on Armbian Bookworm (Amlogic S905X3)
Hello! Thank you for maintaining this excellent installation script. I've encountered critical compatibility issues when installing KVMD on Armbian Bookworm (kernel 6.1.157) for Amlogic S905X3 devices.
Environment:
Platform: Amlogic S905X3 TV Box
OS: Armbian_25.11.0_amlogic_s905x3_bookworm_6.1.157_server_2025.10.24
Script version: Latest from master branch
KVMD version installed: 4.107+ (latest)
Issues Identified:
KVMD 4.107 Breaking Changes (Oct 23, 2025)
Configuration structure completely changed
/etc/kvmd/main.yaml moved to /usr/lib/kvmd/main.yaml
/etc/kvmd/logging.yaml removed entirely (embedded into code)
Script fails at stage 2 with: kvmd: error: argument -c/--config: invalid valid_abs_file value: '/etc/kvmd/main.yaml'
Logging Configuration Error
Error: ValueError: dictionary doesn't specify a version
Python's logging.config.dictConfig() requires version: 1 parameter
Old configuration files don't include this parameter
ATX GPIO Failure
Error: OSError: [Errno 19] No such device
/dev/gpiochip0 doesn't exist or has different path on Amlogic
Causes: RuntimeError: Deadly task is dead: ATX (gpio)
USB OTG Device Mode Issue
Amlogic S905X3 USB controller defaults to host mode
Requires manual switch: echo device > /sys/bus/platform/drivers/dwc3-meson-g12a/ffe09000.usb/usb_role/ffe09000.usb-role-switch/role
HID devices /dev/kvmd-hid-keyboard and /dev/kvmd-hid-mouse not created
MSD Mount Error
Error: RuntimeError: Can't find 'otgmsd' mountpoint
Requires PARTLABEL=otgmsd entry in /etc/fstab
Proposed Solutions:
Add KVMD Version Selection
# In install.sh, add option to specify version:
KVMD_VERSION="${KVMD_VERSION:-latest}" # Default to latest or allow override
# Example: KVMD_VERSION=4.95 ./install.sh
Detect and Handle KVMD 4.107+ Changes
Check installed KVMD version
Create symbolic link: ln -s /usr/lib/kvmd/main.yaml /etc/kvmd/main.yaml
Skip logging.yaml creation for versions 4.107+
Platform-Specific Configurations
Detect Amlogic chipset and disable ATX GPIO by default
Add USB OTG mode switching for Amlogic devices
Create systemd service to set device mode on boot
Add Compatibility Check
# Before installation:
if [ KVMD version >= 4.107 ]; then
echo "Warning: KVMD 4.107+ detected. Using new configuration structure..."
fi
Workaround (temporary):
Until the script is updated, users can manually install older KVMD version:
pip3 uninstall kvmd
pip3 install kvmd==4.95
Request:
Could you please:
Add an option to select KVMD version during installation (e.g., KVMD_VERSION=4.95 ./install.sh)
Update script to handle KVMD 4.107+ configuration changes
Add platform detection for Amlogic devices with appropriate USB OTG configuration
Thank you for your time and excellent work on this project!