Skip to content

Latest commit

 

History

History
 
 

deploy

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

  • binderfs
  • ashmem / memfd
  • IPv6
  • ION / DMA-BUF Heaps
  • 4KB page size
  • ...

deployment per distro / platform

general deploy redroid instructions

## install docker https://docs.docker.com/engine/install/#server
## or use podman

## make sure required kernel features enabled; Check details on per distro page

## make sure cgroup v1 mounted if running redroid 8 / 9
## 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 64bit-only redroid
## only `aarch64` supported by some Arm platforms, the 64only image required here
docker run -itd --rm --privileged \
    --pull always \
    -v ~/data12_64only:/data \
    -p 5555:5555 \
    --name redroid12_64only \
    redroid/redroid:12.0.0_64only-latest \