Scrcpy, the open-source tool for viewing and controlling your Android phone from your desktop, added support for zero-copy hardware decoding in its latest release.

The feature, new in v5.0, uses your computer’s hardware to decode the video stream sent from your Android screen to mirror to your desktop (via a USB cable or over IP/TCP). It improves performance; benchmarks show up to a 10x drop in CPU usage on the host device.

Scrcpy 5.0 enables hardware decoding by default (no flag to pass) and autodetects an available decoder backend, e.g., VA-API on Linux. Decoders can be manually selected via the --hwdec flag, and feature supports --video-buffer sizes.

On Ubuntu, using the VA-API hwdec requires the va-driver-all package to be installed (if it isn’t already).

Software decoding is still available, both to force select and as a fallback if a suitable hwdec isn’t available.

Other improvements in Scrcpy 5.0 include an option for broader audio capture1 ( --audio-dup) to fix missing game audio (whilst preserving existing media-only behaviour when no flag is passed), and consistent filtering of video colours during scaling.

Bug fixes sort out various issues, including quirks using the shift and AltGr keys in UHID keyboard mode, while OTG mode can now use the ANDROID_SERIAL environment variable to select a specific device.

Getting Scrcpy

Scrcpy is free, open-source software for Windows, macOS and Linux. Download the latest release from the project GitHub. There is no “official website” per se, so if you’re on macOS or Windows, only get it from GitHub.

Linux users have more choices since older versions of Scrcpy are available to install from the Ubuntu repos. Those versions won’t have the hardware decoding features mentioned above, they still work.

The unofficial Scrcpy snap on the Snap Store will be updated to v5.0 shortly.

  1. Audio forwarding is only available on devices running Android 11 or later. ↩︎