Repository navigation
Releases: dormancygrace/NanoKVM-OS-packages
Release list
NanoKVM RustDesk 0.5.3-r0 source (RustDesk 1.5.0)
RustDesk HID requests previously canceled the Go bridge before its USB write, or failed with Broken pipe when an immediate control response closed the socket before an unused request body was written. Version 0.5.3 keeps the write half open until the response, sends bodyless prepare/heartbeat/close requests, and sends HTTP headers and report bodies together.
The add-on is based on RustDesk 1.5.0. The source includes the NanoKVM r25 HID bridge. Package files and corresponding source are published here; the unsigned device-test APK is not published and no source archive is installed on the device.
Validation: both regressions failed before their respective fixes and pass afterward; 57 Rust tests passed, 3 hardware qualification tests remain opt-in; strict Clippy passed. On the test device, both mouse HID routes returned HTTP204 and 100 bodyless heartbeat requests succeeded. Real Windows and Android RustDesk sessions retained input permission after the fixes; an Android trace included mouse press and release reports with HTTP204. The user confirmed complete screen-control acceptance after temporarily making the captured NanoKVM display the Windows primary monitor. With the generic absolute HID mouse, Windows maps coordinates to the primary display; a secondary HDMI capture therefore requires correct display/pointer association. After testing, the Acer primary monitor was restored, the RustDesk runtime and all test loads were stopped, and USB audio was left enabled.
USB factory defaults, native libraries, performance settings and the existing password/identity are unchanged.
Finalized on 2026-10-04 after user acceptance. Final qualification and limitations are published separately; the accepted source archive, package recipes and local test APK are unchanged. Finalization updated documentation only and did not reconnect to the device or restart any service. This is a finalized corresponding-source release; signed APK/repository distribution remains separate.
RustDesk 0.5.3-r5 for NanoKVM OS (Alpha)
RustDesk 0.5.3-r5 for NanoKVM OS (Alpha)
Refresh the optional RustDesk add-on with Rust 1.99.1 and the current locked dependencies. Uses the RustDesk 1.5 protocol and supports the official servers or your own server.
Install or update through Settings → Software → Add-ons. The add-on is distributed separately and is not bundled in Image v1.3.
59 host tests, the RISC-V target check and a C906 QEMU startup check passed. Three device tests were excluded; this revision has not had a new end-to-end RustDesk client test.
Assets include the signed APK, corresponding-source archive, generated APKBUILD and SHA256SUMS. The package and repository index accept both release signing keys.
RustDesk 0.5.3-r4 for NanoKVM OS (Alpha)
🧩 RustDesk add-on 0.5.3-r4
A separate, optional package for NanoKVM OS, available from the signed APK repository. It is not bundled in the full image or the main application release.
This revision refreshes the C906 release build and locked dependencies. The add-on remains version 0.5.3, using RustDesk protocol base 1.5.0; this is not the desktop client's version number. Both the standard RustDesk public servers and your own server remain supported.
Install or update
Use Software → Add-ons → RustDesk. Refresh the package index to discover the update. From an existing unpinned installation, use apk update followed by apk upgrade nanokvm-rustdesk.
The source archive contains the corresponding vendored sources. The APK is signed with both the RSA and ECDSA release keys.
Validation and alpha status
59 Rust tests passed; three device-dependent tests were ignored. MSRV and target checks, C906-emulated version startup, signatures, and install/upgrade/removal lifecycle checks passed. A new end-to-end RustDesk client session was not tested for this revision.
This is an alpha add-on release.
RustDesk 0.5.3-r3 for NanoKVM OS (Alpha)
🧩 RustDesk add-on 0.5.3-r3
A separate, optional package for NanoKVM OS. It is distributed through the signed APK repository and is not bundled in the main application release or SD image.
- Updated locked Rust dependencies and the hbb_common source snapshot.
- The qualified C906 scalar build remains the default, with full LTO and the existing in-place framing/crypto optimizations.
- RustDesk protocol reference: 1.5.0. The APK revision is the version of this partial NanoKVM endpoint, not the desktop client.
Use Software → Add-ons → RustDesk to check for and install updates. From a root shell, refresh indexes with apk update, then update the optional package with apk upgrade nanokvm-rustdesk.
The download includes the signed APK, corresponding vendored source, APKBUILD, OpenRC lifecycle files and checksums. Host verification passed: 59 Rust tests (3 hardware-only tests ignored), signature verification, dependency guards, running-service upgrade, removal and preserved settings. This is an alpha add-on; this revision has not received a new end-to-end RustDesk client/device session test.
RustDesk 0.5.3-r2 for NanoKVM OS (Alpha)
Signed RustDesk 0.5.3-r2 add-on for NanoKVM OS v2.5-a1. Built with the performance profile and based on RustDesk 1.5.0. Includes the corresponding source archive, package recipe, OpenRC integration and checksums. APK signature and upgrade/removal checks passed. This is an alpha add-on release; installation on the test device was not performed for this publication.
NanoKVM RustDesk add-on 0.5.1-r0 — source and build files
Android control could fail while a NanoKVM Windows absolute-mouse auxiliary report waited for USB readiness. A first connection could also fail during encoder startup.
NanoKVM add-on 0.5.1, based on RustDesk 1.5.0, announces the negotiated input permission at login. Its corresponding app integration bounds nonblocking USB writes, translates Android absolute positions for a relative-only USB profile, and waits briefly for the first usable encoded frame. Firmware mouse defaults remain unchanged.
Validation: Go race tests passed for the bridge, HID, shared stream and input coordinator; Rust tests (55 passed, 3 device qualification tests ignored) and strict Clippy passed. Device control and first-connection acceptance are pending the user's test.
This prerelease publishes corresponding source and Alpine build/lifecycle files. The source archive stays off the device.
NanoKVM RustDesk 0.5.0-r0 (RustDesk 1.5.0)
NanoKVM RustDesk add-on 0.5.0-r0, based on RustDesk protocol 1.5.0.
Enabling remote access or starting its service prepares USB keyboard, absolute and relative mouse. Transmit sound defaults on and prepares USB audio; switching it off stops RustDesk audio while retaining the shared USB audio function. HID errors disable input for that connection while preserving video/audio.
This release publishes corresponding source and Alpine packaging recipes. Source archives are not installed on NanoKVM. The add-on requires nanokvm-app capabilities bridge=1, webrtc=1, audio=1, auto-codec=1 and usb-defaults=1; the development device application package is 2.0_beta8-r20.
Host verification: 55 Rust tests passed, 3 external-device tests ignored; Clippy, Go teststub race tests for rustdesk/vm/router, ESLint, TypeScript and Vite passed. Connection, mouse/keyboard and audible sound acceptance on the device are reserved for the user by explicit request. Existing hardware libraries and runtime performance settings are retained.
NanoKVM RustDesk 0.4.1-r0: automatic shared codec
RustDesk 0.4.1-r0 automatically follows the shared NanoKVM H.264/H.265 encoder at every login. Legacy add-on codec preferences no longer cause conflicts. The separate codec selector was removed; change the device codec in video settings and reconnect existing RustDesk sessions. RustDesk protocol basis remains 1.5.0. USB audio is preserved.
Requires the matching app runtime with nanokvm-rustdesk-auto-codec=1. Source and recipes only; unsigned development APKs are retained locally. Host Rust tests and Clippy, Go race tests, and TypeScript/Vite build passed. Device qualification is recorded separately.
Own-device qualification: matching app 2.0_beta8-r19 and add-on 0.4.1-r0 installed; automatic media metadata selected H.265. A six-second authenticated RustDesk TCP probe through SSH delivered 359 H.265 video messages. Persistent config/identity, shared video settings and USB Off were preserved. Native desktop display and remote transport acceptance remain separate.
NanoKVM RustDesk 0.4.0-r0 corresponding source
NanoKVM RustDesk 0.4.0-r0 corresponding source, based on the RustDesk 1.5.0 protocol reference.
Adds optional sound from the connected computer's USB audio output: shared Opus, 48 kHz stereo, 20 ms packets. Audio uses the existing RustDesk message stream over encrypted TCP, relay or optional WebRTC. Client mute releases its capture subscription while video continues. USB composition remains controlled by the existing device settings.
Requires an updated NanoKVM app providing nanokvm-rustdesk-audio=1, bridge=1 and webrtc=1. Upgrade the app first. These source and packaging assets are published separately; no source archive or vendored dependencies are installed on the device.
Verified: 52 Rust host tests, Clippy, Go race checks, isolated APK dependency/upgrade/removal checks, offline exported-source builds, and real USB stereo PCM through the app and RustDesk audio messages. The hardware test received 593 Opus packets and decoded the separate 440/880 Hz channels; mute preserved video and sent no audio, then unmute resumed. The hardware path used authenticated loopback TCP protected by SSH. Full desktop-client audible playback and audio over remote WebRTC remain separate client qualification steps.
Source SHA-256: 6e99b196d69bd81c5e8eca7a346bc2d467992bad91b52b0b10a7ae9e9a8982b1
NanoKVM RustDesk 0.3.0-r2 corresponding source
NanoKVM RustDesk HDMI/HID endpoint 0.3.0-r2, based on RustDesk 1.5.0 protocol reference (fada664df7a294d1d1a9ca3e7cd3637069122f17; hbb_common 229b904508364c8997aad0fb5af57effac859f60).
Corresponding source and checksummed Alpine production recipe only. The package repository index is unchanged by this source release.
Changes: classic encrypted direct TCP by ID and LAN address rendezvous, bounded relay fallback, WebRTC opt-in for both existing and new configuration. RustDesk 1.5 clients must disable their WebRTC option to request TCP by ID. KX v1, passwords, view-only controls and connection limits apply to the direct path.
Packaging uses fresh temporary source/payload trees and refuses artifact overwrite. WebRTC setup sockets and signaling writes have timeouts and shutdown handling. No source archive is installed on NanoKVM; the package records this immutable download URL and SHA-256.
Build from the source archive using locked vendored Cargo crates offline. APKBUILD beside the archive pins its SHA-512 and the init script; lifecycle hooks are included here and in source packaging/. This is a partial endpoint, not the complete RustDesk desktop client.
Device qualification: an explicitly configured own NanoKVM was reached by ID over direct TCP with signed identity verification, KX v1 encryption and view-only login. The headless controller received 1198 encoded H.264 frames in 20 seconds (59.9 received frames/s, 14,025,983 bytes). This is reception, not decoded/display FPS. Configuration, identity and native libraries were preserved; sessions returned to zero and USB remained unbound.