This commit is contained in:
eric
2026-04-04 16:08:32 -05:00
parent e56629bcc2
commit 9672f63cd9
2 changed files with 31 additions and 5 deletions

View File

@@ -92,6 +92,16 @@ python tools/compat.py -c podman --gpu-mode auto
python redroid.py -mtg -i -m
```
Build flags (short options):
| Flag | Long form | Meaning |
|------|-----------|---------|
| **`-mtg`** | `--install-mindthegapps` | Bake **MindTheGapps** (Google apps framework) into the image |
| **`-i`** | `--install-houdini` | Bake **libhoudini** + **redroid houdini hack** (ARM translation on x86) |
| **`-m`** | `--install-magisk` | Bake **Kitsune Mask / Magisk** bootless payload into the image |
Together they produce `redroid/redroid:13.0.0_mindthegapps_houdini_magisk`. None of these control the **screen**; display is set when you **run** the container (`run_redroid.py`).
Air-gapped (requires a complete `offline/` tree):
```bash
@@ -158,13 +168,11 @@ With **`--gpu-mode guest`** (or **`auto`** when no `/dev/dri` exists), the displ
```
The exact device path varies (Intel/AMD/NVIDIA, `nvidia-docker`, etc.); see [redroid-doc](https://github.com/remote-android/redroid-doc) GPU notes.
2. **Stay on software rendering** but tune the virtual panel (sometimes reduces glitches):
2. **Software GLES (`guest`)** — force low load on the virtual display (often reduces black screen / flicker):
```bash
python run_redroid.py ... --adb-insecure \
--extra-prop androidboot.redroid_width=720 \
--extra-prop androidboot.redroid_height=1280 \
--extra-prop androidboot.redroid_fps=15
python run_redroid.py ... --adb-insecure --gpu-mode guest --soft-display --memory 4g
```
`--soft-display` sets 720×1280, 15 FPS, dpi 280. You can tune further with `--extra-prop` if needed.
3. **First boot / SetupWizard** can sit on a dark screen for a while. Run **`bootstrap_redroid.py`** once `adb` shows `device` so provisioning and wizard are skipped as intended.

View File

@@ -271,6 +271,13 @@ def main():
action="store_true",
help="Print the generated command without executing it",
)
parser.add_argument(
"--soft-display",
action="store_true",
help=(
"Lower software-GLES load: 720x1280, fps=15, dpi=280 (helps black screen / flicker with guest GPU)"
),
)
parser.add_argument(
"--extra-prop",
action="append",
@@ -357,6 +364,15 @@ def main():
cmd.extend(bridge_props(bridge))
cmd.extend(preset_props(preset))
cmd.extend(device_profile_props(device_profile))
if args.soft_display:
cmd.extend(
[
"androidboot.redroid_width=720",
"androidboot.redroid_height=1280",
"androidboot.redroid_fps=15",
"androidboot.redroid_dpi=280",
]
)
cmd.extend(args.extra_prop)
if args.replace and not args.dry_run:
@@ -376,6 +392,8 @@ def main():
print_color("Selected launch preset: {}".format(preset), bcolors.GREEN)
if device_profile != "none":
print_color("Selected device profile: {}".format(device_profile), bcolors.GREEN)
if args.soft_display:
print_color("Soft display: 720x1280 @ 15fps (reduced GLES load)", bcolors.GREEN)
if args.adb_insecure:
print_color(
"ADB insecure: injecting boot props immediately after image name "