Coder Social home page Coder Social logo

redroid-doc's Introduction

English | 简体中文

Table of contents

Overview

redroid (Remote anDroid) is a GPU accelerated AIC (Android In Cloud) solution. You can boot many instances in Linux host (Docker, podman, k8s etc.). redroid supports both arm64 and amd64 architectures. redroid is suitable for Cloud Gaming, Virtualise Phones, Automation Test and more.

Screenshot of redroid 11

Currently supported:

  • Android 14 (redroid/redroid:14.0.0-latest)
  • Android 14 64bit only (redroid/redroid:14.0.0_64only-latest)
  • Android 13 (redroid/redroid:13.0.0-latest)
  • Android 13 64bit only (redroid/redroid:13.0.0_64only-latest)
  • Android 12 (redroid/redroid:12.0.0-latest)
  • Android 12 64bit only (redroid/redroid:12.0.0_64only-latest)
  • Android 11 (redroid/redroid:11.0.0-latest)
  • Android 10 (redroid/redroid:10.0.0-latest)
  • Android 9 (redroid/redroid:9.0.0-latest)
  • Android 8.1 (redroid/redroid:8.1.0-latest)

Getting Started

redroid should be able to run on any linux distribution (with some kernel features enabled).

Quick start on Ubuntu 20.04 here; Check deploy section for other distros.

## install docker https://docs.docker.com/engine/install/#server

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


## running redroid
docker run -itd --rm --privileged \
    --pull always \
    -v ~/data:/data \
    -p 5555:5555 \
    redroid/redroid:11.0.0-latest

### Explanation:
###   --pull always    -- use latest image
###   -v ~/data:/data  -- mount data partition
###   -p 5555:5555     -- expose adb port

### DISCLAIMER
### Should NOT expose adb port on public network
### otherwise, redroid container (even host OS) may get compromised

## 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

Configuration

## running redroid with custom settings (custom display for example)
docker run -itd --rm --privileged \
    --pull always \
    -v ~/data:/data \
    -p 5555:5555 \
    redroid/redroid:11.0.0-latest \
    androidboot.redroid_width=1080 \
    androidboot.redroid_height=1920 \
    androidboot.redroid_dpi=480 \
Param Description Default
androidboot.redroid_width display width 720
androidboot.redroid_height display height 1280
androidboot.redroid_fps display FPS 30(GPU enabled)
15 (GPU not enabled)
androidboot.redroid_dpi display DPI 320
androidboot.use_memfd use memfd to replace deprecated ashmem
plan to enable by default
false
androidboot.use_redroid_overlayfs use overlayfs to share data partition
/data-base: shared data partition
/data-diff: private data
0
androidboot.redroid_net_ndns number of DNS server, 8.8.8.8 will be used if no DNS server specified 0
androidboot.redroid_net_dns<1..N> DNS
androidboot.redroid_net_proxy_type Proxy type; choose from: static, pac, none, unassigned
androidboot.redroid_net_proxy_host
androidboot.redroid_net_proxy_port 3128
androidboot.redroid_net_proxy_exclude_list comma seperated list
androidboot.redroid_net_proxy_pac
androidboot.redroid_gpu_mode choose from: auto, host, guest;
guest: use software rendering;
host: use GPU accelerated rendering;
auto: auto detect
auto
androidboot.redroid_gpu_node auto-detect
ro.xxx DEBUG purpose, allow override ro.xxx prop; For example, set ro.secure=0, then root adb shell provided by default

Native Bridge Support

It's possible to run arm Apps in x86 redroid instance via libhoudini, libndk_translation or QEMU translator.

Check @zhouziyang/libndk_translation for prebuilt libndk_translation. Published redroid images already got libndk_translation included.

# example structure, be careful the file owner and mode

system/
├── bin
│   ├── arm
│   └── arm64
├── etc
│   ├── binfmt_misc
│   └── init
├── lib
│   ├── arm
│   └── libnb.so
└── lib64
    ├── arm64
    └── libnb.so
# Dockerfile
FROM redroid/redroid:11.0.0-latest

ADD native-bridge.tar /
# build docker image
docker build . -t redroid:11.0.0-nb

# running
docker run -itd --rm --privileged \
    -v ~/data11-nb:/data \
    -p 5555:5555 \
    redroid:11.0.0-nb \

GMS Support

It's possible to add GMS (Google Mobile Service) support in redroid via Open GApps, MicroG or MindTheGapps.

Check android-builder-docker for details.

WebRTC Streaming

Plan to port WebRTC solutions from cuttlefish, including frontend (HTML5), backend and many virtual HALs.

How To Build

It's the same way as AOSP building process, but I suggest to use docker to build it.

Check android-builder-docker for details.

Troubleshooting

  • How to collect 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

  • Container disappeared immediately

make sure the required kernel modules are installed; run dmesg -T for detailed logs

  • Container running, but adb cannot connect (device offline etc.)

run docker exec -it <container> sh, then check ps -A and logcat

try dmesg -T if cannot get a container shell

Contact Me

License

redroid itself is under Apache License, since redroid includes many 3rd party modules, you may need to examine license carefully.

redroid kernel modules are under GPL v2

redroid-doc's People

Contributors

asanvicentec avatar brunoaduarte avatar djkcyl avatar mibofra avatar paul-a-kennedy-rally avatar raddup avatar sickcodes avatar zhouziyang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

redroid-doc's Issues

Android 11 Emulator 的镜像我无法解压获取libndk_translation.so,请问你是怎么解压它的

Android 11 Emulator 的镜像我无法解压获取libndk_translation.so,请问你是怎么解压它的

$ lpunpack system.img system
lpunpack E 08-23 02:36:16 31759 31759 reader.cpp:81] [liblp]Logical partition metadata has invalid geometry magic signature.
lpunpack E 08-23 02:36:16 31759 31759 reader.cpp:81] [liblp]Logical partition metadata has invalid geometry magic signature.
Image does not appear to be in super-partition format

file system.img
system.img: DOS/MBR boot sector; partition 1 : ID=0xee, start-CHS (0x0,0,2), end-CHS (0x158,83,59), startsector 1, 5531647 sectors, extended partition table (last)

我下载的是这个 x86_64-30_r09-linux.zip

阿里云服务器开启GPU失败

阿里云服务器开启GPU失败

aliyun 3系统 不开GPU 3D加速就成功启动 , 开启后 就系统起不来!!!!

是不是不支持还是没设置好?

The container exits immediately with no output

The docker run command exits immediately, with no output.

# modprobe binder_linux
# modprobe ashmem_linux
# docker run -v /root/data:/data -p 5900:5900 -p 5555:5555 --rm --memory-swappiness=0 --privileged redroid/redroid:10.0.0-latest redroid.vncserver=1
# echo $?
129

Host: Ubuntu 21.04, Docker 20.10.6

# docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 3
 Server Version: 20.10.6
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc io.containerd.runc.v2 io.containerd.runtime.v1.linux
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc version: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 5.11.0-16-generic
 Operating System: Ubuntu 21.04
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 7.735GiB
 Name: tmp-virtual-machine
 ID: VE7U:WKKP:K5CB:YMPH:3KV3:BW34:ML6J:PEBP:YLTI:CBYF:IDA4:A62C
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

device offline on aliyun arm64 ecs 5.10.60-9.al8.aarch64

Modules check: ok
lsmod | grep -e binder -e ashmem
binder_linux 204800 50
ashmem_linux 24576 15521

binder mount check: ok
ll /dev/binderfs/
总用量 0
crw------- 1 root root 244, 1 10月 13 13:28 binder
crw------- 1 root root 244, 0 10月 13 13:28 binder-control
crw------- 1 root root 244, 2 10月 13 13:28 hwbinder
crw------- 1 root root 244, 3 10月 13 13:28 vndbinder

docker run cmd is:
docker run --name test -itd --rm --memory-swappiness=0 --privileged -v /home/p_data/2:/data -p 1000:5555 c970022c4d04 redroid.gpu.mode=guest

adb connect port: ok

./adb connect 127.0.0.1:1000
connected to 127.0.0.1:1000

ad devices: NO OK
./adb devices
List of devices attached
127.0.0.1:1000 offline

binder_linux dmesg log:

[三 10月 13 14:47:39 2021] binder_linux: undelivered TRANSACTION_COMPLETE
[三 10月 13 14:47:39 2021] binder_linux: release 21284:21379 transaction 5864557 in, still active
[三 10月 13 14:47:39 2021] binder_linux: send failed reply for transaction 5864557 to 21407:21543
[三 10月 13 14:47:39 2021] binder_linux: release 21284:21523 transaction 5866778 in, still active
[三 10月 13 14:47:39 2021] binder_linux: send failed reply for transaction 5866778 to 21407:21407
[三 10月 13 14:47:39 2021] binder_linux: release 21284:21525 transaction 5866783 in, still active
[三 10月 13 14:47:39 2021] binder_linux: send failed reply for transaction 5866783 to 21431:21519
[三 10月 13 14:47:39 2021] binder_linux: send failed reply for transaction 5866790 to 21563:21563
[三 10月 13 14:47:39 2021] binder_linux: 35900:35953 transaction failed 29189/-22, size 68-0 line 2961
[三 10月 13 14:47:39 2021] binder_linux: 35900:35953 transaction failed 29189/-22, size 68-0 line 2961
[三 10月 13 14:47:39 2021] binder_linux: 21431:21519 transaction failed 29189/-22, size 2488-8 line 2961
[三 10月 13 14:47:39 2021] binder_linux: 21407:21597 transaction failed 29189/-22, size 92-0 line 2961
[三 10月 13 14:47:39 2021] binder_linux: 21407:21555 transaction failed 29189/-22, size 2000-8 line 2961
[三 10月 13 14:47:39 2021] binder_linux: undelivered TRANSACTION_COMPLETE
[三 10月 13 14:47:39 2021] binder_linux: undelivered transaction 5867545, process died.
[三 10月 13 14:47:39 2021] binder_linux: 35900:36388 transaction failed 29189/-22, size 68-0 line 2961
[三 10月 13 14:47:39 2021] binder_linux: 35900:36388 transaction failed 29189/-22, size 68-0 line 2961
[三 10月 13 14:47:39 2021] binder_linux: 21267:21267 transaction failed 29189/0, size 4-0 line 2893
[三 10月 13 14:47:39 2021] binder_linux: send failed reply for transaction 5861310, target dead
[三 10月 13 14:47:44 2021] binder_linux: release 21662:21742 transaction 5871062 out, still active
[三 10月 13 14:47:44 2021] binder_linux: undelivered TRANSACTION_COMPLETE
[三 10月 13 14:47:44 2021] binder_linux: send failed reply for transaction 5876996 to 21784:21784
[三 10月 13 14:47:44 2021] binder_linux: release 21662:21898 transaction 5876148 in, still active
[三 10月 13 14:47:44 2021] binder_linux: send failed reply for transaction 5876148 to 21784:21931
[三 10月 13 14:47:44 2021] binder_linux: release 21662:21902 transaction 5876980 in, still active
[三 10月 13 14:47:44 2021] binder_linux: send failed reply for transaction 5876980 to 21784:21901
[三 10月 13 14:47:44 2021] binder_linux: send failed reply for transaction 5877017 to 21983:21983
[三 10月 13 14:47:44 2021] binder_linux: send failed reply for transaction 5877233 to 21957:21957
[三 10月 13 14:47:44 2021] binder_linux: 35900:36191 transaction failed 29189/-22, size 68-0 line 2961
[三 10月 13 14:47:44 2021] binder_linux: 35900:36191 transaction failed 29189/-22, size 68-0 line 2961
[三 10月 13 14:47:44 2021] binder_linux: 21784:22019 transaction failed 29189/-22, size 92-0 line 2961
[三 10月 13 14:47:44 2021] binder_linux: 21983:21983 transaction failed 29189/-22, size 3048-8 line 2961
[三 10月 13 14:47:44 2021] binder_linux: 21642:21642 transaction failed 29189/0, size 4-0 line 2893
[三 10月 13 14:47:44 2021] binder_linux: send failed reply for transaction 5871062, target dead
[三 10月 13 14:47:44 2021] binder_linux: 35900:36191 transaction failed 29189/-22, size 68-0 line 2961
[三 10月 13 14:47:44 2021] binder_linux: 35900:36191 transaction failed 29189/-22, size 68-0 line 2961

