remote-android / redroid-doc

redroid (Remote-Android) is a multi-arch, GPU enabled, Android in Cloud solution. Track issues / docs here
4.14k stars 297 forks source link

redroid:11.0.0-latest image can not run in arm64 arch #511

Open kaidilala-ngx opened 10 months ago

kaidilala-ngx commented 10 months ago

Describe the bug A clear and concise description of what the bug is.

when run redroid/redroid:11.0.0-latest on arm64 arch, the container disappeared immediately, and dmesg report :"Binder driver '/dev/binder' could not be opened. Terminating."

make sure the required kernel modules present

collect debug logs curl -fsSL https://raw.githubusercontent.com/remote-android/redroid-doc/master/debug.sh | sudo bash -s -- [CONTAINER] omit CONTAINER if not exist any more.

Screenshots If applicable, add screenshots to help explain your problem.

kaidilala-ngx commented 10 months ago

I have runed redroid successfully on x86_64 arch, now I want to run it on arm64 arch. my step is :

root@test:/home/test# modprobe binder_linux devices="binder,hwbinder,vndbinder" root@test:/home/test# modprobe ashmem_linux root@test:/home/test# docker run -itd --rm --privileged --pull always -v ~/data:/data -p 5555:5555 redroid/redroid:11.0.0-latest 11.0.0-latest: Pulling from redroid/redroid Digest: sha256:fab630a95268b386e438b7c38b27f218923c72da8e2a92c4625533d8c87df8c3 Status: Image is up to date for redroid/redroid:11.0.0-latest 30fd1eea1bfe71b5c4ef38b6f9bbfdd524ec23382da289436a5e4d81a4d5b0ba root@test:/home/test# root@test:/home/test# root@test:/home/test# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES root@test:/home/test#

The host version info is:

root@test:/home/test# uname -a Linux test 5.4.0-125-generic #141-Ubuntu SMP Wed Aug 10 14:03:41 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux root@test:/home/test# root@test:/home/test# root@test:/home/test# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 Codename: focal

kaidilala-ngx commented 10 months ago

The dmesg info is: dmesg.txt

@zhouziyang Could you help to take a look?

zhouziyang commented 10 months ago

Seems binder_linux (binderfs) module not enabled. Try

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

docker run ...
kaidilala-ngx commented 10 months ago

Seems binder_linux (binderfs) module not enabled. Try

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

docker run ...

I have execed the above command, the container still disappeared immediately!

zhouziyang commented 9 months ago

Please collect and attach the debug blobs: curl -fsSL https://raw.githubusercontent.com/remote-android/redroid-doc/master/debug.sh | sudo bash -s -- [CONTAINER] omit CONTAINER if not exist any more.

BTW, seems only aarch64 supported by your platform; try xxx-64only image.

zYxDevs commented 9 months ago

Please collect and attach the debug blobs: curl -fsSL https://raw.githubusercontent.com/remote-android/redroid-doc/master/debug.sh | sudo bash -s -- [CONTAINER] omit CONTAINER if not exist any more.

BTW, seems only aarch64 supported by your platform; try xxx-64only image.

im facing this error when running on oracle vps ubuntu 20.04

creating tmp dir: /tmp/tmp.LwKABqWgl9 libva info: VA-API version 1.19.0 libva info: Trying to open /vendor/lib64/dri/virtio_gpu_drv_video.so libva info: Found init function __vaDriverInit_1_19 pci id for fd 3: 108e:0010, driver (null) pci id for fd 4: 108e:0010, driver (null) libva error: /vendor/lib64/dri/virtio_gpu_drv_video.so init failed libva info: va_openDriver() returns 2 vaInitialize failed with error code 2 (resource allocation failed),exit Error dumping service info status_t: DEAD_OBJECT dnsresolver Can't find service: media.player Can't find service: media.resource_manager Can't find service: media.resource_observer Can't find service: netd Error dumping service info status_t: PERMISSION_DENIED stats Error dumping service info status_t: DEAD_OBJECT wifinl80211 Error: argument "eth0" is wrong: table id value is invalid tar: Removing leading `/' from member names all logs collected in /tmp/tmp.LwKABqWgl9.tgz

zhouziyang commented 9 months ago

@zYxDevs Try docker run ... androidboot.redroid_gpu_mode=guest

zYxDevs commented 9 months ago

@zYxDevs Try docker run ... androidboot.redroid_gpu_mode=guest

thanks for your reply, now log showing this

creating tmp dir: /tmp/tmp.r1C1UdepjC libva info: VA-API version 1.19.0 libva info: Trying to open /vendor/lib64/dri/virtio_gpu_drv_video.so libva info: Found init function __vaDriverInit_1_19 pci id for fd 3: 108e:0010, driver (null) pci id for fd 4: 108e:0010, driver (null) libva error: /vendor/lib64/dri/virtio_gpu_drv_video.so init failed libva info: va_openDriver() returns 2 vaInitialize failed with error code 2 (resource allocation failed),exit tar: Removing leading `/' from member names all logs collected in /tmp/tmp.r1C1UdepjC.tgz

i can connect adb but when use scrcpy resulting this 20231223_095454

zhouziyang commented 9 months ago

@zYxDevs can you provide this /tmp/tmp.r1C1UdepjC.tgz?

zYxDevs commented 8 months ago

@zYxDevs can you provide this /tmp/tmp.r1C1UdepjC.tgz?

its resulting that error but redroid working fine. my server didnt have sound device. is that affect?. i can run redroid with --no-sound

kaidilala-ngx commented 4 months ago

Please collect and attach the debug blobs: curl -fsSL https://raw.githubusercontent.com/remote-android/redroid-doc/master/debug.sh | sudo bash -s -- [CONTAINER] omit CONTAINER if not exist any more.

The debug file is: tmp.rHEWs4RJyc.tar.gz

BTW, seems only aarch64 supported by your platform; try xxx-64only image.

if try redroid:12.0.0-latest for test under the same env, it will success, but Android11 is my requirement.

@zhouziyang Could you help to take a look?

zhouziyang commented 4 months ago

@kaidilala-ngx The 64only images are supported since Android 12. You can create your own 64only image for redroid 11.