Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,15 @@ MCP endpoint so AI agents can operate the machine too.

[Features](#features) · [Interface](#interface-overview) · [Architecture](#architecture) · [Quick start](#quick-start) · [Build](#building-from-source) · [API](#api-overview) · [Contributing](CONTRIBUTING.md) · [中文](README.zh-CN.md)

<picture>
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/demo/dark-02-remote-desktop.webp">
<img src="docs/assets/demo/light-02-remote-desktop.webp" alt="RustKVM web UI showing a Windows 11 target at 3840×2160, 60 fps" width="900">
</picture>

<img src="docs/assets/demo/rustkvm-demo.gif" alt="Pinning the sidebar, opening Settings and switching to the dark theme" width="900">

<sub>Live 4K60 target in the browser. More screenshots under <a href="#interface-overview">Interface overview</a>; full-resolution clip: <a href="docs/assets/demo/rustkvm-demo.webm">WebM</a>.</sub>

</div>

---
Expand Down Expand Up @@ -110,7 +119,15 @@ The web UI is a single-page app served by the device itself.

First launch opens a **setup wizard** where you choose password or no-password mode.

<!-- Screenshots: add docs/assets/ui-console.png and docs/assets/ui-settings.png taken from a running device, then embed them here. -->
| | Light | Dark |
| --- | --- | --- |
| **Remote desktop** | <img src="docs/assets/demo/light-02-remote-desktop.webp" width="400" alt="Remote desktop, light"> | <img src="docs/assets/demo/dark-02-remote-desktop.webp" width="400" alt="Remote desktop, dark"> |
| **Sidebar pinned** | <img src="docs/assets/demo/light-03-sidebar-pinned.webp" width="400" alt="Sidebar pinned, light"> | <img src="docs/assets/demo/dark-03-sidebar-pinned.webp" width="400" alt="Sidebar pinned, dark"> |
| **Settings** | <img src="docs/assets/demo/light-04-settings-general.webp" width="400" alt="Settings, General page, light"> | <img src="docs/assets/demo/dark-04-settings-general.webp" width="400" alt="Settings, General page, dark"> |
| **Focus mode** | <img src="docs/assets/demo/light-09-focus-mode.webp" width="400" alt="Focus mode, light"> | <img src="docs/assets/demo/dark-09-focus-mode.webp" width="400" alt="Focus mode, dark"> |
| **Connect** | <img src="docs/assets/demo/light-01-connect.webp" width="400" alt="Connect card"> | |

Click any image for full size. How these were captured and their sources: [docs/assets/demo/README.md](docs/assets/demo/README.md).

## Architecture

Expand Down
36 changes: 36 additions & 0 deletions docs/assets/demo/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Demo media

Screenshots and a short clip of the RustKVM web UI (English, light and dark
themes), used by the top-level README.

| File | What it shows |
| --- | --- |
| `light-01-connect.webp` | Connect card on a fresh page load |
| `{light,dark}-02-remote-desktop.webp` | Remote desktop: live target screen, titlebar with LEDs and actions |
| `{light,dark}-03-sidebar-pinned.webp` | Sidebar pinned open (navigation and connection status) |
| `{light,dark}-04-settings-general.webp` | Settings dialog, General page (appearance and language) |
| `{light,dark}-09-focus-mode.webp` | Focus mode: sidebar and titlebar hidden |
| `rustkvm-demo.gif` | 11 s loop: pin sidebar, open Settings, switch to dark, close, unpin (1280 px wide) |
| `rustkvm-demo.webm` | The same clip at 1920×1080 (VP9) |

## How they were made

- Device: RK3588 running RustKVM, capturing a Windows 11 target at
3840×2160, 60 fps.
- Browser: headless Chromium driven by Playwright at 1920×1080, device scale
factor 1. Theme and language were set in the browser's localStorage only.
- The scripts clicked only UI elements (sidebar, titlebar, settings dialog)
and sent no keyboard or mouse input to the target.
- Stills were saved as WebP (quality 85). The clip was recorded with the
Chrome DevTools screencast and encoded with ffmpeg; the GIF drops frames
identical to the previous one, because the UI changes in single steps.

## Sources and licenses

- **RustKVM UI**: this repository, GPL-2.0-only.
- **Target screen**: Google Chrome on Windows 11 showing this repository's
GitHub page (<https://github.com/Rust-KVM/rustkvm>). The page content is this
project's README and social preview image (GPL-2.0-only). Windows, Chrome and
GitHub interface elements belong to Microsoft, Google and GitHub, and appear
here as ordinary product screenshots.
- No third-party photos, videos or wallpapers are visible.
Binary file added docs/assets/demo/dark-02-remote-desktop.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/demo/dark-03-sidebar-pinned.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/demo/dark-04-settings-general.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/demo/dark-09-focus-mode.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/demo/light-01-connect.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/demo/light-02-remote-desktop.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/demo/light-03-sidebar-pinned.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/demo/light-04-settings-general.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/demo/light-09-focus-mode.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/demo/rustkvm-demo.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/demo/rustkvm-demo.webm
Binary file not shown.
Loading