# Pi-KVM — Open Source IP-KVM on Raspberry Pi > An open and inexpensive DIY IP-KVM solution based on Raspberry Pi that gives you remote BIOS-level access to any server over the network. ## Install Save as a script file and run: # Pi-KVM — Open Source IP-KVM on Raspberry Pi ## Quick Use ```bash # Flash the Pi-KVM OS image to an SD card # Connect Raspberry Pi to the target server via HDMI capture + USB OTG # Boot and access the web UI at https:// # Default credentials: admin / admin ``` ## Introduction Pi-KVM turns a Raspberry Pi into a full-featured IP-KVM (keyboard, video, mouse over IP) device. It lets you control any computer remotely at the BIOS/UEFI level — power on, change boot settings, reinstall an OS — without installing any software on the target machine. ## What Pi-KVM Does - Captures HDMI or VGA video from a target machine and streams it to a web browser - Emulates USB keyboard, mouse, and mass storage to the target via OTG - Controls power and reset via ATX GPIO connections or smart PDUs - Supports virtual media for mounting ISO images as USB drives remotely - Works at BIOS/UEFI level, independent of the target's operating system ## Architecture Overview Pi-KVM runs a custom Linux distribution on Raspberry Pi 4 or later. The video capture pipeline uses a CSI or USB capture device, feeding frames through uStreamer (a fast MJPEG/H.264 streamer). The input emulation uses the Pi's USB OTG port with a custom HID daemon. The web UI is built with JavaScript and communicates over WebSocket. An optional VNC server exposes the same feed to standard VNC clients. ## Self-Hosting & Configuration - Requires Raspberry Pi 4/5, an HDMI-to-CSI or USB capture adapter, and a USB-A to USB-C OTG cable - Flash the Pi-KVM OS image using Raspberry Pi Imager or dd - Edit `/etc/kvmd/override.yaml` to configure resolution, frame rate, and ATX GPIO pins - Access the web interface over HTTPS on port 443 with automatic self-signed certificates - Integrate with Wake-on-LAN, IPMI, or smart PDUs for remote power control ## Key Features - Full BIOS-level remote access without any agent on the target - Low latency H.264 video streaming at up to 1080p 60fps - Virtual CD-ROM and flash drive for remote OS installation - Two-factor authentication and user management in the web UI - Open hardware designs available for custom enclosures and HATs ## Comparison with Similar Tools - **IPMI/iLO/iDRAC** — Built into enterprise servers; proprietary, expensive, and vendor-locked - **TinyPilot** — Similar Raspberry Pi KVM; commercial product with closed firmware - **Apache Guacamole** — Remote desktop gateway for VNC/RDP/SSH; requires OS-level access on the target - **Neko** — Browser-based virtual desktop in Docker; runs a full desktop, not bare-metal KVM - **RustDesk** — Peer-to-peer remote desktop; requires agent software on the target ## FAQ **Q: Which Raspberry Pi models are supported?** A: Raspberry Pi 4 and 5 are fully supported. Pi Zero 2 W works for basic setups but with limited performance. **Q: Can I use Pi-KVM with multiple servers?** A: Use a KVM switch between the Pi and multiple servers, or deploy one Pi-KVM unit per server for dedicated access. **Q: Does Pi-KVM work without an HDMI capture device?** A: No. The HDMI capture adapter is essential for video. CSI-based adapters offer lower latency than USB capture. **Q: How secure is Pi-KVM?** A: It uses HTTPS, supports TOTP two-factor auth, and runs on a read-only filesystem by default. Place it on a management VLAN for best security. ## Sources - https://github.com/pikvm/pikvm - https://pikvm.org --- Source: https://tokrepo.com/en/workflows/asset-b694d47d Author: Script Depot