docker version is docker-ce 20.10.9, build c2ea9bc

podman docker has something wrong with port forwarding so i replace podman with docker-ce

anything you need ?

How to extract libndk_translation?

I downloaded the latest android11 image,But unable to extract system.img.

x86_64-30_r9-linux.zip


$ disk -l system.img

Disk system.img: 2.65 GiB, 2832203776 bytes, 5531648 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 65B92F4F-E430-4226-AAA9-62685856A562

Device Start End Sectors Size Type
system.img1 2048 4095 2048 1M Linux filesystem
system.img2 4096 5529599 5525504 2.7G Linux filesystem

file x86_64/system.img'
x86_64/system.img: DOS/MBR boot sector; partition 1 : ID=0xee, start-CHS (0x0,0,2), end-CHS (0x158,83,59), startsector 1, 5531647 sectors, extended partition table (last)


@zhouziyang

Trying to run on Ubuntu / AMD

I'm running AMD / Ubuntu 20.04 with a 5.6.0 kernel. More system info:
5.6.0-050600-generic #202003292333 SMP Sun Mar 29 23:35:58 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

When I run the docker container with the following command (exact command shown in the readme):
docker run -itd --rm --memory-swappiness=0 --privileged -v ~/data:/data -p 5555:5555 redroid/redroid:10.0.0-latest

I'm able to open the Android GUI with adb and scrcpy, again per the instructions in the readme. However, it performs quite poorly and I can't leave the initial application.

When I try modifying the redroid:10.0.0-latest part of the run command to redroid:10.0.0-amd64 or redroid:11.0.0-amd64, I start to have problems. The docker container disappears after a few seconds, and can't even be seen with docker ps -a.

What should I do from here to get a full Android platform running, and running well?

运行在arm服务器上报错

你好,想把redroid运行在arm服务器上,但是找了两个版本都有问题。
redroid/redroid:10.0.0-arm64版本:每次docker run或者docker start后直接报错,Exited (129) xx seconds ago;
redroid/redroid:8.1.0-arm64版本:可以run,但dumpsys media.audio_policy查看音频设备,报错Binder driver could not be opened. Terminating.Aborted (core dumped) 。估计这个版本也有问题。
想麻烦问下,有哪个版本是比较稳定可以运行在arm服务器上的,谢谢!!

How to pass Display to container

I don't want to use vnc or scrcpy for viewing the container. I'm streaming the display of my server (my server has gpu) with webrtc. I want to run the container which runs and shows the redroid on my display. How can i do that? Running docker with -e Display starts the container but there is nothing rendering on my screen.

v4l2loopback to use in camera

Hello,

Can use v4l2loopback to a virtual camera?
I already installed in host, i can get /dev/video0 feed in container, but without success.

is there any light where I can go?

Thanks.

Crash loop on Arch Linux (Zen kernel)?

I cannot connect in with ADB - something crashed and there seem to be a loop on that happening.

Logcat here.

Arch Linux, kernel version 5.14.14-zen1-1-zen on x86_64 - binder and ashmem built-in.
I also added binder.devices=binder,hwbinder,vndbinder,anbox-binder,anbox-hwbinder,anbox-vndbinder to the kernel command line.

The image is Android 12, and here is factory.prop. I also added the native bridge in from the emulator image, but I wonder if that relates to the issue.

How can I flash GApps/Magisk?

I believe that OpenGApps has changed their directory structure since #11. How would I be able to flash OpenGapps now? I'm also interested in flashing Magisk.

Can't get ndk_translation to work on android 11

Hi,

I've been following the wiki and issues from this project to try and get arm support on x86_64, but I can't seem to make it work.

Docker command: docker run --rm -itd --memory-swappiness=0 --privileged --name android-11 -p 5555:5555 android-11-with-arm redroid.width=1920 redroid.height=1080 redroid.fps=60 ro.sf.lcd_density=150 qemu.gles.vendor=mesa ro.hardware.gralloc=gbm
Then adb connect and scrcpy as instructed. That works perfectly (well except that the keyboard and mouse are always active regardless of whether scrcpy is focused or not, and if I don't disable scrcpy I end up clicking simultaneously at two different points on the screen... I can live with that, but a workaround/fix would be appreciated if there is one right now).

Image build:

  • Extracted ndk_translation tarball from both x86 and x86_64 (Android emulators from the official SDK).
  • Tested both tarballs on android 11 following the instructions on this repo.
  • Neither of them seems to be detected/enabled.

When trying to install apps from the file browser, the error "App not installed" is shown. If I try to install them using ADB, then Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113] is returned, implying that no translation layer is available.

Have I missed some step?
Thanks.

adb can't connect

uname -a:

Linux base 5.10.27-gentoo-x86_64 #5 SMP Mon Jul 12 19:30:25 MSK 2021 x86_64 Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz GenuineIntel GNU/Linux

Modules are built into kernel

~> grep binder /proc/filesystems
nodev	binder
~> grep ashmem /proc/misc
 62 ashmem

Run as described in Quick Start:

docker run -itd --rm --memory-swappiness=0 --privileged \
                 --pull always \
                 -v ~/data:/data \
                 -p 5555:5555 \
                 redroid/redroid:9.0.0-latest

adb list device, but it's offline

~> adb devices
List of devices attached
emulator-5554	offline

~> adb connect 127.0.0.1:5555
connected to 127.0.0.1:5555

~> adb shell
error: no devices/emulators found

dmesg show the following:

