Install this version:
emerge -a =app-mobilephone/scrcpy-5.0.1
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =app-mobilephone/scrcpy-5.0.1
Or alternatively:
emerge --autounmask-write -a =app-mobilephone/scrcpy-5.0.1
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit meson xdg
DESCRIPTION="Display and control your Android device"
HOMEPAGE="https://github.com/Genymobile/scrcpy"
# Source code and server part on Android device
SRC_URI="
https://github.com/Genymobile/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
https://github.com/Genymobile/${PN}/releases/download/v${PV}/${PN}-server-v${PV}
"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~ppc64 ~x86"
# BENTOO-DIVERGENCE: IUSE - ::gentoo's 5.0.1 exposes none of these. 5.0 added
# VA-API hardware decoding (meson -Dvaapi); usb and v4l2 were always meson
# options that ::gentoo builds unconditionally. All three default on, which
# matches upstream's own defaults.
IUSE="X +usb +v4l +vaapi wayland"
# BENTOO-DIVERGENCE: DEPEND - absent from ::gentoo's 5.0.1. 5.0 requires
# libavformat >= 60.3 (FFmpeg 6), and its VA-API interop maps frames through
# FFmpeg's DRM hwcontext, which needs the libdrm headers at build time and an
# FFmpeg built with drm and vaapi.
DEPEND="
media-libs/libsdl3[X?,wayland?]
>=media-video/ffmpeg-6:=
usb? ( virtual/libusb:1 )
vaapi? (
media-video/ffmpeg[drm,vaapi]
x11-libs/libdrm
)
"
# Manual install for ppc64 until bug #723528 is fixed
# BENTOO-DIVERGENCE: RDEPEND - absent from ::gentoo's 5.0.1; inherits
# the DEPEND changes above.
RDEPEND="
${DEPEND}
!ppc64? ( dev-util/android-tools )
"
DOCS=( {FAQ,README}.md doc/. )
src_prepare() {
default
rm doc/{build,develop,macos,windows}.md || die
}
src_configure() {
local emesonargs=(
-Dprebuilt_server="${DISTDIR}/${PN}-server-v${PV}"
$(meson_use usb)
$(meson_use v4l v4l2)
$(meson_use vaapi)
)
meson_src_configure
}
pkg_postinst() {
xdg_pkg_postinst
if has_version media-video/pipewire; then
ewarn "On pipewire systems scrcpy might not start due to a problem with libsdl2."
ewarn "If that is the case for you start the program as follows:"
ewarn " $ SDL_AUDIODRIVER=pipewire scrcpy [...]"
ewarn "For more information see https://github.com/Genymobile/scrcpy/issues/3864"
fi
}
Manage flags for this package:
euse -i <flag> -p app-mobilephone/scrcpy |
euse -E <flag> -p app-mobilephone/scrcpy |
euse -D <flag> -p app-mobilephone/scrcpy
media-libs/libsdl3[X?,wayland?] >=media-video/ffmpeg-6:= usb? ( virtual/libusb:1 ) vaapi? ( media-video/ffmpeg[drm,vaapi] x11-libs/libdrm )
media-libs/libsdl3[X?,wayland?] >=media-video/ffmpeg-6:= usb? ( virtual/libusb:1 ) vaapi? ( media-video/ffmpeg[drm,vaapi] x11-libs/libdrm ) !ppc64? ( dev-util/android-tools )
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | scrcpy-5.0.1.tar.gz | 513788 bytes | https://github.com/Genymobile/scrcpy/archive/v5.0.1.tar.gz |
| DIST | scrcpy-server-v5.0.1 | 733930 bytes | https://github.com/Genymobile/scrcpy/releases/download/v5.0.1/scrcpy-server-v5.0.1 |