Helper GUI For scrcpy, The Android Desktop Display And Remote Control Tool

scrcpy gui Linux

guiscrcpy is a PyQt5 GUI for scrcpy, a free and open source application to display and control Android devices connected via USB or wirelessly from your desktop, be it Linux, Windows or Mac.

scrcpy focuses on performance and quality, offering 30~60 FPS, high resolution, and low latency. A quick list of scrcpy features:

  • configurable screen resolution and bitrate
  • cropping (so you can only show part of the Android device screen if you wish)
  • full screen Android mirroring
  • it can record the screen while mirroring
  • it can show physical touches (with the finger on the device)
  • read-only mode (disable all controls like input keys, mouse events, etc.)
  • copy Android device clipboard to computer and from computer to Android
  • keyboard shortcuts
  • it supports starting several instances with multiple Android devices in the same time

scrcpy can be controlled using command line options and keyboard shortcuts only. This is where guiscrcpy comes in - it exposes the scrcpy cli flags and keyboard shortcuts to a graphical user interface, so you can use buttons to quickly perform actions on the remote Android device, like copy and paste from one device to another, enter fullscreen, switch between portrait and landscape orientation, and much more.

Also see: Control Android Devices From A Desktop With scrcpy (Ubuntu, Fedora, Debian, Linux Mint Installation)

guiscrcpy runs on Windows and Linux, and it may also work on macOS, but the developer can't test it or compile it on this device, so you'll have to run it from source if you own a Mac

The guiscrcpy user interface is made of 3 parts:

  • the main UI controller, which includes scrcpy command line flags as options that you can enable or disable before launching scrcpy, like always on top, keep display off, fullscreen, record screen, change the bitrate or screen resolution, and start scrcpy
  • the toolkit UI controller, a floating panel which exposes scrcpy features that are otherwise only available as keyboard shortcuts, like opening or closing the Android notification drawer, copying the clipboard from one device to another, volume up or down, keys like home, back and menu, and so on
  • the bottom panel controller is another floating panel, but this only exposes basic Android controls: Power, Menu, Home, Back and Volume Up or Down

This scrcpy helper GUI launches scrcpy in its own separate window, next to which you can move the 2 floating (always on top) panels for quick access.

Using guiscrcpy doesn't mean you can't use the built-in scrcpy keyboard shortcuts - you can continue using those, guiscrcpy just makes it easier to access those features using your mouse, in case you don't want to remember all the keyboard shortcuts it supports.

Using guiscrcpy

To get started you'll need to have scrcpy installed and working on your system. I've already covered installing scrcpy on Linux from snap package and from source (on Debian, Ubuntu, Linux Mint or Fedora), so please visit those articles if you don't have scrcpy installed on your system. Also visit the official scrcpy setup instructions.

Once you make sure scrcpy works with your desktop computer and Android device, run guiscrcpy. You'll notice a main window, and 2 floating panels. Enable or disable any options you like from the main guiscrcpy interface, then press the START SCRCPY button.

This will launch the scrcpy window, independently of guiscrcpy. You'll want to move the 2 guiscrcpy floating panels next to the scrcpy window, for quick access (like in my screenshot). Each button on the floating panel has a tooltip explaining what it does; in case you can't see the tooltip, make sure the panel is focused before placing the mouse cursor on top of a button from that floating panel.

Once scrcpy is launched, you can close the main guiscrcpy window, as it's no longer needed (unless you want to start scrcpy again later), and the 2 floating panels will continue to work.

It's worth noting that on my Ubuntu 19.04 system, I was not able to move the guiscrcpy panels by dragging them using the mouse left button (the panels have a 4-dots area that you can use to easily move them). Instead, I had to press and hold the Super button (on some systems you'll need to use Alt instead), then drag the panels using the mouse left button. This might be something specific to my configuration though, so it may only happen in some cases.

Another thing that's important to mention is that the clipboard copy functionality does not work if you're using the prebuilt guiscrcpy binaries (it does work if you run it from source). Also, the pinch in/out buttons do not currently work in both the prebuilt binaries as well as when running guiscrcpy from source.

Download guiscrcpy

Remember: you need a functional scrcpy installation on your desktop before using guiscrcpy.

Edit: there are no precompiled Linux binaries for Linux anymore for recent guiscrcpy versions. To install it on Linux you'll need to use python3-pip:

python3 -m pip install --user PyQt5==5.14
python3 -m pip install --upgrade --user guiscrcpy

This installs guiscrcpy in ~/.local/bin/ so make sure this directory is in your PATH. If it's not, add PATH="$PATH:$HOME/.local/bin" to your ~/.bashrc file (default on most systems) or ~/.zshrc (if you use Zsh).

When you're done, open a new terminal (so the new path is used), and launch guiscrcpy from that terminal using:


You may also want to read the possible issues and solutions section.