Vento

Fast, fluid VNC/RDP remote desktop client for Android, with touchpad-style controls and multiple client backends.

Version 3 Android 14+ arm64 and x86_64 GPL-3.0

Features

Touchpad-style controls

Tap to click, two or three fingers to right or middle click, double-tap then drag to drag, two fingers to scroll, and pinch to zoom. You can also fling the cursor.

Accuracy assists

Improved precision for slow motion, axis locking, adaptive acceleration, and hovering.

Keyboard and mouse

Physical keyboards and mice are supported, with proper modifier and layout handling. The extension keyboard provides keys missing on soft keyboards.

IME fixes

Workarounds for composition and newline bugs in various Android IMEs.

Multiple backends

Multiple open-source libraries for VNC, RDP and SPICE are included. Each connection can use a different one.

Hardware acceleration

H.264 is decoded by the device where the server supports it, with the FreeRDP and TigerVNC client backends. RustDesk also supports H.265, VP8, VP9 and AV1.

Multi-window

Sessions can be opened in multiple windows, side by side with each other or another app.

Material Design 3

Follows the system colors and the light/dark theme.

Saved credentials

Saved passwords are encrypted with AES-256-GCM by a hardware-backed keystore. Server fingerprints are also stored and verified.

Desktop previews

Connection cards show the last state of the desktop. The previews are stored encrypted, and can be disabled.

Clipboard

Copied text is sent to and from the remote machine. Each direction can be turned off separately.

Import and export

Connections and settings can be exported and imported, with or without saved passwords.

Playground

A fake desktop for testing input and adjusting the control settings without a server.

Open source

GPL-3.0, no ads, no tracking, and reproducible builds. The control library is MIT so it can be used in other apps.

Backends

Each connection can use a different client implementation.

LibVNCVNC

Usually the best option for typical usage. Has the lowest bandwidth usage for small incremental updates, and is the most CPU efficient.

TigerVNCVNC

Fastest implementation, dropping the fewest frames, but using 2-5x the CPU usage. This is the only VNC backend which supports H.264 encoding, which is the most bandwidth-efficient for large screen updates, where supported by the server.

RustVNC

Rust RFB implementation. Does not support Tight encoding, and typically uses more bandwidth and performs worse on slow networks. Allows remote pointer position updates, where supported by the server.

FreeRDPRDP

The most robust RDP implementation. Supports EGFX with hardware-accelerated H.264 video, and supports audio. This is the best one to use with a Windows RDP server.

IronRDPRDP

Rust RDP implementation. Uses less CPU than FreeRDP, but drops more frames and does not properly support EGFX.

SPICESPICE

Usually used for QEMU/libvirt/Proxmox virtual machines. Supports clipboard and screen resizing if the guest agent is running.

RealVNCVNC

RealVNC's proprietary client implementation. This is the only one which supports UDP, ZRLE2, and RealVNC's proprietary authentication/encryption. It performs significantly better than the others when connecting to a RealVNC server.

RustDeskRUSTDESK

RustDesk backend supporting direct or rendezvous connections. Uses hardware-accelerated video codecs

RealVNC plugin

The RealVNC backend is a separate APK since RealVNC's client library is proprietary and can't be redistributed. The standalone plugin does not contain the client library either, and you will need to provide a RealVNC APK (e.g., from APKMirror) to use it.

Download

RustDesk plugin

The RustDesk backend is also available as separate APK.

Download

Screenshots

The connection list, with a card for each saved connection showing a preview of its desktop
Connection list.
The connection info panel open over a session, showing the backend, desktop size, options, and stats
Connection info panel.
The protocol picker in the connection editor, listing each backend with its description
Backend selection.
The settings screen with the session, backend, and app groups
Settings.
A connected session with the touch keyboard and the extension keyboard row
Session with the keyboard.
The playground, a fake desktop used for testing the controls
Input test view.

What's new

Version 3
  • Add hover assist based on cursor changes.
  • Add toolbar option for session controls.
  • Add two-line extension keyboard option.
  • Allow option/command keys to be hidden.
  • Fix IPv6 issues with some backends.
Version 2
  • Add SPICE backend.
  • Enable AnonTLS VNC auth for LibVNC and TigerVNC.
  • Add button to share a full-size screenshot.
  • Fix in-app plugin uninstall button.
  • Apply input setting changes to existing sessions.
  • Improve panning behaviour, add option to add margins.
  • Add more reset options.
  • Implement app shortcuts and home screen pinning.
Version 1
  • Initial release.