Skip to content

Repository files navigation

UberDisplay

license stars forks watchers issues status platform

UberDisplay is a multi-component system that turns an Android device into an external display and input surface for a host computer. This repository includes the Android app (android/), SonarPen SDK samples (libs/sonarpen-sdk/), and the authoritative product and protocol spec (spec.md).

Objectives

  • Provide a low-latency Android mirror client with touch, pen, and keyboard input back to the host.
  • Support USB (AOAP) and Wi-Fi transports using a stable, documented protocol.
  • Maintain a clear separation between Android client, PC host app, and driver components as the project evolves.

Supported / Target Features

Supported today (reference assets):

  • Android app project under android/.
  • SonarPen SDK and Android sample projects under libs/sonarpen-sdk/.
  • Magisk root module skeleton under magisk/uberdisplay-root/.
  • Protocol and product specification in spec.md.

Targeted by the spec:

  • Android client implementation (active in android/).
  • PC host app (Tauri + Rust backend + Next.js frontend).
  • Shared Rust protocol and transport crates.
  • Windows virtual display driver integration.
  • Enhanced input modes, action menu, and diagnostics.

Where to Start

  • Read spec.md for system goals, protocol details, and architecture targets.
  • The Android app lives in android/app/src/main/.

Android Build

From the repo root:

  • cd android; gradle assembleDebug builds a debug APK.
  • cd android; gradle installDebug installs the debug APK to a connected device.
  • cd android; gradle test runs unit tests.

Android Layout

  • android/app/src/main/java/com/supermarsx/uberdisplay/ contains app code.
  • android/app/src/main/res/ contains layouts, strings, themes, and preferences.

About

Extend your display from your computer to any Android device

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Sponsor this project

Contributors

Languages