Control your target computer remotely with keyboard, video, and mouse over a single USB connection.
Openterface Mini-KVM is a compact KVM (Keyboard-Video-Mouse) switch that lets you control a target computer remotely from your host machine using a single USB connection. No network required. Ideal for:
- 💻 Managing headless servers and embedded systems
- 🎮 Controlling IoT devices and Raspberry Pi systems
- 🔧 Hardware debugging and development
- 🏢 Data center and lab management
- 📱 Controlling phones, tablets, and ARM devices
Note: This is the QT version for Linux & Windows. Currently in active development with feature parity improvements underway.
- Quick Start
- Features
- Supported OS
- Installation
- Build from Source
- Development
- Troubleshooting
- Support & Community
- License
- Download the latest installer from Releases
- Run the installer (it installs drivers + app automatically)
- Launch Openterface Mini-KVM from your Start Menu
- Connect your Mini-KVM device via USB
Fastest way (~30 seconds):
curl -fsSL https://raw.githubusercontent.com/TechxArtisanStudio/Openterface_QT/main/build-script/install-release.sh | bashThen run:
openterfaceQTFor other methods and detailed setup, see Installation section below.
- Basic KVM operations
- Mouse control absolute mode
- Mouse relative mode
- Audio playing from target
- Paste text to Target device
- OCR text from Target device
- Other feature request? Please join the Discord channel and tell me
For a detailed list of features, please refer to the Features Documentation.
| OS | Version | Status |
|---|---|---|
| 🪟 Windows | 10, 11 (x86 only) | ✅ Supported |
| 🐧 Ubuntu | 22.04+ | ✅ Supported |
| Linux Mint | 21.3+ | ✅ Supported (Qt 6.4+ required) |
| openSUSE | Tumbleweed | ✅ Supported (community-built) |
| 🔋 Raspberry Pi OS | 64-bit | ✅ Supported |
| 🔋 Raspberry Pi OS | 32-bit | ❌ Not supported (Qt too old) |
- Download the latest installer from GitHub Releases (x86 architecture)
- Run the installer — it will automatically install drivers and the application
- Launch Openterface Mini-KVM from your Start Menu or application folder
- Connect your Mini-KVM device via USB
Note: On Windows 11 Version 22H2, some users report driver installation issues. If keyboard/mouse don't respond, manually install the CH340 driver from the WCH website or use the repository driver with
pnputil -a CH341SER.INF(run as Administrator).
Choose the method that best suits your needs:
| Method | Speed | Effort | Best For |
|---|---|---|---|
| Pre-built Binary | ⚡ ~30 sec | Minimal | Most users — fastest & easiest |
| Build from Source | 5-30 min | Medium | Custom modifications needed |
| Manual Install | Varies | High | Advanced users & troubleshooting |
Install in ~30 seconds (no compilation):
curl -fsSL https://raw.githubusercontent.com/TechxArtisanStudio/Openterface_QT/main/build-script/install-release.sh | bashSupported distributions: Ubuntu/Debian, Fedora/RHEL, openSUSE, Arch Linux
What it does automatically:
- ✅ Downloads pre-built binary for your architecture (x86_64 or ARM64)
- ✅ Installs runtime dependencies (Qt6, FFmpeg, USB libraries)
- ✅ Configures device permissions (udev rules, user groups)
- ✅ Creates desktop menu integration
To install a specific version:
VERSION="v0.5.17" bash <(curl -fsSL https://raw.githubusercontent.com/TechxArtisanStudio/Openterface_QT/main/build-script/install-release.sh)Then launch:
openterfaceQTQuick automated build (5-30 minutes depending on hardware):
curl -fsSL https://raw.githubusercontent.com/TechxArtisanStudio/Openterface_QT/main/build-script/install-linux.sh | bashBy default, this builds the stable version. To build a specific version:
# Build a specific version/tag
BUILD_VERSION="v1.0.0" bash <(curl -fsSL https://raw.githubusercontent.com/TechxArtisanStudio/Openterface_QT/refs/heads/main/build-script/install-linux.sh)
# Build latest development version
BUILD_VERSION="main" bash <(curl -fsSL https://raw.githubusercontent.com/TechxArtisanStudio/Openterface_QT/refs/heads/main/build-script/install-linux.sh)For detailed build instructions and developer setup, see Build from Source and Development sections below.
For advanced users who prefer manual control:
- Download the pre-built
.debpackage from GitHub Releases - Install dependencies:
sudo apt install -y \
libqt6core6 libqt6dbus6 libqt6gui6 libqt6network6 \
libqt6multimedia6 libqt6multimediawidgets6 libqt6serialport6 \
libqt6svg6 libqt6concurrent6t64 libusb-1.0-0-dev libssl-dev \
libavutil58 libavformat60 libavdevice60 libturbojpeg0 \
libva1 libva-drm2 libva-x11-2 libgstreamer1.0-0- Configure permissions:
# Add serial and video permissions
sudo usermod -a -G dialout,video $USER
# On Arch Linux, use 'uucp' instead of 'dialout'
sudo usermod -a -G uucp $USER
# Setup udev rules for device access
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="534d", ATTRS{idProduct}=="2109", TAG+="uaccess"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="534d", ATTRS{idProduct}=="2109", TAG+="uaccess"
SUBSYSTEM=="ttyUSB", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", TAG+="uaccess"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", TAG+="uaccess"' | sudo tee /etc/udev/rules.d/51-openterface.rules
sudo udevadm control --reload-rules
sudo udevadm trigger- Install the package:
unzip openterfaceQT.deb.zip
sudo dpkg -i openterfaceQT.deb- Run the application:
openterfaceQTNote: You may need to log out and log back in for group permissions to take effect.
For detailed build instructions, see docs/BUILD.md.
Quick links:
Want to contribute? We'd love your help! Here's how to get started:
-
Clone the repository:
git clone https://github.com/TechxArtisanStudio/Openterface_QT.git cd Openterface_QT -
Install build dependencies: See Build from Source section for your OS
-
Build locally:
mkdir build && cd build cmake .. make ./openterfaceQT
- Report bugs: Open an issue
- Suggest features: Discuss in Issues
- Submit changes: Create a Pull Request
For detailed contribution guidelines, see CONTRIBUTING.md.
We welcome contributions including:
- 🐛 Bug fixes
- ✨ Feature implementations
- 📖 Documentation improvements
- 🌍 Translations
- 🧪 Test coverage
- Ensure the CH340 serial chip driver is installed. Download from WCH website
- Alternatively, install from the repository driver:
(Run as Administrator)
pnputil -a path\to\CH341SER.INF
- Download the CH340 driver from WCH website
- Extract and compile:
tar -xzf CH341SER_LINUX.tar.gz cd CH341SER make sudo make install - Load the driver:
sudo modprobe ch341
- Unplug and reconnect the device
- If still not working, check permissions using the Linux Installation - Manual section
For more troubleshooting, see docs/BUILD.md#troubleshooting.
Have questions or found a bug? We're here to help!
- 💬 Discord: Join our community for real-time discussions
- 🐛 GitHub Issues: Report bugs or request features
- 📧 Email: techxartisan@gmail.com
This project is licensed under AGPL-3.0 (Affero General Public License).
- ✅ Free to use, modify, and distribute
- ✅ Source code must be made available to recipients
- ✅ Modifications must be released under AGPL-3.0
- ❌ No warranty provided
For full license details, see LICENSE file in this repository.
This project uses excellent open-source libraries:
| Library | Version | License |
|---|---|---|
| Qt Framework | 6.4+ | LGPL v3 |
| libusb | 1.0.26+ | LGPL v2.1 |
| FFmpeg | Latest | LGPL v2.1+ / GPL v2 |
| FreeType | 2.13.2+ | GPL v2 / FreeType License |
| Fontconfig | 2.14.2+ | MIT License |
| PulseAudio | 16.1+ | LGPL v2.1+ |
| libxkbcommon | 1.7.0+ | MIT License |
For detailed license compliance information and LGPL library linking details, see LICENSE.
Questions about licensing? Email us or open an issue.