TopGit
GitHub Repo Review

scrcpy: Android Screen Mirroring for Desktop

Genymobile/scrcpy
STopGit review image for Genymobile/scrcpy
Review by Topgit.dev for Genymobile/scrcpy, with GitHub repository stats and README context.
Quick verdict

scrcpy mirrors an Android screen to a Linux, Windows, or macOS desktop and lets you drive the phone with your own keyboard and mouse, without root and without installing anything on the device. Reach for it when you need a fast, no-frills mirror for testing, demos, or controlling a device you're debugging; skip it if you want a polished GUI with device-management extras, because scrcpy stays a single-purpose command-line tool.

Stars
โ˜… 150.0k
Forks
โ‘‚ 13.8k
Contributors
๐Ÿ‘ฅ 176
Language
C
License
Apache-2.0
Topic
Mobile
Updated
Sep 2026
Homepage
โ€”

Display and control your Android device

scrcpy is a free, open-source application that mirrors an Android phone's screen onto a computer and lets you operate it with the computer's keyboard and mouse, connecting over USB or TCP/IP without root access or a companion app on the device. It runs natively on Linux, Windows, and macOS, showing only the device screen, and the README lists 30-120fps performance depending on the device and 35-70ms of latency.

Lightweight, performant, and non-intrusive

  • โœ“Starts fast: the README puts the first frame on screen after around one second.
  • โœ“Runs at 30-120fps depending on the device, with resolution at 1920x1080 or above by default, per the README.
  • โœ“Latency lands in the 35-70ms range according to the README, low enough for interactive use like typing or dragging.
  • โœ“Nothing gets installed on the Android device itself; scrcpy stays native on the desktop side.
  • โœ“No account, no ads, and no network connection needed to launch it, per the README.
  • โœ“Apache-2.0 license with no strings attached.

Prerequisites and known issues

  • โ–ณAndroid device must run at least API 21 (Android 5.0); audio forwarding needs API 30+ (Android 11+), so older phones lose sound mirroring.
  • โ–ณUSB debugging has to be enabled on the device first, and on some Xiaomi devices you also need to turn on the separate 'USB debugging (Security Settings)' option and reboot before keyboard and mouse control works, per the README.
  • โ–ณWebcam mirroring via V4L2 is Linux-only, per the README.
  • โ–ณExact install commands for each OS aren't in the README itself; it defers to separate per-platform docs.
  • โ–ณIt's a single desktop application driven mostly by command-line flags, not a device-management console with a GUI for handling a fleet of phones.
View on GitHub โ†—

Key features for Android interaction

  • โœ“Audio forwarding for Android 11 and newer (API 30+), sending device sound to the desktop, per the README.
  • โœ“Screen recording to a file, independent of whether you're watching the mirror live.
  • โœ“Virtual display support, so you can open an app like VLC in a separate display instead of the device's own screen.
  • โœ“Mirroring keeps working even with the Android device's screen turned off, per the README.
  • โœ“Two-way copy-paste between the computer and the device.
  • โœ“Camera mirroring for Android 12+ (API 31+), including exposing the device camera as a Linux webcam through V4L2.
  • โœ“Physical keyboard and mouse simulation via HID, plus gamepad support for controllers plugged into the computer.
  • โœ“OTG mode to control a device with keyboard and mouse without USB debugging enabled, per the README.
How this repository's GitHub stars have grown over time. Source: star-history.com.View the star history โ†—

Getting started with scrcpy

Install instructions live in separate per-platform docs the README links to: doc/linux.md, doc/windows.md (with a note to read its 'how to run' section), and doc/macos.md. The README doesn't spell out install commands itself, so exact install steps aren't part of the facts here. What is documented: the Android device needs at least API 21 (Android 5.0), and USB debugging must be enabled on the device before connecting. scrcpy runs on Linux, Windows, and macOS.

Other tools for Android screen mirroring

Vysor โ€” closed-source screen mirroring with a GUI, plus a paid tier for full-speed mirroring, unlike scrcpy's free open-source approach.AirDroid โ€” a broader cross-platform device-management suite with mirroring built into remote-control and file-transfer features, closed-source.rustdesk โ€” a general-purpose remote desktop tool, not Android-specific, useful if you want one remote-control tool across device types. โ†—QtScrcpy โ€” an open-source GUI wrapper around the same idea, useful if you'd rather click through options than pass command-line flags.

Frequently asked questions about scrcpy

Does scrcpy require root access on Android?

No. scrcpy connects over USB or TCP/IP and doesn't need root access or any app installed on the Android device, per the README.

What Android version is required for scrcpy?

scrcpy needs at least API 21 (Android 5.0) on the device. Audio forwarding needs API 30 or higher (Android 11+), according to the README.

Can scrcpy be used wirelessly?

Yes, scrcpy supports connecting over TCP/IP in addition to USB, so you can mirror a device wirelessly once it's set up, per the README.

Does scrcpy support audio mirroring?

scrcpy forwards device audio to the computer on Android 11 and newer (API 30+), per the README's audio forwarding feature.

Is scrcpy free to use?

Yes, scrcpy is free and open-source software, licensed under Apache-2.0, with no account or ads required to run it.

Can I record my Android screen with scrcpy?

Yes, scrcpy includes a recording feature that saves the mirrored screen, and audio on supported Android versions, to a file, per the README.

The problem it solves

Testing an Android app or chasing a UI bug usually means holding the phone in one hand, angling a camera at it to record the screen, or reaching for a heavyweight device-management suite just to see the screen on a monitor. scrcpy's README frames its own approach around avoiding both extremes: no app to install on the device, no root, no account, just a mirror and keyboard/mouse control that gets going in about a second.

Best use cases

  • โ€ขDemoing an Android app on a bigger screen during a meeting or a recorded walkthrough, using scrcpy's recording feature to save the session.
  • โ€ขDebugging UI or touch behavior with a real keyboard and mouse instead of your thumbs, via scrcpy's physical HID keyboard/mouse simulation.
  • โ€ขRunning an app in a separate virtual display, similar to the README's example of opening VLC apart from the phone's own screen.
  • โ€ขControlling a device with USB debugging turned off via OTG mode, when you just need keyboard/mouse input, not a mirror.
  • โ€ขExposing the phone's camera as a webcam on Linux over V4L2, an option the README calls out separately from screen mirroring.

Who should try it โ€” and who should skip

Try scrcpy if you're a developer, QA tester, or anyone who wants to drive an Android device from a keyboard and mouse without installing anything on the phone or rooting it โ€” the command-line flags cover video codec, bitrate, resolution, and virtual displays in detail. Skip it if you want a mouse-friendly GUI with device-fleet management, remote-support features, or one-click mirroring without touching a terminal; scrcpy's interface is entirely flag-driven.

Related repositories

Source & attribution

Facts and quotes sourced from the Genymobile/scrcpy GitHub repository and its README.

GitHub data ยท last synced Aug 14, 2026Reviewed by Henry
โ† Back to TopGit

Is scrcpy worth your time?

ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of scrcpy.

GitHub