mirror of
https://github.com/remote-android/redroid-doc.git
synced 2023-09-03 22:09:51 +03:00
2.7 KiB
2.7 KiB
Deploy redroid
redroid should capable to run on any Linux environment as long as the
required kernel features available (binderfs etc.). Fortunately, these
kernel features are already enabled in some Linux distros
(extra packages might needed). redroid also provides
redroid-modules repo
to support those distros without the required kernel features. And as last
resort, it's always capable via customizing Linux kernel.
madatory kernel features
binderfsashmem/memfdIPv6ION/DMA-BUF Heaps- 4KB page size
- ...
deployment per distro / platform
- Alibaba-Cloud-Linux
- Amazon-Linux
- Arch-Linux
- CentOS
- Debian
- Fedora
- Gentoo
- Kubernetes
- Mint
- OpenEuler
- PopOS
- Ubuntu
- WSL
general deploy redroid instructions
## install docker https://docs.docker.com/engine/install/#server
## make sure required kernel features enabled; Check details on per distro page
## make sure cgroup v1 present (some latest OS may only mount cgroup v2, ubuntu 22.04 etc.)
## add `systemd.unified_cgroup_hierarchy=0` to kernel cmdline
## disable SELinux if present
## setenforce 0
## running redroid
docker run -itd --rm --privileged \
--pull always \
-v ~/data11:/data \
-p 5555:5555 \
--name redroid11 \
redroid/redroid:11.0.0-latest
### Explanation:
### --pull always -- use latest image
### -v ~/data11:/data -- mount data partition
### -p 5555:5555 -- expose adb port
## install adb https://developer.android.com/studio#downloads
adb connect localhost:5555
### NOTE: change localhost to IP if running redroid remotely
## view redroid screen
## install scrcpy https://github.com/Genymobile/scrcpy/blob/master/README.md#get-the-app
scrcpy -s localhost:5555
### NOTE: change localhost to IP if running redroid remotely
### typically running scrcpy on your local PC
## running without `ashmem` (removed since linux 5.18)
## NOTE: plan to enable `memfd` by default
docker run -itd --rm --privileged \
--pull always \
-v ~/data11:/data \
-p 5555:5555 \
--name redroid11 \
redroid/redroid:11.0.0-latest \
androidboot.use_memfd=1
## running 64bit-only redroid (only redroid12 published)
## some ARM CPUs only support 64bit mode, or just want to remove legacy 32bit runtime
docker run -itd --rm --privileged \
--pull always \
-v ~/data12_64only:/data \
-p 5555:5555 \
--name redroid12_64only \
redroid/redroid:12.0.0_64only-latest \