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


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

The guiscrcpy AppImage and Snap packages have scrcpy and adb bundled, so you don't need to setup anything else. 

For other types of packages (.e.g. installing guiscrcpy from PyPI), 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 20.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 and when running guiscrcpy from source.

Download guiscrcpy

[[Edit]] guiscrcpy is now also available in the Snap Store, and available to download as an AppImage. In both of these cases, scrcpy and adb are bundled with the guiscrcpy binary, so you have everything you need to use it.

In case you install it from PyPI though, you'll need to install scrcpy and adb yourself.

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