kvmd-armbian icon indicating copy to clipboard operation
kvmd-armbian copied to clipboard

🐛 [Bug] Compatibility issues with KVMD 4.107+ on Armbian Bookworm (Amlogic S905X3)

Open Melinio opened this issue 1 month ago • 0 comments

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!

Melinio avatar Oct 28 '25 02:10 Melinio