Skip to content

GitHub Actions ubuntu-24.04-arm runners lack binder/ashmem kernel modules #928

Description

@robster7674

Is your feature request related to a problem? Please describe.

We attempted to run Redroid on GitHub Actions ubuntu-24.04-arm runners (native ARM64, Ubuntu 24.04 LTS) for Android instrumented testing and power/wakelock profiling of an ARM-native app. The runners have Docker with privileged container support, but the kernel ships without binder_linux or ashmem_linux modules.

We confirmed this with a purpose-built probe job (runner image ubuntu24-arm64/20260531.15, kernel aarch64, Azure westus2):

=== /proc/filesystems (android-related) ===
(none)
=== /dev entries ===
(none — no /dev/binder, no /dev/ashmem)
=== kernel modules ===
(none loaded)

modprobe binder_linux silently fails because the module is simply absent from the kernel tree — the kernel was not built with CONFIG_ANDROID_BINDER_IPC=m.

Describe the solution you'd like

Two complementary paths:

  1. GitHub adds the modules to their runner image — we have filed actions/runner-images#14184 requesting exactly this. If accepted, Redroid would work on ubuntu-24.04-arm with no changes needed on the Redroid side.

  2. Redroid documents / supports a CI workaround — if there is a way to bootstrap binder support without pre-built kernel modules (e.g. by compiling binder_linux from source against the runner's kernel headers, or by using a userspace binder implementation), documenting that as a GitHub Actions recipe would be very valuable to the community.

Describe alternatives you've considered

  • x86_64 runners + x86_64 Redroid image — works today, but loses native ARM64 execution; ARM apps run via the native bridge with overhead and less accurate profiling.
  • Firebase Test Lab on real Pixel hardware — works for power/wakelock analysis on physical devices, but cannot be self-hosted in CI without cost.
  • Netcup / other ARM VPS — netcup VPS uses LXC/Virtuozzo (no module loading); their Root Servers (KVM) are x86 only.

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions