Skip to content

Viewer

We provide multiple options for the viewer.

Desktop

We offer standalone apps for Windows and Linux, you can download them from the releases.

Installation

Windows

Download the .exe from the latest release and run it.

Linux (Flatpak)

Download the .flatpak file from the latest release and install it:

flatpak install --user v3xctrl-viewer-linux-*.flatpak

Then run it:

flatpak run com.v3xctrl.viewer

Note

You need Flatpak installed on your system. Most distributions include it by default. If not, see flatpak.org/setup for instructions.

Usage

Press Esc at any time to toggle the menu.

Settings will be applied after you hit the "Save" button and click "Back".

Recording

You can start and stop recording from the viewer menu: open the menu with Esc, switch to the "Streamer" tab, and click "Start Recording" or "Stop Recording".

You can also toggle recording with the R hotkey.

A recording indicator will appear in the OSD when recording is active, whether triggered from the viewer or via auto-recording on the streamer. See Streamer - Recording for auto-recording setup and storage details.

Hotkeys

Key Action
Esc Toggle menu
F11 Toggle fullscreen
R Toggle recording
W / S Throttle forward / reverse
A / D Steer left / right
Left / Right Trim steering

OSD (On-Screen Display)

The viewer shows an on-screen display with real-time telemetry. You can toggle individual OSD elements in the menu under the "OSD" tab.

Available widgets:

Widget Description
Clock Real-time clock, useful for latency measurement
FPS Current framerate
Battery Battery voltage, average voltage, percentage, and current draw from INA sensor
Signal Quality Modem signal strength and active band
Recording Recording indicator (visible when recording is active)
Steering Steering input indicator
Throttle Throttle input indicator
GPS Fix type, satellite count, and speed
Debug Latency breakdown, data rates, and diagnostic info
Cell ID Cell tower ID (disabled by default for privacy)

Widget positions can be customized by editing settings.toml directly. See Editing settings for the file location.

Debug output

For troubleshooting, you can run the GUI with debug logging enabled:

v3xctrl --log DEBUG

By default, only ERROR level messages and above are shown. The debug log includes:

  • UI state changes
  • Incoming/outgoing control messages
  • Errors and exceptions

Logs are printed directly to the terminal where the GUI was started.

Editing settings

On first start, a settings.toml file is generated with all available configuration values.

  • Not all settings are exposed in the GUI. You can manually edit settings.toml to access additional options. Here you can find the path to your config file.

  • Example use case: Moving or resizing OSD elements by adjusting their coordinates in the config file.

After manual edits, restart the GUI to apply changes.

Mobile

We offer an APK for Android. It is currently not available through Google Play, but you can download it from the releases.

Installation

Download the APK from the latest release and sideload it onto your Android device. You may need to enable "Install from unknown sources" in your device settings.

Connection

The Android viewer only supports connection via the relay, so you will need a valid session ID. You can obtain one by joining our Discord.

Both UDP and TCP transport are supported. If your carrier blocks UDP, switch to TCP in the connection settings. See Connection Types - Transport for details.

Features

  • Hardware-accelerated H.264 video decoding
  • Touch controls for steering and throttle
  • Motion controls (tilt device to steer)
  • Gamepad support via Bluetooth or USB
  • Picture-in-Picture mode
  • OSD with battery, signal quality, cell info, and latency
  • Start/stop video and recording from portrait mode
  • Inverted controls support
  • Spectator mode

Performance

30 FPS works on essentially any Android phone -- all devices from the last 5+ years have hardware-accelerated H.264 decoding.

60 FPS works on high-end and most mid-tier phones. If you experience frame drops at 60 FPS, try enabling your device's gaming/performance mode. This prevents the OS from throttling CPU and GPU clocks and prioritizes the app's resource usage.

Brand Feature Where to find it
Samsung Game Booster Settings > Advanced features > Game Launcher
Xiaomi/Redmi Game Turbo Settings > Special features > Game Turbo
OnePlus Game Mode Settings > Utilities > Game Mode
Stock Android / Nothing Game Dashboard Settings > Apps > Game Settings (swipe from left edge in-game)
Google Pixel Game Dashboard Settings > Apps > Game Settings
OPPO/Realme Game Space Settings > Special Features > Game Space
Vivo/iQOO Ultra Game Mode Settings > Ultra Game Mode
Huawei/HarmonyOS GameCenter Separate app from AppGallery

Known limitations

  • Relay connection only (no direct mode)
  • Control inputs may arrive with a slight delay in poor reception conditions
  • Some carriers (e.g., Google Fi, VIVO) block UDP. Use TCP transport as a workaround.