workspaces-images/docs/redroid
2024-01-11 08:56:57 -05:00
..
demo.txt KASM-1209 Cleanup 2024-01-01 09:59:08 -05:00
description.txt KASM-1209 Redroid Images with Android Studio 2023-12-28 16:19:09 -05:00
README.md KASM-5433 Updates to redroid docs and startup - prevent duplicate scrcpy 2024-01-11 08:56:57 -05:00

About This Image

This experimental image contains a browser-accessible version of Redroid. redroid (Remote-Android) is a multi-arch, GPU enabled, Android in Cloud solution.

The image utilizes Docker in Docker (DinD) to automate launching Redroid and scrcpy docs.

Screenshot

Host Dependencies

This image requires the "binder_linux" host level kernel modules installed and enabled.

Below is an example for installing binder_linux on Ubuntu 22.04 LTS host

sudo apt install linux-modules-extra-`uname -r`
sudo modprobe binder_linux devices="binder,hwbinder,vndbinder"

See Redroid Docs for more details.

Container Permissions

Using this container requires the --privileged flag to power both the Docker in Docker processes and the permissions needed by the redroid containers

sudo docker run --rm -it --privileged --shm-size=512m -p 6901:6901 -e VNC_PW=password kasmweb/redroid:develop

Example for installing binder_linux on Ubuntu 22.04 LTS host

sudo apt install linux-modules-extra-`uname -r`
sudo modprobe binder_linux devices="binder,hwbinder,vndbinder"

The left ALT key is mapped as the hotkey for scrcpy

  • Alt+R - rotate the android device
  • Alt+F - fullscreen the android device
  • Alt+Up/Alt+Down - Increase the volume of the device

See scrcpy docs for more details.

Environment Variables

  • REDROID_GPU_GUEST_MODE - Used to instruct redroid to utilize GPU rendering. Options are auto, guest, and host
  • REDROID_FPS - Set the maximum FPS for redroid and scrcpy.
  • REDROID_WIDTH - Set the desired width of the redroid device.
  • REDROID_HEIGHT - Set the desired height of the redroid device.
  • REDROID_DPI - Set the desired DPI of the redroid device.
  • REDROID_SHOW_CONSOLE - Display the scrcpy console after launching the redroid device.
  • REDROID_DISABLE_AUTOSTART - If set to "1", the container will not automatically pull and start the redroid container and scrcpy.
  • REDROID_DISABLE_HOST_CHECKS - If set to "1", the container will not check for the presence of required host level kernel modules.
  • ANDROID_VERSION - The version of android (redroid) image to automatically load. Options are 14.0.0, 13.0.0 (Default), 12.0.0, 11.0.0, 10.0.0, 9.0.0, 8.1.0.