[  157.699415] docker0: port 1(vethb5c956a) entered blocking state
[  157.699420] docker0: port 1(vethb5c956a) entered disabled state
[  157.699530] device vethb5c956a entered promiscuous mode
[  157.953360] eth0: renamed from vethd50aafc
[  157.966298] docker0: port 1(vethb5c956a) entered blocking state
[  157.966299] docker0: port 1(vethb5c956a) entered forwarding state
[  157.983406] init: init first stage started!
[  157.983537] init: Using Android DT directory /proc/device-tree/firmware/android/
[  157.983546] init: First stage mount skipped (missing/incompatible fstab in device tree)
[  157.983549] init: Skipped setting INIT_AVB_VERSION (not in recovery mode)
[  157.984115] init: init second stage started!
[  157.985936] init: Using Android DT directory /proc/device-tree/firmware/android/
[  157.985991] init: Running restorecon...
[  157.986006] init: waitid failed: No child processes
[  157.986022] init: Couldn't load property file '/system/etc/prop.default': open() failed: No such file or directory: No such file or directory
[  157.986030] init: Couldn't load property file '/prop.default': open() failed: No such file or directory: No such file or directory
[  157.986500] init: Couldn't load property file '/odm/default.prop': open() failed: No such file or directory: No such file or directory
[  157.986626] init: Couldn't load property file '/vendor/default.prop': open() failed: No such file or directory: No such file or directory
[  157.986662] init: Created socket '/dev/socket/property_service', mode 666, user 0, group 0
[  157.986775] init: Forked subcontext for 'u:r:vendor_init:s0' with pid 7
[  158.029194] ueventd: ueventd started!
[  158.029235] ueventd: Parsing file /ueventd.rc...
[  158.029640] ueventd: Parsing file /vendor/ueventd.rc...
[  158.029649] ueventd: Unable to read config file '/vendor/ueventd.rc': open() failed: No such file or directory
[  158.029657] ueventd: Parsing file /odm/ueventd.rc...
[  158.029663] ueventd: Unable to read config file '/odm/ueventd.rc': open() failed: No such file or directory
[  158.029688] ueventd: Parsing file /ueventd.redroid.rc...
[  158.029693] ueventd: Unable to read config file '/ueventd.redroid.rc': open() failed: No such file or directory
[  158.029770] ueventd: [libfs_mgr]fs_mgr_read_fstab_default(): failed to find device default fstab
[  158.029776] ueventd: [libfs_mgr]fs_mgr_read_fstab_dt(): failed to read fstab from dt
[  158.083729] uvcvideo: Failed to query (GET_CUR) UVC control 8 on unit 1: -32 (exp. 1).
[  158.125151] cgroup: Unknown subsys name 'schedtune'
[  158.126930] new mount options do not match the existing superblock, will be ignored
[  158.142350] logd.auditd: start
[  158.142353] logd.klogd: 158126761240
[  158.163343] vdc: Waited 10ms for vold
[  158.208177] logd.daemon: reinit
[  158.248003] healthd: No battery devices found
[  158.248328] healthd: battery none chg=
[  159.204585] capability: warning: `main' uses 32-bit capabilities (legacy support in use)
[  159.767091] healthd: battery none chg=
[  159.767185] healthd: battery none chg=
[  160.568753] logd: logdr: UID=1000 GID=1007 PID=668 n tail=0 logMask=80 pid=0 start=0ns timeout=0ns

What am I doing wrong?

device offline on OracleCloud arm64 ecs Ubuntu 20.04 5.11.0-1019-oracle

Hi, when i run redoid on my OracleCloud ecs, which running Ubuntu 20.04 based on aarch64 architecture, it will end up in a adb device offline stats, here is some useful info:

adb devices

ubuntu@instance20210825230004:~$ adb devices
List of devices attached
127.0.0.1:5555 offline

docker run cmd

sudo docker run -itd --rm --memory-swappiness=0 --privileged --pull always -v ~/data:/data -p 5555:5555 redroid/redroid:11.0.0-arm64

System Info

Linux instance20210825230004 5.11.0-1019-oracle #20~20.04.1-Ubuntu SMP Tue Sep 21 14:20:46 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux

Docker Info

Client:
Version: 20.10.7
API version: 1.41
Go version: go1.13.8
Git commit: 20.10.7-0ubuntu1~20.04.2
Built: Fri Oct 1 14:05:40 2021
OS/Arch: linux/arm64
Context: default
Experimental: true

Server:
Engine:
Version: 20.10.7
API version: 1.41 (minimum version 1.12)
Go version: go1.13.8
Git commit: 20.10.7-0ubuntu120.04.2
Built: Fri Oct 1 03:27:17 2021
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: 1.5.2-0ubuntu1
20.04.3
GitCommit:
runc:
Version: 1.0.0rc95-0ubuntu120.04.2
GitCommit:
docker-init:
Version: 0.19.0
GitCommit:

ReDroid Kernel Modules

After running

sudo modprobe ashmem_linux
sudo modprobe binder_linux devices=binder,hwbinder,vndbinder

ubuntu@instance20210825230004:~$ lsmod | grep -e ashmem_linux -e binder_linux
binder_linux 204800 0
ashmem_linux 24576 0

ubuntu@instance20210825230004:~$ grep binder /proc/filesystems
nodev binder

ubuntu@instance20210825230004:~$ grep ashmem /proc/misc
123 ashmem

ubuntu@instance20210825230004:$ ls /dev/blind
ls: 无法访问 '/dev/blind': 没有那个文件或目录
ubuntu@instance20210825230004:
$ ls /dev/blindref
ls: 无法访问 '/dev/blindref': 没有那个文件或目录

docker ps -A

USER PID PPID VSZ RSS WCHAN ADDR S NAME
root 10 1 10775456 4948 do_sys_po+ 0 S init
root 12 1 10776876 6500 do_sys_po+ 0 S ueventd
logd 32 1 10877268 5680 sigsuspend 0 S logd
lmkd 33 1 10772184 2516 ep_poll 0 S lmkd
tombstoned 2363 1 10771376 2232 ep_poll 0 S tombstoned
shell 3922 1 10846592 5516 ep_poll 0 S adbd
system 4290 1 0 0 0 0 Z [android.hardwar]
system 4291 1 0 0 0 0 Z [android.hardwar]
nobody 4292 1 0 0 0 0 Z [android.hardwar]
mediacodec 4308 1 0 0 0 0 Z [android.hardwar]
wifi 4309 1 0 0 0 0 Z [android.hardwar]
radio 4310 1 0 0 0 0 Z [rild]
mediacodec 4311 1 0 0 0 0 Z [mediaswcodec]
statsd 4312 1 0 0 0 0 Z [statsd]
nobody 4314 1 10789740 3580 do_sys_po+ 0 S traced_probes
nobody 4315 1 10789740 3508 do_sys_po+ 0 S traced
root 4317 1 0 0 0 0 Z [usbd]
root 4351 1 0 0 0 0 Z [iptables-restor]
root 4355 1 0 0 0 0 Z [ip6tables-resto]
root 4605 1 0 0 0 0 Z [dumpstate]
root 4615 1 0 0 0 0 Z [uncrypt]
root 4616 1 0 0 0 0 Z [uncrypt]
root 4617 1 0 0 0 0 Z [uncrypt]
system 4618 1 0 0 0 0 Z [vdc]
root 4634 4628 10773424 3156 0 0 R ps

docker logcat

logcat.log

any help will be appeciated

add emulator camera support on redroid-11

我添加了goldfish相关模块如下,但我发现android11 goldfish camera模块上不会生成camera.goldfish.so,camera依然无法起效。

PRODUCT_SOONG_NAMESPACES += external/mesa3d device/generic/goldfish device/generic/goldfish-opengl hardware/google/camera hardware/google/camera/devices/EmulatedCamera device/generic/goldfish device/generic/goldfish-opengl
PRODUCT_PACKAGES += \
    hwcomposer.redroid \
    gralloc.gbm \
    gralloc.redroid \
    libEGL_angle \
    libGLESv1_CM_angle \
    libGLESv2_angle \
    vulkan.pastel \
    libGLES_mesa \
    vulkan.radv \
    ipconfigstore \
    camera.goldfish \
    camera.goldfish.jpeg \
    camera.ranchu \
    camera.ranchu.jpeg \
PRODUCT_PROPERTY_OVERRIDES += \
    ro.kernel.qemu=1 \
    ro.hardware=redroid \
    ro.sf.lcd_density=320 \
    persist.sys.fuse=1 \

# Phone App required
PRODUCT_PACKAGES += \
    rild

# WiFi required by SystemUI
PRODUCT_PACKAGES += \
    [email protected]

PRODUCT_COPY_FILES += \
    frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \


# required HIDL
PRODUCT_PACKAGES += \
    audio.r_submix.default \
    android.hardware.audio.service \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \

PRODUCT_COPY_FILES += \
    device/generic/goldfish/camera/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \
    device/generic/goldfish/camera/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
    frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
    frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
    frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
    frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
    device/generic/goldfish/audio/policy/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
    device/generic/goldfish/audio/policy/primary_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/primary_audio_policy_configuration.xml \
    frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
    frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
    frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
    frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
    $(LOCAL_PATH)/gpu_config.sh:$(TARGET_COPY_OUT_VENDOR)/bin/gpu_config.sh \
    $(LOCAL_PATH)/init.redroid.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.redroid.rc \
    frameworks/native/data/etc/android.hardware.camera.ar.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.ar.xml \
    frameworks/native/data/etc/android.hardware.camera.autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.autofocus.xml \
    frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \
    device/generic/goldfish/camera/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
    device/generic/goldfish/camera/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \

docker容器报错:
Could not get passthrough implementation for [email protected]::ICameraProvider/legacy/0.

compile aosp failed: redroid11-gsi lunch redroid_arm64-userdebug

In file included from vendor/redroid/gatekeeper/SoftGateKeeperDevice.cpp:16:
vendor/redroid/gatekeeper/SoftGateKeeper.h:138:39: error: 'length' is a private member of 'gatekeeper::SizedBuffer'
size_t digest_size = password.length + sizeof(salt);
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:97:14: note: declared private here
uint32_t length;
^
In file included from vendor/redroid/gatekeeper/SoftGateKeeperDevice.cpp:16:
vendor/redroid/gatekeeper/SoftGateKeeper.h:141:54: error: 'buffer' is a private member of 'gatekeeper::SizedBuffer'
memcpy(digest.get() + sizeof(salt), password.buffer.get(), password.length);
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:96:26: note: declared private here
UniquePtr<uint8_t[]> buffer;
^
In file included from vendor/redroid/gatekeeper/SoftGateKeeperDevice.cpp:16:
vendor/redroid/gatekeeper/SoftGateKeeper.h:141:77: error: 'length' is a private member of 'gatekeeper::SizedBuffer'
memcpy(digest.get() + sizeof(salt), password.buffer.get(), password.length);
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:97:14: note: declared private here
uint32_t length;
^
vendor/redroid/gatekeeper/SoftGateKeeperDevice.cpp:40:17: error: no matching constructor for initialization of 'gatekeeper::SizedBuffer'
SizedBuffer desired_password_buffer(desired_password_length);
^ ~~~~~~~~~~~~~~~~~~~~~~~
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:41:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'const gatekeeper::SizedBuffer' for 1st argument
struct SizedBuffer {
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:64:5: note: candidate constructor not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'gatekeeper::SizedBuffer' for 1st argument
SizedBuffer(SizedBuffer && rhs) : buffer(move(rhs.buffer)), length(rhs.length) {
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:42:5: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
SizedBuffer() {
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:55:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
SizedBuffer(uint8_t buf[], uint32_t len) {
^
vendor/redroid/gatekeeper/SoftGateKeeperDevice.cpp:43:17: error: no matching constructor for initialization of 'gatekeeper::SizedBuffer'
SizedBuffer current_password_handle_buffer(current_password_handle_length);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:41:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'const gatekeeper::SizedBuffer' for 1st argument
struct SizedBuffer {
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:64:5: note: candidate constructor not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'gatekeeper::SizedBuffer' for 1st argument
SizedBuffer(SizedBuffer && rhs) : buffer(move(rhs.buffer)), length(rhs.length) {
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:42:5: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
SizedBuffer() {
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:55:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
SizedBuffer(uint8_t buf[], uint32_t len) {
^
vendor/redroid/gatekeeper/SoftGateKeeperDevice.cpp:49:17: error: no matching constructor for initialization of 'gatekeeper::SizedBuffer'
SizedBuffer current_password_buffer(current_password_length);
^ ~~~~~~~~~~~~~~~~~~~~~~~
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:41:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'const gatekeeper::SizedBuffer' for 1st argument
struct SizedBuffer {
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:64:5: note: candidate constructor not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'gatekeeper::SizedBuffer' for 1st argument
SizedBuffer(SizedBuffer && rhs) : buffer(move(rhs.buffer)), length(rhs.length) {
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:42:5: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
SizedBuffer() {
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:55:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
SizedBuffer(uint8_t buf[], uint32_t len) {
^
vendor/redroid/gatekeeper/SoftGateKeeperDevice.cpp:66:67: error: 'buffer' is a private member of 'gatekeeper::SizedBuffer'
*enrolled_password_handle = response.enrolled_password_handle.buffer.release();
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:96:26: note: declared private here
UniquePtr<uint8_t[]> buffer;
^
vendor/redroid/gatekeeper/SoftGateKeeperDevice.cpp:72:74: error: 'length' is a private member of 'gatekeeper::SizedBuffer'
*enrolled_password_handle_length = response.enrolled_password_handle.length;
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:97:14: note: declared private here
uint32_t length;
^
vendor/redroid/gatekeeper/SoftGateKeeperDevice.cpp:87:17: error: no matching constructor for initialization of 'gatekeeper::SizedBuffer'
SizedBuffer password_handle_buffer(enrolled_password_handle_length);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:41:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'const gatekeeper::SizedBuffer' for 1st argument
struct SizedBuffer {
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:64:5: note: candidate constructor not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'gatekeeper::SizedBuffer' for 1st argument
SizedBuffer(SizedBuffer && rhs) : buffer(move(rhs.buffer)), length(rhs.length) {
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:42:5: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
SizedBuffer() {
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:55:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
SizedBuffer(uint8_t buf[], uint32_t len) {
^
vendor/redroid/gatekeeper/SoftGateKeeperDevice.cpp:90:17: error: no matching constructor for initialization of 'gatekeeper::SizedBuffer'
SizedBuffer provided_password_buffer(provided_password_length);
^ ~~~~~~~~~~~~~~~~~~~~~~~~
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:41:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'const gatekeeper::SizedBuffer' for 1st argument
struct SizedBuffer {
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:64:5: note: candidate constructor not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to 'gatekeeper::SizedBuffer' for 1st argument
SizedBuffer(SizedBuffer && rhs) : buffer(move(rhs.buffer)), length(rhs.length) {
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:42:5: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
SizedBuffer() {
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:55:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
SizedBuffer(uint8_t buf[], uint32_t len) {
^
vendor/redroid/gatekeeper/SoftGateKeeperDevice.cpp:105:42: error: 'buffer' is a private member of 'gatekeeper::SizedBuffer'
*auth_token = response.auth_token.buffer.release();
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:96:26: note: declared private here
UniquePtr<uint8_t[]> buffer;
^
vendor/redroid/gatekeeper/SoftGateKeeperDevice.cpp:106:49: error: 'length' is a private member of 'gatekeeper::SizedBuffer'
*auth_token_length = response.auth_token.length;
^
system/gatekeeper/include/gatekeeper/gatekeeper_messages.h:97:14: note: declared private here
uint32_t length;
^
12 errors generated.
09:26:33 ninja failed with: exit status 1

failed to build some targets (01:09:33 (hh:mm:ss))

9.0.0-arm64版本在arm服务器上StorageManager空指针

你好!我在arm服务器上安装redroid/redroid:9.0.0-arm64版本镜像,pm install apk时报如下错:
另外安装8.1.0和10.0.0版本发现都没有/sdcard目录。之前在x86上安装8.1.0-amd64有/sdcard目录,安装10.0.0-amd64也没有/sdcard目录,但是不影响apk的install,能麻烦解答下吗?谢谢!
java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List android.os.storage.StorageManager.getVolumes()' on a null object reference
at com.android.internal.content.PackageHelper.resolveInstallVolume(PackageHelper.java:184)
at com.android.internal.content.PackageHelper.resolveInstallVolume(PackageHelper.java:148)
at com.android.internal.content.PackageHelper.resolveInstallVolume(PackageHelper.java:163)
at com.android.server.pm.PackageInstallerService.createSessionInternal(PackageInstallerService.java:502)
at com.android.server.pm.PackageInstallerService.createSession(PackageInstallerService.java:404)
at com.android.server.pm.PackageManagerShellCommand.doCreateSession(PackageManagerShellCommand.java:2415)
at com.android.server.pm.PackageManagerShellCommand.runInstall(PackageManagerShellCommand.java:907)
at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:158)
at android.os.ShellCommand.exec(ShellCommand.java:103)
at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:21400)
at android.os.Binder.shellCommand(Binder.java:634)
at android.os.Binder.onTransact(Binder.java:532)
at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:2796)
at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:3892)
at android.os.Binder.execTransact(Binder.java:731

scrcpy无法开启

使用scrcpy连接机器的时候无法使用

系统错误信息

android 11 x86 x64 intel cpu

08-24 10:30:23.792   143   168 E Netd    : Failed to dump IPv4 sockets struct tcp_info: No such file or directory
08-24 10:30:23.792   143   168 E TcpSocketMonitor: Failed to poll TCP socket info: No such file or directory
08-24 10:30:25.501  1529  1529 D AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 2000 <<<<<<
08-24 10:30:25.503  1529  1529 I AndroidRuntime: Using default boot image
08-24 10:30:25.503  1529  1529 I AndroidRuntime: Leaving lock profiling enabled
08-24 10:30:25.504  1529  1529 I app_process: Core platform API reporting enabled, enforcing=false
08-24 10:30:25.539  1529  1529 D app_process: Time zone APEX ICU file found: /apex/com.android.tzdata/etc/icu/icu_tzdata.dat
08-24 10:30:25.539  1529  1529 D app_process: I18n APEX ICU file found: /apex/com.android.i18n/etc/icu/icudt66l.dat
08-24 10:30:25.541  1529  1529 W app_process: Unexpected CPU variant for X86 using defaults: x86_64
08-24 10:30:25.547  1529  1529 W app_process: JNI RegisterNativeMethods: attempt to register 0 native methods for android.media.AudioAttributes
08-24 10:30:25.549  1529  1529 D AndroidRuntime: Calling main entry com.genymobile.scrcpy.Server
08-24 10:30:25.550  1529  1529 I scrcpy  : Device: unknown redroid11_x86_64 (Android 11)
08-24 10:30:25.559  1529  1529 I app_process: Thread[1,tid=1529,Native,Thread*=0x7b91e926c010,peer=0x12c02ac8,"main"] recursive attempt to load library "libmedia_jni.so"
08-24 10:30:25.559  1529  1529 I app_process: Thread[1,tid=1529,Native,Thread*=0x7b91e926c010,peer=0x12c02ac8,"main"] recursive attempt to load library "libmedia_jni.so"
08-24 10:30:25.559  1529  1529 D MtpDeviceJNI: register_android_mtp_MtpDevice
08-24 10:30:25.559  1529  1529 I app_process: Thread[1,tid=1529,Native,Thread*=0x7b91e926c010,peer=0x12c02ac8,"main"] recursive attempt to load library "libmedia_jni.so"
08-24 10:30:25.559  1529  1529 I app_process: Thread[1,tid=1529,Native,Thread*=0x7b91e926c010,peer=0x12c02ac8,"main"] recursive attempt to load library "libmedia_jni.so"
08-24 10:30:25.561  1529  1548 E HidlServiceManagement: getService: Potential race detected. The VINTF manifest is not being enforced. If a HAL server has a delay in starting and it is not in the manifest, it will not be retrieved. Please make sure all HALs on this device are in the VINTF manifest and enable PRODUCT_ENFORCE_VINTF_MANIFEST on this device (this is also enabled by PRODUCT_FULL_TREBLE). PRODUCT_ENFORCE_VINTF_MANIFEST will ensure that no race condition is possible here.
08-24 10:30:25.588  1543  1543 D AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 2000 <<<<<<
08-24 10:30:25.590  1543  1543 I AndroidRuntime: Using default boot image
08-24 10:30:25.590  1543  1543 I AndroidRuntime: Leaving lock profiling enabled
08-24 10:30:25.590  1543  1543 I app_process: Core platform API reporting enabled, enforcing=false
08-24 10:30:25.624  1543  1543 D app_process: Time zone APEX ICU file found: /apex/com.android.tzdata/etc/icu/icu_tzdata.dat
08-24 10:30:25.624  1543  1543 D app_process: I18n APEX ICU file found: /apex/com.android.i18n/etc/icu/icudt66l.dat
08-24 10:30:25.626  1543  1543 W app_process: Unexpected CPU variant for X86 using defaults: x86_64
08-24 10:30:25.632  1543  1543 W app_process: JNI RegisterNativeMethods: attempt to register 0 native methods for android.media.AudioAttributes
08-24 10:30:25.634  1543  1543 D AndroidRuntime: Calling main entry com.genymobile.scrcpy.CleanUp
08-24 10:30:26.562  1529  1548 I OMXClient: IOmx service obtained
08-24 10:30:26.562  1510  1510 I OMXMaster: makeComponentInstance(OMX.google.h264.encoder) in android.hardwar process
08-24 10:30:26.571  1529  1548 W OMXUtils: do not know color format 0x7f000789 = 2130708361
08-24 10:30:26.572  1529  1548 I ACodec  : setupAVCEncoderParameters with [profile: Baseline] [level: Level41]
08-24 10:30:26.572  1529  1548 I ACodec  : [OMX.google.h264.encoder] cannot encode color aspects. Ignoring.
08-24 10:30:26.573  1529  1548 I ACodec  : [OMX.google.h264.encoder] cannot encode HDR static metadata. Ignoring.
08-24 10:30:26.573  1529  1548 I ACodec  : setupVideoEncoder succeeded
08-24 10:30:26.573  1529  1548 W OMXUtils: do not know color format 0x7f000789 = 2130708361
08-24 10:30:26.573  1510  1510 E OMXNodeInstance: getConfig(0xe6dc0470:google.h264.encoder, ConfigLatency(0x6f800005)) ERROR: Undefined(0x80001001)
08-24 10:30:26.573  1510  1510 E OMXNodeInstance: getConfig(0xe6dc0470:google.h264.encoder, ConfigAndroidVendorExtension(0x6f100004)) ERROR: Undefined(0x80001001)
08-24 10:30:26.574  1510  1510 D GraphicBufferSource: setting dataspace: 0x104, acquired=0
08-24 10:30:26.575  1510  1510 D GraphicBufferSource: requesting color aspects (R:2(Limited), P:1(BT709_5), M:1(BT709_5), T:3(SMPTE170M))
08-24 10:30:26.577  1529  1529 E HidlServiceManagement: getService: Potential race detected. The VINTF manifest is not being enforced. If a HAL server has a delay in starting and it is not in the manifest, it will not be retrieved. Please make sure all HALs on this device are in the VINTF manifest and enable PRODUCT_ENFORCE_VINTF_MANIFEST on this device (this is also enabled by PRODUCT_FULL_TREBLE). PRODUCT_ENFORCE_VINTF_MANIFEST will ensure that no race condition is possible here.
08-24 10:30:27.597    81    92 D hwcomposer: hw_composer sent 205 syncs in 66s
08-24 10:30:27.645    41    41 I hwservicemanager: getTransport: Cannot find entry [email protected]::IMapper/default in either framework or device manifest.
08-24 10:30:27.646  1510  1510 E HidlServiceManagement: getService: Potential race detected. The VINTF manifest is not being enforced. If a HAL server has a delay in starting and it is not in the manifest, it will not be retrieved. Please make sure all HALs on this device are in the VINTF manifest and enable PRODUCT_ENFORCE_VINTF_MANIFEST on this device (this is also enabled by PRODUCT_FULL_TREBLE). PRODUCT_ENFORCE_VINTF_MANIFEST will ensure that no race condition is possible here.
08-24 10:30:27.646  1529  1548 E HidlServiceManagement: getService: Potential race detected. The VINTF manifest is not being enforced. If a HAL server has a delay in starting and it is not in the manifest, it will not be retrieved. Please make sure all HALs on this device are in the VINTF manifest and enable PRODUCT_ENFORCE_VINTF_MANIFEST on this device (this is also enabled by PRODUCT_FULL_TREBLE). PRODUCT_ENFORCE_VINTF_MANIFEST will ensure that no race condition is possible here.
08-24 10:30:28.646    41    41 I hwservicemanager: Since [email protected]::IMapper/default is not registered, trying to start it as a lazy HAL.
08-24 10:30:28.647  1510  1510 I Gralloc4: mapper 4.x is not supported
08-24 10:30:28.647    41  1565 W libc    : Unable to set property "ctl.interface_start" to "[email protected]::IMapper/default": error code: 0x20
08-24 10:30:28.647    41    41 I hwservicemanager: getTransport: Cannot find entry [email protected]::IMapper/default in either framework or device manifest.
08-24 10:30:28.647  1510  1510 E HidlServiceManagement: getService: Potential race detected. The VINTF manifest is not being enforced. If a HAL server has a delay in starting and it is not in the manifest, it will not be retrieved. Please make sure all HALs on this device are in the VINTF manifest and enable PRODUCT_ENFORCE_VINTF_MANIFEST on this device (this is also enabled by PRODUCT_FULL_TREBLE). PRODUCT_ENFORCE_VINTF_MANIFEST will ensure that no race condition is possible here.
08-24 10:30:28.647  1529  1548 E HidlServiceManagement: getService: Potential race detected. The VINTF manifest is not being enforced. If a HAL server has a delay in starting and it is not in the manifest, it will not be retrieved. Please make sure all HALs on this device are in the VINTF manifest and enable PRODUCT_ENFORCE_VINTF_MANIFEST on this device (this is also enabled by PRODUCT_FULL_TREBLE). PRODUCT_ENFORCE_VINTF_MANIFEST will ensure that no race condition is possible here.
08-24 10:30:29.648    41    41 I hwservicemanager: Since [email protected]::IMapper/default is not registered, trying to start it as a lazy HAL.
08-24 10:30:29.648  1510  1510 W Gralloc3: mapper 3.x is not supported
08-24 10:30:29.649  1510  1510 E HidlServiceManagement: getService: Potential race detected. The VINTF manifest is not being enforced. If a HAL server has a delay in starting and it is not in the manifest, it will not be retrieved. Please make sure all HALs on this device are in the VINTF manifest and enable PRODUCT_ENFORCE_VINTF_MANIFEST on this device (this is also enabled by PRODUCT_FULL_TREBLE). PRODUCT_ENFORCE_VINTF_MANIFEST will ensure that no race condition is possible here.
08-24 10:30:29.649    41  1566 W libc    : Unable to set property "ctl.interface_start" to "[email protected]::IMapper/default": error code: 0x20
08-24 10:30:29.649  1510  1514 E HidlServiceManagement: getService: Potential race detected. The VINTF manifest is not being enforced. If a HAL server has a delay in starting and it is not in the manifest, it will not be retrieved. Please make sure all HALs on this device are in the VINTF manifest and enable PRODUCT_ENFORCE_VINTF_MANIFEST on this device (this is also enabled by PRODUCT_FULL_TREBLE). PRODUCT_ENFORCE_VINTF_MANIFEST will ensure that no race condition is possible here.
08-24 10:30:30.653  1529  1548 E HidlServiceManagement: getService: Potential race detected. The VINTF manifest is not being enforced. If a HAL server has a delay in starting and it is not in the manifest, it will not be retrieved. Please make sure all HALs on this device are in the VINTF manifest and enable PRODUCT_ENFORCE_VINTF_MANIFEST on this device (this is also enabled by PRODUCT_FULL_TREBLE). PRODUCT_ENFORCE_VINTF_MANIFEST will ensure that no race condition is possible here.
08-24 10:30:30.653    41    41 I hwservicemanager: getTransport: Cannot find entry [email protected]::IAllocator/default in either framework or device manifest.
08-24 10:30:30.653  1510  1510 E HidlServiceManagement: getService: Potential race detected. The VINTF manifest is not being enforced. If a HAL server has a delay in starting and it is not in the manifest, it will not be retrieved. Please make sure all HALs on this device are in the VINTF manifest and enable PRODUCT_ENFORCE_VINTF_MANIFEST on this device (this is also enabled by PRODUCT_FULL_TREBLE). PRODUCT_ENFORCE_VINTF_MANIFEST will ensure that no race condition is possible here.
08-24 10:30:31.653    41    41 I hwservicemanager: Since [email protected]::IAllocator/default is not registered, trying to start it as a lazy HAL.
08-24 10:30:31.654  1510  1510 W Gralloc4: allocator 3.x is not supported
08-24 10:30:31.654    41    41 I hwservicemanager: getTransport: Cannot find entry [email protected]::IAllocator/default in either framework or device manifest.
08-24 10:30:31.654    41  1574 W libc    : Unable to set property "ctl.interface_start" to "[email protected]::IAllocator/default": error code: 0x20
08-24 10:30:31.654  1510  1510 E HidlServiceManagement: getService: Potential race detected. The VINTF manifest is not being enforced. If a HAL server has a delay in starting and it is not in the manifest, it will not be retrieved. Please make sure all HALs on this device are in the VINTF manifest and enable PRODUCT_ENFORCE_VINTF_MANIFEST on this device (this is also enabled by PRODUCT_FULL_TREBLE). PRODUCT_ENFORCE_VINTF_MANIFEST will ensure that no race condition is possible here.
08-24 10:30:31.655   142   142 W ResourceManagerService: Ignoring request to add new resource entry with value <= 0
08-24 10:30:31.656  1510  1563 D SoftAVCEnc: Params width 720 height 1280 level 41 colorFormat 0
08-24 10:30:32.655    41    41 I hwservicemanager: Since [email protected]::IAllocator/default is not registered, trying to start it as a lazy HAL.
08-24 10:30:32.655  1510  1510 W Gralloc3: allocator 3.x is not supported
08-24 10:30:32.655    41  1576 W libc    : Unable to set property "ctl.interface_start" to "[email protected]::IAllocator/default": error code: 0x20
08-24 10:30:32.655  1510  1510 E HidlServiceManagement: getService: Potential race detected. The VINTF manifest is not being enforced. If a HAL server has a delay in starting and it is not in the manifest, it will not be retrieved. Please make sure all HALs on this device are in the VINTF manifest and enable PRODUCT_ENFORCE_VINTF_MANIFEST on this device (this is also enabled by PRODUCT_FULL_TREBLE). PRODUCT_ENFORCE_VINTF_MANIFEST will ensure that no race condition is possible here.
08-24 10:30:33.673  1510  1510 E [email protected]: libminijail[1510]: blocked syscall: kcmp
08-24 10:30:33.673    70    70 I tombstoned: received crash request for pid 1510
08-24 10:30:33.674  1510  1510 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
08-24 10:30:33.674  1510  1510 F DEBUG   : Build fingerprint: 'ReDroid/redroid_x86_64/redroid_x86_64:11/RQ3A.210705.001/eng.root.20210824.053728:userdebug/test-keys'
08-24 10:30:33.674  1510  1510 F DEBUG   : Revision: '0'
08-24 10:30:33.674  1510  1510 F DEBUG   : ABI: 'x86'
08-24 10:30:33.674  1510  1510 F DEBUG   : Timestamp: 2021-08-24 10:30:33+0000
08-24 10:30:33.674  1510  1510 F DEBUG   : pid: 1510, tid: 1510, name: [email protected]  >>> media.codec <<<
08-24 10:30:33.674  1510  1510 F DEBUG   : uid: 1046
08-24 10:30:33.674  1510  1510 F DEBUG   : signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
08-24 10:30:33.674  1510  1510 F DEBUG   :     eax 00000000  ebx 000005e6  ecx 000005e6  edx 00000006
08-24 10:30:33.674  1510  1510 F DEBUG   :     edi e7b8f73e  esi fffcbfd0
08-24 10:30:33.674  1510  1510 F DEBUG   :     ebp e8e6b540  esp fffcbf78  eip e8e6b549
08-24 10:30:33.697  1510  1510 F DEBUG   : 
08-24 10:30:33.697  1510  1510 F DEBUG   : backtrace:
08-24 10:30:33.697  1510  1510 F DEBUG   :       #00 pc 00000549  [vdso] (__kernel_vsyscall+9)
08-24 10:30:33.697  1510  1510 F DEBUG   :       #01 pc 0005b398  /apex/com.android.runtime/lib/bionic/libc.so (syscall+40) (BuildId: aab52d69c156396e65a1ac65dcda56e6)
08-24 10:30:33.697  1510  1510 F DEBUG   :       #02 pc 00076a01  /apex/com.android.runtime/lib/bionic/libc.so (abort+209) (BuildId: aab52d69c156396e65a1ac65dcda56e6)
08-24 10:30:33.697  1510  1510 F DEBUG   :       #03 pc 00018eaa  /system/lib/libminijail.so (do_fatal_log+170) (BuildId: 50e9c47da5ad192511a392b9c52f22b5)
08-24 10:30:33.697  1510  1510 F DEBUG   :       #04 pc 0001621d  /system/lib/libminijail.so (log_sigsys_handler+77) (BuildId: 50e9c47da5ad192511a392b9c52f22b5)
08-24 10:30:33.697  1510  1510 F DEBUG   :       #05 pc 0005b1f0  /apex/com.android.runtime/lib/bionic/libc.so (__restore_rt) (BuildId: aab52d69c156396e65a1ac65dcda56e6)
08-24 10:30:33.697  1510  1510 F DEBUG   :       #06 pc 00000548  [vdso] (__kernel_vsyscall+8)
08-24 10:30:33.697  1510  1510 F DEBUG   :       #07 pc 0005b398  /apex/com.android.runtime/lib/bionic/libc.so (syscall+40) (BuildId: aab52d69c156396e65a1ac65dcda56e6)
08-24 10:30:33.697  1510  1510 F DEBUG   :       #08 pc 00d3478d  /vendor/lib/dri/gallium_dri.so (os_same_file_description+61) (BuildId: 4bc7f62b8f60ee6bc4355246a3bd628a)
08-24 10:30:33.697  1510  1510 F DEBUG   :       #09 pc 005fad60  /vendor/lib/dri/gallium_dri.so (iris_bo_export_gem_handle_for_device+64) (BuildId: 4bc7f62b8f60ee6bc4355246a3bd628a)
08-24 10:30:33.697  1510  1510 F DEBUG   :       #10 pc 0060fa8f  /vendor/lib/dri/gallium_dri.so (iris_resource_get_param+751) (BuildId: 4bc7f62b8f60ee6bc4355246a3bd628a)
08-24 10:30:33.697  1510  1510 F DEBUG   :       #11 pc 007daaf7  /vendor/lib/dri/gallium_dri.so (dri2_query_image+295) (BuildId: 4bc7f62b8f60ee6bc4355246a3bd628a)
08-24 10:30:33.697  1510  1510 F DEBUG   :       #12 pc 00005284  /vendor/lib/libgbm_mesa.so (gbm_dri_bo_import+772) (BuildId: 3bad9f33d940d1bd9f85b08bfd1c92e9)
08-24 10:30:33.697  1510  1510 F DEBUG   :       #13 pc 00004698  /vendor/lib/libgbm_mesa.so (gbm_bo_import+40) (BuildId: 3bad9f33d940d1bd9f85b08bfd1c92e9)
08-24 10:30:33.697  1510  1510 F DEBUG   :       #14 pc 0000349f  /vendor/lib/hw/gralloc.gbm.so (gralloc_gbm_handle_register+511) (BuildId: 27117051ece250114e4dedcb5d96a7aa)
08-24 10:30:33.697  1510  1510 F DEBUG   :       #15 pc 0000496c  /vendor/lib/hw/gralloc.gbm.so (gbm_mod_register_buffer(gralloc_module_t const*, native_handle const*)+108) (BuildId: 27117051ece250114e4dedcb5d96a7aa)
08-24 10:30:33.697  1510  1510 F DEBUG   :       #16 pc 00004a5a  /vendor/lib/hw/[email protected] (android::hardware::graphics::mapper::V2_0::passthrough::detail::Gralloc0HalImpl<android::hardware::graphics::mapper::V2_1::hal::MapperHal>::importBuffer(native_handle const*, native_handle**)+58) (BuildId: 8db91975b9736f010c7459e1cc8b1c9b)
08-24 10:30:33.697  1510  1510 F DEBUG   :       #17 pc 000051d0  /vendor/lib/hw/[email protected] (android::hardware::graphics::mapper::V2_0::hal::detail::MapperImpl<android::hardware::graphics::mapper::V2_1::IMapper, android::hardware::graphics::mapper::V2_1::hal::MapperHal>::importBuffer(android::hardware::hidl_handle const&, std::__1::function<void (android::hardware::graphics::mapper::V2_0::Error, void*)>)+96) (BuildId: 8db91975b9736f010c7459e1cc8b1c9b)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #18 pc 00013198  /system/lib/[email protected] (android::hardware::graphics::mapper::V2_1::BsMapper::importBuffer(android::hardware::hidl_handle const&, std::__1::function<void (android::hardware::graphics::mapper::V2_0::Error, void*)>)+168) (BuildId: b7a1a2735e1b73a1b7e8c026655775c1)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #19 pc 0002df89  /system/lib/libui.so (android::Gralloc2Mapper::importBuffer(android::hardware::hidl_handle const&, native_handle const**) const+121) (BuildId: abe3cd5be57761402205b9a1f0e6aa17)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #20 pc 0002f7c0  /system/lib/libui.so (std::__1::__function::__func<android::Gralloc2Allocator::allocate(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, unsigned int, unsigned int, int, unsigned int, unsigned long long, unsigned int, unsigned int*, native_handle const**, bool) const::$_7, std::__1::allocator<android::Gralloc2Allocator::allocate(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, unsigned int, unsigned int, int, unsigned int, unsigned long long, unsigned int, unsigned int*, native_handle const**, bool) const::$_7>, void (android::hardware::graphics::mapper::V2_0::Error, unsigned int, android::hardware::hidl_vec<android::hardware::hidl_handle> const&)>::operator()(android::hardware::graphics::mapper::V2_0::Error&&, unsigned int&&, android::hardware::hidl_vec<android::hardware::hidl_handle> const&)+160) (BuildId: abe3cd5be57761402205b9a1f0e6aa17)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #21 pc 000122a0  /system/lib/[email protected] (std::__1::__function::__func<android::hardware::graphics::allocator::V2_0::BpHwAllocator::_hidl_allocate(android::hardware::IInterface*, android::hardware::details::HidlInstrumentor*, android::hardware::hidl_vec<unsigned int> const&, unsigned int, std::__1::function<void (android::hardware::graphics::mapper::V2_0::Error, unsigned int, android::hardware::hidl_vec<android::hardware::hidl_handle> const&)>)::$_5, std::__1::allocator<android::hardware::graphics::allocator::V2_0::BpHwAllocator::_hidl_allocate(android::hardware::IInterface*, android::hardware::details::HidlInstrumentor*, android::hardware::hidl_vec<unsigned int> const&, unsigned int, std::__1::function<void (android::hardware::graphics::mapper::V2_0::Error, unsigned int, android::hardware::hidl_vec<android::hardware::hidl_handle> const&)>)::$_5>, void (android::hardware::Parcel&)>::operator()(android::hardware::Parcel&)+416) (BuildId: 83338ce7b6454401c796c7f9c406f4be)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #22 pc 000b5122  /system/lib/libhidlbase.so (android::hardware::BpHwBinder::transact(unsigned int, android::hardware::Parcel const&, android::hardware::Parcel*, unsigned int, std::__1::function<void (android::hardware::Parcel&)>)+98) (BuildId: da8f39248a34e95d7517e50a6793333c)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #23 pc 0000be11  /system/lib/[email protected] (android::hardware::graphics::allocator::V2_0::BpHwAllocator::_hidl_allocate(android::hardware::IInterface*, android::hardware::details::HidlInstrumentor*, android::hardware::hidl_vec<unsigned int> const&, unsigned int, std::__1::function<void (android::hardware::graphics::mapper::V2_0::Error, unsigned int, android::hardware::hidl_vec<android::hardware::hidl_handle> const&)>)+497) (BuildId: 83338ce7b6454401c796c7f9c406f4be)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #24 pc 0000c1db  /system/lib/[email protected] (android::hardware::graphics::allocator::V2_0::BpHwAllocator::allocate(android::hardware::hidl_vec<unsigned int> const&, unsigned int, std::__1::function<void (android::hardware::graphics::mapper::V2_0::Error, unsigned int, android::hardware::hidl_vec<android::hardware::hidl_handle> const&)>)+155) (BuildId: 83338ce7b6454401c796c7f9c406f4be)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #25 pc 0002ea4f  /system/lib/libui.so (android::Gralloc2Allocator::allocate(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, unsigned int, unsigned int, int, unsigned int, unsigned long long, unsigned int, unsigned int*, native_handle const**, bool) const+287) (BuildId: abe3cd5be57761402205b9a1f0e6aa17)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #26 pc 0003ff36  /system/lib/libui.so (android::GraphicBufferAllocator::allocateHelper(unsigned int, unsigned int, int, unsigned int, unsigned long long, native_handle const**, unsigned int*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool)+278) (BuildId: abe3cd5be57761402205b9a1f0e6aa17)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #27 pc 000402ce  /system/lib/libui.so (android::GraphicBufferAllocator::allocate(unsigned int, unsigned int, int, unsigned int, unsigned long long, native_handle const**, unsigned int*, unsigned long long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >)+94) (BuildId: abe3cd5be57761402205b9a1f0e6aa17)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #28 pc 0003ddc4  /system/lib/libui.so (android::GraphicBuffer::initWithSize(unsigned int, unsigned int, int, unsigned int, unsigned long long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >)+228) (BuildId: abe3cd5be57761402205b9a1f0e6aa17)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #29 pc 0003dcab  /system/lib/libui.so (android::GraphicBuffer::GraphicBuffer(unsigned int, unsigned int, int, unsigned int, unsigned long long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >)+123) (BuildId: abe3cd5be57761402205b9a1f0e6aa17)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #30 pc 0006f029  /system/lib/libgui.so (android::BufferQueueProducer::dequeueBuffer(int*, android::sp<android::Fence>*, unsigned int, unsigned int, int, unsigned long long, unsigned long long*, android::FrameEventHistoryDelta*)+1673) (BuildId: b8f0508c261579bcdbc6f370f2d01ab4)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #31 pc 0000f7cc  /system/lib/libstagefright_bufferqueue_helper.so (android::TWGraphicBufferProducer<android::hardware::graphics::bufferqueue::V1_0::IGraphicBufferProducer, void>::dequeueBuffer(unsigned int, unsigned int, android::hardware::graphics::common::V1_0::PixelFormat, unsigned int, bool, std::__1::function<void (int, int, android::hardware::hidl_handle const&, android::hardware::graphics::bufferqueue::V1_0::IGraphicBufferProducer::FrameEventHistoryDelta const&)>)+188) (BuildId: e940516caca01f053439c1e35d3e0b41)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #32 pc 00022b74  /system/lib/[email protected] (android::hardware::graphics::bufferqueue::V1_0::BnHwGraphicBufferProducer::_hidl_dequeueBuffer(android::hidl::base::V1_0::BnHwBase*, android::hardware::Parcel const&, android::hardware::Parcel*, std::__1::function<void (android::hardware::Parcel&)>)+564) (BuildId: 8b75cea52118e530e9e3bd20023babdb)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #33 pc 000278d6  /system/lib/[email protected] (android::hardware::graphics::bufferqueue::V1_0::BnHwGraphicBufferProducer::onTransact(unsigned int, android::hardware::Parcel const&, android::hardware::Parcel*, unsigned int, std::__1::function<void (android::hardware::Parcel&)>)+2214) (BuildId: 8b75cea52118e530e9e3bd20023babdb)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #34 pc 000b4321  /system/lib/libhidlbase.so (android::hardware::BHwBinder::transact(unsigned int, android::hardware::Parcel const&, android::hardware::Parcel*, unsigned int, std::__1::function<void (android::hardware::Parcel&)>)+97) (BuildId: da8f39248a34e95d7517e50a6793333c)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #35 pc 000b9009  /system/lib/libhidlbase.so (android::hardware::IPCThreadState::getAndExecuteCommand()+1961) (BuildId: da8f39248a34e95d7517e50a6793333c)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #36 pc 000bab0c  /system/lib/libhidlbase.so (android::hardware::IPCThreadState::joinThreadPool(bool)+108) (BuildId: da8f39248a34e95d7517e50a6793333c)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #37 pc 0005ca9e  /system/lib/libhidlbase.so (android::hardware::joinBinderRpcThreadpool()+46) (BuildId: da8f39248a34e95d7517e50a6793333c)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #38 pc 0005f09a  /system/lib/libhidlbase.so (android::hardware::joinRpcThreadpool()+26) (BuildId: da8f39248a34e95d7517e50a6793333c)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #39 pc 0000265c  /vendor/bin/hw/[email protected] (main+1436) (BuildId: 5867b0adb43bdc55a974ef9768002d46)
08-24 10:30:33.698  1510  1510 F DEBUG   :       #40 pc 00052903  /apex/com.android.runtime/lib/bionic/libc.so (__libc_init+115) (BuildId: aab52d69c156396e65a1ac65dcda56e6)
08-24 10:30:33.713    70    70 E tombstoned: Tombstone written to: /data/tombstones/tombstone_05
08-24 10:30:33.713   209   247 I BootReceiver: Copying /data/tombstones/tombstone_05 to DropBox (SYSTEM_TOMBSTONE)
08-24 10:30:33.714   209   247 I DropBoxManagerService: add tag=SYSTEM_TOMBSTONE isTagEnabled=true flags=0x2
08-24 10:30:33.780    98    98 E CompositionEngine: ANativeWindow::dequeueBuffer failed for display [scrcpy] with error: -32
08-24 10:30:33.780  1529  1548 E ACodec  : OMX/mediaserver died, signalling error!
08-24 10:30:33.780    98    98 W CompositionEngine: Dequeuing buffer for display [scrcpy] failed, bailing out of client composition for this frame
08-24 10:30:33.780  1529  1548 E ACodec  : signalError(omxError 0x8000100d, internalError -32)
08-24 10:30:33.780  1529  1547 E MediaCodec: Codec reported err 0xffffffe0, actionCode 0, while in state 6
08-24 10:30:33.781  1529  1529 D AndroidRuntime: Shutting down VM
08-24 10:30:33.782  1529  1529 E AndroidRuntime: FATAL EXCEPTION: main
08-24 10:30:33.782  1529  1529 E AndroidRuntime: PID: 1529
08-24 10:30:33.782  1529  1529 E AndroidRuntime: java.lang.IllegalStateException
08-24 10:30:33.782  1529  1529 E AndroidRuntime: 	at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)
08-24 10:30:33.782  1529  1529 E AndroidRuntime: 	at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:3452)
08-24 10:30:33.782  1529  1529 E AndroidRuntime: 	at com.genymobile.scrcpy.ScreenEncoder.encode(ScreenEncoder.java:113)
08-24 10:30:33.782  1529  1529 E AndroidRuntime: 	at com.genymobile.scrcpy.ScreenEncoder.internalStreamScreen(ScreenEncoder.java:94)
08-24 10:30:33.782  1529  1529 E AndroidRuntime: 	at com.genymobile.scrcpy.ScreenEncoder.streamScreen(ScreenEncoder.java:60)
08-24 10:30:33.782  1529  1529 E AndroidRuntime: 	at com.genymobile.scrcpy.Server.scrcpy(Server.java:80)
08-24 10:30:33.782  1529  1529 E AndroidRuntime: 	at com.genymobile.scrcpy.Server.main(Server.java:252)
08-24 10:30:33.782  1529  1529 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
08-24 10:30:33.782  1529  1529 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:399)
08-24 10:30:33.782  1529  1529 E scrcpy  : Exception on thread Thread[main,5,main]
08-24 10:30:33.782  1529  1529 E scrcpy  : java.lang.IllegalStateException
08-24 10:30:33.782  1529  1529 E scrcpy  : 	at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)
08-24 10:30:33.782  1529  1529 E scrcpy  : 	at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:3452)
08-24 10:30:33.782  1529  1529 E scrcpy  : 	at com.genymobile.scrcpy.ScreenEncoder.encode(ScreenEncoder.java:113)
08-24 10:30:33.782  1529  1529 E scrcpy  : 	at com.genymobile.scrcpy.ScreenEncoder.internalStreamScreen(ScreenEncoder.java:94)
08-24 10:30:33.782  1529  1529 E scrcpy  : 	at com.genymobile.scrcpy.ScreenEncoder.streamScreen(ScreenEncoder.java:60)
08-24 10:30:33.782  1529  1529 E scrcpy  : 	at com.genymobile.scrcpy.Server.scrcpy(Server.java:80)
08-24 10:30:33.782  1529  1529 E scrcpy  : 	at com.genymobile.scrcpy.Server.main(Server.java:252)
08-24 10:30:33.782  1529  1529 E scrcpy  : 	at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
08-24 10:30:33.782  1529  1529 E scrcpy  : 	at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:399)
08-24 10:30:34.069  1579  1579 I [email protected]: mediacodecservice starting
08-24 10:30:34.069  1579  1579 W [email protected]: Could not read additional policy file '/vendor/etc/seccomp_policy/mediacodec.policy'
08-24 10:30:34.069  1579  1579 W [email protected]: libminijail[1579]: failed to get path of fd 4: No such file or directory
08-24 10:30:34.069  1579  1579 W [email protected]: libminijail[1579]: allowing syscall: socketcall
08-24 10:30:34.069  1579  1579 W [email protected]: libminijail[1579]: allowing syscall: writev
08-24 10:30:34.069  1579  1579 W [email protected]: libminijail[1579]: allowing syscall: fcntl64
08-24 10:30:34.069  1579  1579 W [email protected]: libminijail[1579]: allowing syscall: clock_gettime
08-24 10:30:34.069  1579  1579 W [email protected]: libminijail[1579]: compile_file: <fd>(34): nonexistent syscall 'newfstatat'
08-24 10:30:34.070  1579  1579 W [email protected]: libminijail[1579]: logging seccomp filter failures
08-24 10:30:34.071  1579  1579 E vndksupport: Could not load libstagefrighthw.so from default namespace: dlopen failed: library "libstagefrighthw.so" not found.
08-24 10:30:34.071  1579  1579 I SoftOMXPlugin: createOMXPlugin
08-24 10:30:34.071  1579  1579 D MediaCodecsXmlParser: parsing /vendor/etc/media_codecs.xml...
08-24 10:30:34.071  1579  1579 D MediaCodecsXmlParser: Ignoring unrecognized tag <MediaCodec> at line 85 of /vendor/etc/media_codecs.xml
08-24 10:30:34.071  1579  1579 D MediaCodecsXmlParser: Ignoring unrecognized tag <MediaCodec> at line 88 of /vendor/etc/media_codecs.xml
08-24 10:30:34.071  1579  1579 D MediaCodecsXmlParser: Ignoring unrecognized tag <MediaCodec> at line 91 of /vendor/etc/media_codecs.xml
08-24 10:30:34.072  1579  1579 D MediaCodecsXmlParser: parsing /vendor/etc/media_codecs_google_audio.xml...
08-24 10:30:34.072  1579  1579 D MediaCodecsXmlParser: parsing /vendor/etc/media_codecs_google_telephony.xml...
08-24 10:30:34.072  1579  1579 D MediaCodecsXmlParser: parsing /vendor/etc/media_codecs_google_video.xml...
08-24 10:30:34.072  1579  1579 D MediaCodecsXmlParser: Cannot find 
08-24 10:30:34.072  1579  1579 D MediaCodecsXmlParser: Cannot find /data/misc/media/media_codecs_profiling_results.xml
08-24 10:30:34.073  1579  1579 I HidlServiceManagement: Registered [email protected]::IOmx/default
08-24 10:30:34.073  1579  1579 I HidlServiceManagement: Removing namespace from process name [email protected] to [email protected].
08-24 10:30:34.073  1579  1579 I [email protected]: IOmx HAL service created.
08-24 10:30:34.073  1579  1579 D MediaCodecsXmlParser: parsing /vendor/etc/media_codecs.xml...
08-24 10:30:34.073  1579  1579 D MediaCodecsXmlParser: Ignoring unrecognized tag <MediaCodec> at line 85 of /vendor/etc/media_codecs.xml
08-24 10:30:34.073  1579  1579 D MediaCodecsXmlParser: Ignoring unrecognized tag <MediaCodec> at line 88 of /vendor/etc/media_codecs.xml
08-24 10:30:34.073  1579  1579 D MediaCodecsXmlParser: Ignoring unrecognized tag <MediaCodec> at line 91 of /vendor/etc/media_codecs.xml
08-24 10:30:34.073  1579  1579 D MediaCodecsXmlParser: parsing /vendor/etc/media_codecs_google_audio.xml...
08-24 10:30:34.074  1579  1579 D MediaCodecsXmlParser: parsing /vendor/etc/media_codecs_google_telephony.xml...
08-24 10:30:34.074  1579  1579 D MediaCodecsXmlParser: parsing /vendor/etc/media_codecs_google_video.xml...
08-24 10:30:34.074  1579  1579 D MediaCodecsXmlParser: Cannot find 
08-24 10:30:34.074  1579  1579 D MediaCodecsXmlParser: Cannot find /data/misc/media/media_codecs_profiling_results.xml
08-24 10:30:34.074  1579  1579 I HidlServiceManagement: Registered [email protected]::IOmxStore/default
08-24 10:30:34.074  1579  1579 I HidlServiceManagement: Removing namespace from process name [email protected] to [email protected].
08-24 10:30:34.204  1529  1529 I BpBinder: onLastStrongRef automatically unlinking death recipients: <uncached descriptor>
08-24 10:30:34.207  1529  1529 I BpBinder: onLastStrongRef automatically unlinking death recipients: <uncached descriptor>
08-24 10:30:34.212  1529  1529 I hw-BpHwBinder: onLastStrongRef automatically unlinking death recipients
08-24 10:30:34.218  1543  1543 I scrcpy  : Cleaning up
08-24 10:30:34.219  1543  1543 I scrcpy  : Restoring normal power mode
08-24 10:30:34.224    98    98 D SurfaceFlinger: Setting power mode 2 on display 0
08-24 10:30:34.225  1543  1543 D AndroidRuntime: Shutting down VM

redroid/redroid:8.1.0-amd64使用audioRecord录制声音时报错没有设备

我用的redroid/redroid:8.1.0-amd64运行在x86服务器上,有个系统app运行在AIC,想通过audioRecord录制系统内声音,将audioRecord的audiosource设置为remote_submix,但是创建audioRecord时,AudioPolicyManager报错没有这个设备:getInputForAttr() could not find device for source 8,但是将audiosource设置为MIC,就正常,但是这无法录制系统声音。
我查看/etc/audio_policy.conf,audio_hw_modules是有r_submix这个模块,并且也是声明AUDIO_DEVICE_IN_REOTE_SUBMIX这个device的。我又dumpsys media.audio_policy,部分结果如下:

  • Available input devices:
    Device 1:
    • id: 3
    • type: AUDIO_DEVICE_IN_BUILTIN_MIC
    • Profiles:
      Profile 0:
      - format: AUDIO_FORMAT_PCM_16_BIT
      - sampling rates:8000, 11025, 16000, 22050, 44100, 48000
      - channel masks:0x000c, 0x0010

Available input devices里只有MIC,没有REMOTE_SUBMIX,但HW Modules里有REMOTE_SUBMIX。
想问下这个原因是什么,怎么才能Available input devices里有REMOTE_SUBMIX。或者能有其他的方式来获取系统内声音吗?
谢谢!

重复出现错误 > libprocessgroup: Failed to add task into cgroup

adb logcat 里面一直重复出现这个错误


08-25 06:25:29.193 238 274 E libprocessgroup: Failed to add task into cgroup
08-25 06:25:29.193 238 274 W libprocessgroup: ExecuteForTask failed for aggregate profile: Permission denied
08-25 06:25:29.193 238 274 E libprocessgroup: AddTidToCgroup failed to write '11205'; fd=267: Permission denied
08-25 06:25:29.193 238 274 E libprocessgroup: Failed to add task into cgroup
08-25 06:25:29.193 238 274 W libprocessgroup: ExecuteForTask failed for aggregate profile: Permission denied
08-25 06:25:29.193 238 274 E libprocessgroup: AddTidToCgroup failed to write '11205'; fd=61: Permission denied
08-25 06:25:29.193 238 274 E libprocessgroup: Failed to add task into cgroup
08-25 06:25:29.193 238 274 W libprocessgroup: ExecuteForTask failed for aggregate profile: Permission denied
08-25 06:25:29.193 238 274 E libprocessgroup: AddTidToCgroup failed to write '11206'; fd=267: Permission denied
08-25 06:25:29.193 238 274 E libprocessgroup: Failed to add task into cgroup
08-25 06:25:29.193 238 274 W libprocessgroup: ExecuteForTask failed for aggregate profile: Permission denied
08-25 06:25:29.193 238 274 E libprocessgroup: AddTidToCgroup failed to write '11206'; fd=61: Permission denied
08-25 06:25:29.193 238 274 E libprocessgroup: Failed to add task into cgroup
08-25 06:25:29.193 238 274 W libprocessgroup: ExecuteForTask failed for aggregate profile: Permission denied
08-25 06:25:29.193 238 274 E libprocessgroup: AddTidToCgroup failed to write '11207'; fd=267: Permission denied
08-25 06:25:29.193 238 274 E libprocessgroup: Failed to add task into cgroup
08-25 06:25:29.193 238 274 W libprocessgroup: ExecuteForTask failed for aggregate profile: Permission denied
08-25 06:25:29.193 238 274 E libprocessgroup: AddTidToCgroup failed to write '11207'; fd=61: Permission denied
08-25 06:25:29.193 238 274 E libprocessgroup: Failed to add task into cgroup
08-25 06:25:29.193 238 274 W libprocessgroup: ExecuteForTask failed for aggregate profile: Permission denied
08-25 06:25:29.193 238 274 E libprocessgroup: AddTidToCgroup failed to write '11208'; fd=267: Permission denied
08-25 06:25:29.193 238 274 E libprocessgroup: Failed to add task into cgroup
08-25 06:25:29.193 238 274 W libprocessgroup: ExecuteForTask failed for aggregate profile: Permission denied
08-25 06:25:29.193 238 274 E libprocessgroup: AddTidToCgroup failed to write '11208'; fd=61: Permission denied
08-25 06:25:29.193 238 274 E libprocessgroup: Failed to add task into cgroup
08-25 06:25:29.193 238 274 W libprocessgroup: ExecuteForTask failed for aggregate profile: Permission denied
08-25 06:25:29.193 238 274 E libprocessgroup: AddTidToCgroup failed to write '11209'; fd=267: Permission denied
08-25 06:25:29.193 238 274 E libprocessgroup: Failed to add task into cgroup
08-25 06:25:29.193 238 274 W libprocessgroup: ExecuteForTask failed for aggregate profile: Permission denied
08-25 06:25:29.193 238 274 E libprocessgroup: AddTidToCgroup failed to write '11209'; fd=61: Permission denied
08-25 06:25:29.193 238 274 E libprocessgroup: Failed to add task into cgroup
08-25 06:25:29.193 238 274 W libprocessgroup: ExecuteForTask failed for aggregate profile: Permission denied
08-25 06:25:29.193 238 274 E libprocessgroup: AddTidToCgroup failed to write '11210'; fd=267: Permission denied


这个错误是什么原因造成的呢?

Virtual Wifi

Virtual WiFi [Experiment in ReDroid 10]

ro.kernel.qemu.wifi=1 Virtual WiFi is still under development, make sure mac80211_hwsim exist (modprobe mac80211_hwsim).
checkout redroid-10-wifi in vendor/redroid and redroid-10.0.0 in device/generic/goldfish to make your build.
run docker exec <container> ip r add default via 192.168.232.1 dev wlan0

Inside device/generic/goldfish I can only find official Android branches.

Do I need to git remote add redroid https://github.com/remote-android/device_redroid?

I cannot find this branch redroid-10.0.0

how to run docker on arm-64linux-host

i pull the docker imags (redroid/redroid:10.0.0-arm64),and run on arm64 ubuntu host.
inpust docker ps -a show :
a6627d864e8a redroid/redroid:10.0.0-arm64 "/init qemu=1 androi…" 6 seconds ago Exited (129) 5 seconds ago

but docker logs a6627d864e8a out put empty.

Unable to run Redroid on Arch Linux

Summary

Redroid crashes due to not able to find /dev/binder on Arch Linux with zen kernel, despite that zen kernel has binder builtin.

Context

I'm trying to run Redroid in Arch Linux with the zen kernel. It has binder and ashmem modules built into the kernel (not as loadable kernel modules). I confirmed that the output of the following commands are expected

$ grep binder /proc/filesystems 
nodev   binder
$ grep ashmem /proc/misc
124 ashmem

Binderfs is present in /dev

$ ls -l /dev/binderfs
total 0
crw------- 1 root root 238, 0 Oct  4 14:40 binder-control

However, redroid is crash-looping due to not able to open /dev/binder

...
10-04 21:47:11.646    35    35 E ProcessState: Binder driver /dev/binder is unavailable. Using /dev/binder instead.
10-04 21:47:11.646    35    35 W ProcessState: Opening '/dev/binder' failed: No such file or directory
10-04 21:47:11.646    35    35 F ProcessState: Binder driver '/dev/binder' could not be opened.  Terminating.
10-04 21:47:11.646    35    35 F libc    : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 35 (servicemanager), pid 35 (servicemanager)
...

Full Logcat output can be found here.
dmesg messages are similar so I omit the details here.

I manually built a kernel with the appropriate configs and it works. The only difference between zen-kernel and my custom built is that zen kernel is built with
zen kernel is built with

CONFIG_ANDROID_BINDER_DEVICES=""

while my build uses

CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"

Not sure if this is causing the problem. I posted a while back in the other repo. I'm posting here to have more visibility and potentially more help.

Any one has successfully run Redroid on Arch Linux (including Manjaro, etc.)? Please share your config/method. Thanks.

How to implement arm64 apk file run in redroid container

Dear sir, could you please offer me a more effective solution to make redroid support arm64 apk file? The document at https://github.com/remote-android/redroid-doc/tree/master/native_bridge is too simple that it's hard to understand and make steps by document.
2.native bridge libs
3.implement via QEMU user mode.
Could you give me an detailed blob rather than document at https://github.com/remote-android/redroid-doc/tree/master/native_bridge, please

redroid容器会同时被主机端的鼠标键盘控制?

根据Quick Start给出的命令用docker运行了redroid容器,然后在本机启动scrcpy,鼠标、键盘的操作会同时被主机系统和容器内系统响应,无法正常使用。
请问可否通过docker参数隔离主机的键盘鼠标等输入设备避免被容器内系统响应?

主机系统:ubuntu20.04 LTS
内核:5.8.0,已编译启用ashmem和binder模块

Some app crashed in libGLESv2_swiftshader.so

Hi, I open some app but it crashed after show it's main activity briefly.

my enviroment:
ubuntu18.04 + redroid/redroid:10.0.0-arm64

log:

pid: 15257, tid: 15554, name: RenderThread  >>> com.yibasan.lizhifm <<<
uid: 10091
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x4
Cause: null pointer dereference
    r0  00000004  r1  c127a404  r2  00000000  r3  00000008
    r4  00000000  r5  f5f8dd60  r6  c9500000  r7  00000000
    r8  c1277e64  r9  c1279b10  r10 c1279b1c  r11 b9553aa0
    ip  80000000  sp  b9553998  lr  dbe0449b  pc  dbddae6e

backtrace:
      #00 pc 00281e6e  /vendor/lib/egl/libGLESv2_swiftshader.so (rr::Routine::bind()+6) (BuildId: 5995cdc5eec4c0fe6a15ff7ead86e652)
      #01 pc 002ab497  /vendor/lib/egl/libGLESv2_swiftshader.so (sw::LRUCache<sw::VertexProcessor::State, rr::Routine>::add(sw::VertexProcessor::State const&, rr::Routine*)+46) (BuildId: 5995cdc5eec4c0fe6a15ff7ead86e652)
      #02 pc 002ab3d5  /vendor/lib/egl/libGLESv2_swiftshader.so (sw::VertexProcessor::routine(sw::VertexProcessor::State const&)+120) (BuildId: 5995cdc5eec4c0fe6a15ff7ead86e652)
      #03 pc 00288119  /vendor/lib/egl/libGLESv2_swiftshader.so (sw::Renderer::draw(sw::DrawType, unsigned int, unsigned int, bool)+600) (BuildId: 5995cdc5eec4c0fe6a15ff7ead86e652)
      #04 pc 002239df  /vendor/lib/egl/libGLESv2_swiftshader.so (es2::Device::drawIndexedPrimitive(sw::DrawType, unsigned int, unsigned int)+38) (BuildId: 5995cdc5eec4c0fe6a15ff7ead86e652)
      #05 pc 00220941  /vendor/lib/egl/libGLESv2_swiftshader.so (es2::Context::drawElements(unsigned int, unsigned int, unsigned int, int, unsigned int, void const*, int)+336) (BuildId: 5995cdc5eec4c0fe6a15ff7ead86e652)
      #06 pc 0022dd7f  /vendor/lib/egl/libGLESv2_swiftshader.so (gl::DrawRangeElements(unsigned int, unsigned int, unsigned int, int, unsigned int, void const*)+114) (BuildId: 5995cdc5eec4c0fe6a15ff7ead86e652)
      #07 pc 001188b9  /system/lib/libhwui.so (_ZZN12GrGLFunctionIFvjjjijPKvEEC1EPS2_ENUlS1_jjjijS1_E_8__invokeES1_jjjijS1_+26) (BuildId: f19dd92989e520d095a65634154a7af9)
      #08 pc 001c3eb7  /system/lib/libhwui.so (GrGLGpu::sendIndexedMeshToGpu(GrPrimitiveType, GrBuffer const*, int, int, unsigned short, unsigned short, GrBuffer const*, int, GrPrimitiveRestart)+102) (BuildId: f19dd92989e520d095a65634154a7af9)
      #09 pc 001c3d97  /system/lib/libhwui.so (non-virtual thunk to GrGLGpu::sendIndexedMeshToGpu(GrPrimitiveType, GrBuffer const*, int, int, unsigned short, unsigned short, GrBuffer const*, int, GrPrimitiveRestart)+30) (BuildId: f19dd92989e520d095a65634154a7af9)
      #10 pc 001c3cdb  /system/lib/libhwui.so (GrMesh::sendToGpu(GrMesh::SendToGpuImpl*) const+114) (BuildId: f19dd92989e520d095a65634154a7af9)
      #11 pc 001c3a83  /system/lib/libhwui.so (GrGLGpu::draw(GrRenderTarget*, GrSurfaceOrigin, GrPrimitiveProcessor const&, GrPipeline const&, GrPipeline::FixedDynamicState const*, GrPipeline::DynamicStateArrays const*, GrMesh const*, int)+190) (BuildId: f19dd92989e520d095a65634154a7af9)
      #12 pc 001c39bd  /system/lib/libhwui.so (GrGLGpuRTCommandBuffer::onDraw(GrPrimitiveProcessor const&, GrPipeline const&, GrPipeline::FixedDynamicState const*, GrPipeline::DynamicStateArrays const*, GrMesh const*, int, SkRect const&)+28) (BuildId: f19dd92989e520d095a65634154a7af9)
      #13 pc 0016b153  /system/lib/libhwui.so (GrGpuRTCommandBuffer::draw(GrPrimitiveProcessor const&, GrPipeline const&, GrPipeline::FixedDynamicState const*, GrPipeline::DynamicStateArrays const*, GrMesh const*, int, SkRect const&)+96) (BuildId: f19dd92989e520d095a65634154a7af9)
      #14 pc 0016adbd  /system/lib/libhwui.so (GrOpFlushState::executeDrawsAndUploadsForMeshDrawOp(GrOp const*, SkRect const&, GrProcessorSet&&, unsigned int, GrUserStencilSettings const*)+312) (BuildId: f19dd92989e520d095a65634154a7af9)
      #15 pc 001fd223  /system/lib/libhwui.so (GrSimpleMeshDrawOpHelper::executeDrawsAndUploads(GrOp const*, GrOpFlushState*, SkRect const&)+58) (BuildId: f19dd92989e520d095a65634154a7af9)
      #16 pc 00392b07  /system/lib/libhwui.so (GrOp::execute(GrOpFlushState*, SkRect const&)+38) (BuildId: f19dd92989e520d095a65634154a7af9)
      #17 pc 001151f3  /system/lib/libhwui.so (GrRenderTargetOpList::onExecute(GrOpFlushState*)+266) (BuildId: f19dd92989e520d095a65634154a7af9)
      #18 pc 001eb82f  /system/lib/libhwui.so (GrDrawingManager::executeOpLists(int, int, GrOpFlushState*, int*)+274) (BuildId: f19dd92989e520d095a65634154a7af9)
      #19 pc 001fcfb7  /system/lib/libhwui.so (GrDrawingManager::flush(GrSurfaceProxy*, SkSurface::BackendSurfaceAccess, GrFlushFlags, int, GrBackendSemaphore*, void (*)(void*), void*)+790) (BuildId: f19dd92989e520d095a65634154a7af9)
      #20 pc 001fcc0b  /system/lib/libhwui.so (GrDrawingManager::prepareSurfaceForExternalIO(GrSurfaceProxy*, SkSurface::BackendSurfaceAccess, GrFlushFlags, int, GrBackendSemaphore*, void (*)(void*), void*)+110) (BuildId: f19dd92989e520d095a65634154a7af9)
      #21 pc 001fcae1  /system/lib/libhwui.so (GrRenderTargetContext::prepareForExternalIO(SkSurface::BackendSurfaceAccess, GrFlushFlags, int, GrBackendSemaphore*, void (*)(void*), void*)+88) (BuildId: f19dd92989e520d095a65634154a7af9)
      #22 pc 001fca81  /system/lib/libhwui.so (SkGpuDevice::flush()+22) (BuildId: f19dd92989e520d095a65634154a7af9)
      #23 pc 001b942f  /system/lib/libhwui.so (android::uirenderer::skiapipeline::SkiaPipeline::renderFrame(android::uirenderer::LayerUpdateQueue const&, SkRect const&, std::__1::vector<android::sp<android::uirenderer::RenderNode>, std::__1::allocator<android::sp<android::uirenderer::RenderNode>>> const&, bool, android::uirenderer::Rect const&, sk_sp<SkSurface>, SkMatrix const&)+142) (BuildId: f19dd92989e520d095a65634154a7af9)
      #24 pc 001b9151  /system/lib/libhwui.so (android::uirenderer::skiapipeline::SkiaOpenGLPipeline::draw(android::uirenderer::renderthread::Frame const&, SkRect const&, SkRect const&, android::uirenderer::LightGeometry const&, android::uirenderer::LayerUpdateQueue*, android::uirenderer::Rect const&, bool, android::uirenderer::LightInfo const&, std::__1::vector<android::sp<android::uirenderer::RenderNode>, std::__1::allocator<android::sp<android::uirenderer::RenderNode>>> const&, android::uirenderer::FrameInfoVisualizer*)+272) (BuildId: f19dd92989e520d095a65634154a7af9)
      #25 pc 001f9653  /system/lib/libhwui.so (android::uirenderer::renderthread::CanvasContext::draw()+218) (BuildId: f19dd92989e520d095a65634154a7af9)
      #26 pc 001f8c2b  /system/lib/libhwui.so (_ZNSt3__110__function6__funcIZN7android10uirenderer12renderthread13DrawFrameTask11postAndWaitEvE3$_0NS_9allocatorIS6_EEFvvEEclEv$c303f2d2360db58ed70a2d0ac7ed911b+174) (BuildId: f19dd92989e520d095a65634154a7af9)
      #27 pc 00206b93  /system/lib/libhwui.so (android::uirenderer::WorkQueue::process()+158) (BuildId: f19dd92989e520d095a65634154a7af9)
      #28 pc 002069eb  /system/lib/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+54) (BuildId: f19dd92989e520d095a65634154a7af9)
      #29 pc 0000d88f  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+186) (BuildId: d3999cc9ed69f005b8c0b7c8b4079631)
      #30 pc 000a6bb7  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+20) (BuildId: 435c90de32a2025e44fd745e5a74a3fb)
      #31 pc 00060027  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+30) (BuildId: 435c90de32a2025e44fd745e5a74a3fb)

Appreciate some help.

Devices offline

Hi,

I am a newbie on this and linux, I have tried to follow the instruction and run the commands below. I see the device on the list but it stays offline. Could there be anything I have missed?

uname -a
Linux Ubuntu 20.04.2 LTS 64-bit 5.4.0-80-generic #90-Ubuntu SMP Fri Jul 9 22:49:44 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Docker command
sudo docker run -itd --rm --memory-swappiness=0 --privileged --pull always -v ~/data:/data -p 5555:5555 redroid/redroid:9.0.0-latest

adb connect 127.0.0.1:5555
failed to connect to 127.0.0.1:5555

adb devices

List of devices attached
4d00427a4c2f3101	device
127.0.0.1:5555	offline

can not start the image build by myself

i follow the following steps to build the images

mkdir aosp && cd aosp
repo init -u https://github.com/remote-android/platform_manifests.git -b redroid10-gsi --depth=1
repo sync -c --no-tags
. build/envsetup.sh
lunch redroid_x86_64-userdebug
m -j4

after compile successfully
cd out/target/product/redroid_x86_64/
sudo mount system.img system -o ro
sudo mount vendor.img vendor -o ro
sudo tar --xattrs -c vendor -C system --exclude="vendor" . | docker import -c 'ENTRYPOINT ["/init", "qemu=1", "androidboot.hardware=redroid"]' - redroid
docker run -itd --rm --memory-swappiness=0 --privileged -v /home/test/data:/data -p 5555:5555 redroid

but it report the error
docker: Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: exec: "/init": stat /init: no such file or directory: unknown.
the docker image is very small only 499MB

is there any error in my steps?

Container Exits with no error

First i wanted to install kernel modules with:
sudo bash -c "curl -s https://raw.githubusercontent.com/remote-android/redroid-modules/master/deploy/build.sh"
it shows already installed message.
then i wanted to run the container and nothing happens. docker ps list is empty.
I read the first issue and it doesn't helped me.
thanks.

64 bit only build support

Some chip not support 32 bit binary natively (KunPeng 920 / 鲲鹏920, FeiTeng / 飞腾 etc.). Either ask for native-bridge suite or build 64 bit only system to support these chips.

redroid x86?

Dear auther,
I want to ask whether is an x86 redroid not x86_64 which could run at amd64 platform

Issues while running on Oracle Cloud (x64 / arm64)

Hello,

I'm running on Oracle cloud, and have successfully connected to redroid via adb/scrcpy on Ubuntu 18.04 x86.

However, I cannot connect with any newer version of Ubuntu on either x86 or arm64 images.

I try the usual steps from instructions here on each variation, ie modprobe asmem & binder et al, lsmod | grep -e binder -e ashmem shows proper results.

The only time it works is on version 18.04 on x86 but I would like to run on arm.

Any assistance would be appreciated.

From Ubuntu 18.04 on arm:
dmesg -T: https://pastebin.com/y1CYJ1aw
logcat: https://textbin.net/x0gq6a6pxz

redroid:11.0.0-amd64 无法使用qemu.gles.vendor=mesa

使用qemu.gles.vendor=mesa后, scrcpy显示黑屏。

宿主机 :
glxinfo | grep 'OpenGL'

OpenGL vendor string: X.Org OpenGL renderer string: AMD CAICOS (DRM 2.50.0 / 5.4.0-73-generic, LLVM 10.0.0) OpenGL core profile version string: 3.3 (Core Profile) Mesa 20.0.8 OpenGL core profile shading language version string: 3.30 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 3.1 Mesa 20.0.8 OpenGL shading language version string: 1.40 OpenGL context flags: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.1 Mesa 20.0.8 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10

build image error

when i build my own Redroid-11 img,i got something wrong like this:

qiang@670a0bbebe78:/src$ m
05:47:00 Build sandboxing disabled due to nsjail error. This may become fatal in the future.
05:47:00 Please let us know why nsjail doesn't work in your environment at:
05:47:00   https://groups.google.com/forum/#!forum/android-building
05:47:00   https://issuetracker.google.com/issues/new?component=381517
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=10
TARGET_PRODUCT=redroid_x86_64
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_ARCH=x86_64
TARGET_ARCH_VARIANT=x86_64
TARGET_2ND_ARCH=x86
TARGET_2ND_ARCH_VARIANT=x86_64
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.4.0-80-generic-x86_64-Ubuntu-14.04.6-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=QP1A.190711.019
OUT_DIR=out
PRODUCT_SOONG_NAMESPACES=external/mesa3d
============================================
05:48:36 soong bootstrap failed with: exit status 1
[100% 136/136] out/soong/.bootstrap/bin/soong_build out/soong/build.ninja
FAILED: out/soong/build.ninja
out/soong/.bootstrap/bin/soong_build -t -l out/.module_paths/Android.bp.list -b out/soong -n out -d out/soong/build.ninja.d -globFile out/soong/.bootstrap/build-globs.ninja -o out/soong/build.ninja Android.bp
Killed
ninja: build stopped: subcommand failed.
#### failed to build some targets (01:37 (mm:ss)) ####

Arm64 docker images were built with for wrong host platform.

It seems like the *-arm64 images were built for amd64 hosts

ubuntu@focal:~$ docker run redroid/redroid:11.0.0-arm64
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

ubuntu@focal:~$ docker run --platform linux/arm64/v8 redroid/redroid:11.0.0-arm64
docker: Error response from daemon: image with reference redroid/redroid:11.0.0-arm64 was found but does not match the specified platform: wanted linux/arm64/v8, actual: linux/amd64.

ubuntu@focal:~$ docker run --platform linux/arm64 redroid/redroid:11.0.0-arm64
docker: Error response from daemon: image with reference redroid/redroid:11.0.0-arm64 was found but does not match the specified platform: wanted linux/arm64, actual: linux/amd64.

For reference I am running on the always-free arm based compute on oracle cloud

ubuntu@focal:~$ uname -a
Linux focal 5.4.0-74-generic #83-Ubuntu SMP Sat May 8 02:34:05 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux

I am newbie... Just installed Ubuntu.

Hi zhouziyang

How can I find out the IP Adresse to run the following commands ...

adb connect :5555
scrcpy --serial :5555\

I've tried with localhost:5555 but then I get the error "unable to connect to localhost:5555: Connection refused.

What am I doing wrong?

I would also be nice to know how I can start the Android Instance in Docker, so that I can interact with it on the desktop. I have no clue.

Thanks for your help.

T.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.