finds.dev← search

// the find

Genymobile/scrcpy

★ 143,338 · C · Apache-2.0 · updated May 2026

Display and control your Android device

scrcpy mirrors and controls Android devices over USB or TCP/IP from Linux, Windows, or macOS — no app install required, no root. At 143k stars it's one of the most-used Android developer tools in existence, and v4.0 shows it's still being actively pushed forward.

The latency numbers are real — 35-70ms is genuinely usable for interactive testing, not just video playback. The architecture is clean: a Java server component runs on the Android side via adb, while the C client handles decoding and rendering with SDL2/FFmpeg, keeping the hot path native. HID keyboard/mouse simulation (uhid/AOA) means input bypasses Android's accessibility layer, so it works in apps that block injected events. The virtual display feature (--new-display) is underrated — you can run a separate app instance without touching the physical screen.

Audio forwarding requires Android 11+, so anything older gets silent mirroring — this trips people up in CI/emulator setups where the Android version isn't obvious. Building from source requires assembling a specific set of deps (meson, ninja, SDL2, FFmpeg, libusb) and the server-side Java build adds Gradle to that list; the prebuilt releases sidestep this but you're then trusting a binary. Wireless TCP/IP mode requires a wired USB pairing step first on Android 10 and below — the docs cover it, but it surprises users who expect pure WiFi setup. No multi-device window management: connecting five devices means five separate scrcpy processes with no shared control surface.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →