Install scrcpy on Linux From Snap Package (App To Display And Remote Control Android From PC)

scrcpy openSUSE

scrcpy is an application that allows displaying and controlling Android devices connected via USB or or wireless, from a macOS, Windows or Linux desktop. The application focuses on performance and quality, offering 30~60 FPS with a resolution of 1920x1080 or more, and low latency.

I wrote about scrcpy recently, so visit the previous article for a lot more scrcpy information, and how to install it from source in Ubuntu, Debian, Linux Mint or Fedora:


While there are no official scrcpy Linux packages, an unofficial snap package was created (thanks to Ferenc Czumbil) a while back, which allows installing the application easily on Linux distributions that support snapd. I couldn't get the snap package to work when trying it a while back, but it's working now so I thought I'd write a new article for how to install and use the scrcpy snap package. It takes a bit more to get scrcpy running from snap than other snap packages, but it's still a lot easier than building scrcpy from source.

I installed the scrcpy snap package and tried to run it on Ubuntu 18.10, Linux Mint 19.1 (based on Ubuntu 18.04), Fedora 29, and openSUSE Tumbleweed. scrcpy worked on Ubuntu, Linux Mint and openSUSE, but not on Fedora (bug reported). The alternative is to install scrcpy on Linux from source, either by following the official instructions, or see the Linux Uprising article on installing scrcpy from source on Ubuntu, Debian, Linux Mint and Fedora.

Prerequisites:

  • Android 5.0 or newer device
  • ADB debugging needs to be enabled on the Android device
  • on some devices you may also need to enable an additional "USB debugging (Security settings)" option to be able to control the Android device from your desktop computer.
  • Android device connected to your computer via USB (or wirelessly, with ADB over TCP/IP)

Android root access is not required. scrcpy comes with ADB and scrcpy-server.jar bundled, so there's no need to install anything else other than the scrcpy snap.

1. Install snapd

To install snap packages, you'll need snapd. This is pre-installed in Ubuntu 16.04.04 and newer, Solus 3, and Zorin OS. For other Linux distributions, including Arch Linux, CentOS, Debian, Deepin, Elementary OS, Fedora, Linux Mint, openSUSE, snapd installation instructions can be found in the Snapcraft docs.

Restart your computer or logout/login after installing snapd.

2. Install the scrcpy snap package.

sudo snap install scrcpy

The snap package was updated, and the latest stable scrcpy version is now available in the stable snap channel. A daily build from the master branch is now available in the edge channel (if you want to install the latest daily build, append --channel=edge to the snap install command).

The core snap is needed as well:

sudo snap install core

You can now start using scrcpy to remotely control an Android device from your Linux desktop. You'll need to connect the Android device to your computer via USB, then type scrcpy in a terminal to start the application:

scrcpy

Make sure your Android device is not locked when running scrcpy, and that you authorize scrcpy when prompted by a dialog on your Android phone. If you didn't authorize it in time the first time you ran it don't worry, just run scrcpy again.

If you want to use ADB that comes bundled with the scrcpy snap, use scrcpy.adb instead of adb. For example to list connected devices, use:

scrcpy.adb devices

Or, to kill the ADB server if it's running, use:

scrcpy.adb kill-server


Want to uninstall the scrcpy snap? This can be done with the following command:

sudo snap remove scrcpy