kv v0.7.0
kv
KV is a modern, simple remote KVM solution. Minimal dependencies, easy to set up, and designed for performance.
Features
- Stream video and audio from the server's HDMI output
- Send keyboard and mouse events from a single-board computer (SBC) to the server
- Expose disk images to the server as if they were plugged via USB thumb drives
You can see a short demo video here
Some more information in the website
Known Bugs
- Framerate detection is broken. You can use
-f
as a workaround.
TODO
- ✅ Audio streaming
- ✅ Basic Auth
- ✅ Change resolution
- Use ttyd to access the kvm itself
- ✅ Performance improvements
- ✅ Better UX for mass storage
- SSL support
- Video/Audio demuxing
- Other pixel formats support
Installation
You can build from source or get the static binaries from the releases page
Put it somewhere, run it, look at the options.
Usage
To setup a KVM you need:
- A SBC with an OTG port (the kvm). I use a Radxa Zero.
- A system you want to control (the server)
- A USB dongle to capture HDMI (these are super cheap)
- Misc cables and adapters
Here's how my setup looks:
The white cable goes from the OTG port in the SBC to a regular USB port in the server. Through this cable the server powers the SBC and the SBC sends keyboard and mouse events to the server.
The HDMI dongle is connected to a USB port in the SBC and captures the HDMI output from the server via a normal HDMI cable.
You can ignore the black cable, that's monitor output for the SBC and you would normally not have it.
More details in docs/handbook.md.
Development
Details to be explained
Contributing
- Fork it (https://github.com/ralsina/kv/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- Roberto Alsina - creator and maintainer
kv
- 76
- 1
- 0
- 0
- 8
- about 20 hours ago
- July 7, 2025
MIT License
Fri, 18 Jul 2025 22:19:22 GMT