Screen Mirroring Tool scrcpy
If you do not have an HDMI monitor, use scrcpy on the host computer to mirror the Android 15 graphical interface of RUBIK Pi 3 and operate the device using a mouse and a keyboard.
scrcpy is an open-source tool maintained by Genymobile. It can display and control Android devices over USB or TCP/IP on Linux, Windows, and macOS hosts. It does not require root access and does not require an app to be installed on the device. For the official project and documentation, see https://github.com/Genymobile/scrcpy.
Prerequisites
- RUBIK Pi 3 has booted Android 15.
- ADB is installed on the host, and the host is connected to RUBIK Pi 3 via a USB Type-C data cable.
- ADB login has been completed, and
adb devicescan detect the device.
Check the ADB connection:
adb devices
Sample output:
List of devices attached
d80af579 device
Install scrcpy
- Windows host
- Ubuntu/Linux host
- macOS host
Use WinGet to install scrcpy
Run the following command in Windows Terminal or PowerShell:
winget install --exact Genymobile.scrcpy
The WinGet installation method automatically installs the necessary ADB dependencies required by scrcpy. Once the installation is complete, restart the terminal to apply the updated environment variables.
Use the official release package
- Go to scrcpy releases.
- Download the Windows package for your host architecture, for example,
scrcpy-win64-*.zip. - Extract the package.
- Double-click
open_a_terminal_here.batin the extracted directory.
Use the official release package
- Go to scrcpy releases.
- Download the Linux x86_64 static build, for example,
scrcpy-linux-x86_64-*.tar.gz. - Extract the package and run
scrcpyin the extracted directory.
Use the installation script
To install the latest release from the source repository, run the following commands:
sudo apt update
sudo apt install ffmpeg libsdl3-0 libusb-1.0-0 adb wget \
gcc git pkg-config meson ninja-build libsdl3-dev \
libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev \
libswresample-dev libusb-1.0-0-dev libv4l-dev
git clone https://github.com/Genymobile/scrcpy
cd scrcpy
./install_release.sh
The official scrcpy documentation notes that the apt install scrcpy package in Debian/Ubuntu repositories may be outdated. The official release package or installation script is recommended.
Use Homebrew to install scrcpy
Run the following command in the terminal:
brew install scrcpy
If ADB is not installed on the host, run the following command:
brew install --cask android-platform-tools
Use the official release package
- Go to scrcpy releases.
- Download the macOS package for your host architecture, for example,
scrcpy-macos-aarch64-*.tar.gzorscrcpy-macos-x86_64-*.tar.gz. - Extract the package and run
scrcpyin the extracted directory.
Mirror the screen using scrcpy
After confirming that ADB is available, run:
scrcpy
A window showing the Android 15 graphical interface opens on the host. You can then operate RUBIK Pi 3 using the host mouse and keyboard.
Common operations:
| Operation | Description |
|---|---|
| Left click | Tap the Android UI |
| Right click | Back |
| Middle click | Home |
Alt + f | Toggle fullscreen |
If multiple Android devices are connected, check the serial number first:
adb devices
Then start scrcpy for the specified device:
scrcpy --serial <device_serial>
Reduce latency, lower the mirrored resolution:
scrcpy --max-size 1024
Disable audio forwarding:
scrcpy --no-audio
Reduce the resolution and disable audio simultaneously:
scrcpy --max-size 1024 --no-audio
FAQ
Device Not Found
If scrcpy reports that no device is found, check ADB first:
adb devices
If the device is not listed as device, check the USB Type-C data cable, host ADB environment, and USB debugging status on the device.
Mouse or Keyboard Control Does Not Work
If the screen is visible but the mouse or keyboard cannot control the device, confirm that the device allows input event injection through ADB. Android 15 userdebug images normally support this directly. For other image variants, make sure USB debugging is enabled.
More Options
Run the following command in the terminal to view the scrcpy help information:
scrcpy --help
Alternatively, refer to the official scrcpy documentation: https://github.com/Genymobile/scrcpy.