Skip to content

Latest commit

 

History

History
140 lines (87 loc) · 7.74 KB

INSTALL.md

File metadata and controls

140 lines (87 loc) · 7.74 KB

Installation

PyPI wheels PyPI

Installing from PyPi is the most supported, fastest and compatible package across all platforms and operating systems. The list of compatible and tested platforms are:

  • Windows 8, 8.1, 10 (64-bit)
  • manylinux2014
  • macOS Catalina 10.15

The restriction of manylinux2014 are because of the wheels for PyQt5 are mostly manylinux2014. The PyQt5==5.14 gives manylinux1 wheels also. It can be preferably downgraded on respective linux distributions for compatibility. The minimum required version of PyQt5 required to run guiscrcpy is 5.14, if not used, it might create user specific errors like AttributeErrors while parsing the User Interface files.

Installation

Stable Release
pip3 install -U guiscrcpy
Development Release
pip3 install https://github.com/srevinsaju/guiscrcpy/archive/master.zip

NOTE: Development (master / beta-*) are expected to be highly unstable. If you would like to contribute to development by reporting issues before the next release, you consider using the above option.

Few points to consider:

  • pip install might not work if you do not have pip installed on you system. On Windows, if the downloaded version of python is from the python.org, it should not be an issue. However, if you install python from another source, (eg: Ubuntu apt repositories, or Alpine Python docker images), you would have to install pip. Check out this for more information.

  • If your pip version is below 20.0, then you are likely to expect a failure in the command with an EnvironmentError / PermissionDenied Error. This is because pip tries to install packages to global level, (aka /usr/ on Linux). To fix that, you may either upgrade pip or use the --user flag as such:

    pip3 install guiscrcpy --user
  • guiscrcpy requires Python v3.6 or above. Installing on an older version of python is likely to fail. Python 2 is not supported in any previous releases also. Support for Python 3.5 can be attained by manual patching the f-strings and patching the requirements with an apt version of PyQt5.


AppImages AppImage Get guiscrcpy AppImage

AppImages are distributed on the AppImage catalog and on the releases page. To get seamless updates and desktop integration, install the AppImage with Zap AppImage Package Manager, and then just run

zap install guiscrcpy

and you are done!

If you already installed an older version of guiscrcpy using zap, then it would be easier to download only the changed parts, (or delta) of the binary. Just do

zap update guiscrcpy

Alternatively, the longer method :

Download the AppImage either from the releases, or from by clicking the Status badge and then download the AppImage artifact for the latest commit.

AppImages are built on manylinux2014 base image. Older linux might / might not support it. A possible test for it, might be to check if you can install the wheel of PyQt5>=5.14.

AppImages are more supported than snaps. Snaps are containerised. So it is likely that guiscrcpy might not work as a snap.

wget https://github.com/srevinsaju/guiscrcpy/releases/v4.11.3/download/guiscrcpy-*.AppImage
chmod +x guiscrcpy-*.AppImage

# one time execution
./guiscrcpy-*.AppImage

# for systems without FUSE support
guiscrcpy-x86_64.AppImage --appimage-extract-and-run

NOTE: The AppImage includes scrcpy pre-built binary along along with adb. This implies you do not need to have anything additionally installed other than to download this AppImage.

For some linux desktops, it would be needed to install libva-drm2 or libva to enable scrcpy's new video acceleration feature using OpenGL.

On ubuntu, if you have enabled universe repositories, you can just Ubuntu:

sudo apt install libva-drm2

The bug was found on ubuntu. Tested on Ubuntu 20.10, 20.04 (GNOME). Most linux distros (not live CDs) have these installed on them by default. I do not mind bundling this lib too, but it might break other linux'es. So feel free to pop into guiscrcpy 's Discord channel or open a GitHub issue, if you need some help.

Get Appimage


Snap Store guiscrcpy guiscrcpy

The guiscrcpy snap is a recent implementation of making guiscrcpy widely accessible for Ubuntu and its derivatives, and other operating systems with snap pre-installed. This increases the security, if you are concerned about them, and while using guiscrcpy because, “snap is confined”.

What makes a snap better than the PyPI package is:

  • security
  • guiscrcpy works out of the box, meaning,scrcpy and adb are pre-installed on the guiscrcpy snap. Thanks to @sisco311

guiscrcpy snap is supported for all AMD64 aka x86_64 devices which support the snappy daemon. macOS is an exception from the list. Use brew to install snapd

Get it from the Snap Store

NOTE:

For issues regarding the:

  • Failure of scrcpy: Please create an issue at sisco311/scrcpy-snap and make sure that a similar issue does not exist. You wouldn’t want to disturb the developer
  • Failure of guiscrcpy: Please report it here

Windows Executable Windows Executable

guiscrcpy provides a compiled windows executable, for users who are not interested in installing python and pip. Although this is not, suggested (guiscrcpy is converted to the compiled python *.pyc), it is useful for end consumers on the Windows system.

Download the windows .exe either from releases, or click on the status badge to download the exe matching the latest commit.

Along with guiscrcpy.exe; You would also want to download windows binary of scrcpy and extract the .zip file to any directory you wish to. You may add it to path, if you like; but it is completely optional. If scrcpy is not found on PATH, guiscrcpy will open a file selector to select scrcpy.exe, adb.exe and scrcpy-server.

Optionally, to get better appearance, you would like to install Titillium Web.

NOTE: Windows Binaries are now available only for 64-bit. If you would like to have 32-bit binary, please build guiscrcpy from source


Building from source GitHub commits since tagged version

See BUILD for more information