Android Cuttlefish fails to boot when I use the --gpu_mode=drm_virgl flag.

I try to refer to android-riscv64's README.md
The environment and build command of my host are as follows.
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.6 LTS
Release:        18.04
Codename:       bionic

$ qemu-system-riscv64 --version
QEMU emulator version 7.2.0 (v5.1.0-20988-gf1d00f35c2)
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers

# build command
mkdir aosp && cd aosp
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -f --force-sync -c --no-clone-bundle --no-tags -j16
source build/envsetup.sh
lunch aosp_cf_riscv64_phone-userdebug
make -j8

this command is workable
$ launch_cvd -cpus=4 --memory_mb=8192
But when I add "--gpu_mode=drm_virgl", the boot fails.
$ launch_cvd -cpus=8 --memory_mb=8192 --gpu_mode=drm_virgl
The error log
===================================================================
NOTICE:

By using this Android Virtual Device, you agree to
Google Terms of Service (https://policies.google.com/terms).
The Google Privacy Policy (https://policies.google.com/privacy)
describes how Google handles information generated as you use
Google Services. You can adjust the permission for sending
diagnostic information to Google, such as crash reports and usage
data from this Android Virtual Device, at any time by running
"launch_cvd -report_anonymous_usage_stats=n"
===================================================================

launch_cvd I 04-19 02:31:36  8491  8491 main.cc:325] Host changed from last run: 0
assemble_cvd D 04-19 02:31:36  8930  8930 fetcher_config.cpp:224] Could not find file ending in kernel
assemble_cvd D 04-19 02:31:36  8930  8930 fetcher_config.cpp:224] Could not find file ending in initramfs.img
assemble_cvd I 04-19 02:31:36  8930  8930 config_flag.cpp:153] Launching CVD using --config='phone'.
assemble_cvd D 04-19 02:31:36  8930  8930 subprocess.cpp:333] Started (pid: 8932): /scratch2/nylonc/aosp/out/host/linux-x86/bin/extract-ikconfig
assemble_cvd D 04-19 02:31:36  8930  8930 subprocess.cpp:335] /scratch2/nylonc/aosp/out/target/product/vsoc_riscv64/boot.img
assemble_cvd D 04-19 02:31:36  8930  8930 subprocess.cpp:333] Started (pid: 8940): /scratch2/nylonc/aosp/out/host/linux-x86/bin/unpack_bootimg
assemble_cvd D 04-19 02:31:36  8930  8930 subprocess.cpp:335] --boot_img
assemble_cvd D 04-19 02:31:36  8930  8930 subprocess.cpp:335] /scratch2/nylonc/aosp/out/target/product/vsoc_riscv64/boot.img
assemble_cvd D 04-19 02:31:36  8930  8930 subprocess.cpp:335] --out
assemble_cvd D 04-19 02:31:36  8930  8930 subprocess.cpp:335] /tmp/0kBYsv
Failed to initialize display.
--gpu_mode=drm_virgl was requested but the prerequisites for accelerated rendering were not detected so the device may not function correctly. Please consider switching to --gpu_mode=auto or --
gpu_mode=guest_swiftshader.
The following files contain useful debugging information:
  Logcat output: /home/nylonc/cuttlefish/instances/cvd-1/logs/logcat
  Kernel log: /home/nylonc/cuttlefish/instances/cvd-1/kernel.log
  Launcher log: /home/nylonc/cuttlefish/instances/cvd-1/logs/launcher.log
  Instance configuration: /home/nylonc/cuttlefish/instances/cvd-1/cuttlefish_config.json
QEMU_AUDIO_DRV=none
/scratch2/nylonc/aosp/out/host/linux-x86/bin/adb_connector
/scratch2/nylonc/aosp/out/host/linux-x86/bin/socket_vsock_proxy
/scratch2/nylonc/aosp/out/host/linux-x86/bin/socket_vsock_proxy
/scratch2/nylonc/aosp/out/host/linux-x86/bin/tcp_connector
/scratch2/nylonc/aosp/out/host/linux-x86/bin/config_server
/scratch2/nylonc/aosp/out/host/linux-x86/bin/echo_server
/scratch2/nylonc/aosp/out/host/linux-x86/bin/gnss_grpc_proxy
/scratch2/nylonc/aosp/out/host/linux-x86/bin/logcat_receiver
/scratch2/nylonc/aosp/out/host/linux-x86/bin/kernel_log_monitor
/scratch2/nylonc/aosp/out/host/linux-x86/bin/metrics
/scratch2/nylonc/aosp/out/host/linux-x86/bin/openwrt_control_server
/scratch2/nylonc/aosp/out/host/linux-x86/bin/log_tee
/scratch2/nylonc/aosp/out/host/linux-x86/bin/process_restarter
/scratch2/nylonc/aosp/out/host/linux-x86/bin/secure_env
/scratch2/nylonc/aosp/out/host/linux-x86/bin/tombstone_receiver
<EMAIL_ADDRESS>/scratch2/nylonc/aosp/out/host/linux-x86/bin/log_tee
failed to read from socket, retry.
/scratch2/nylonc/aosp/out/host/linux-x86/bin/wmediumd
/scratch2/nylonc/aosp/out/host/linux-x86/bin/modem_simulator
/scratch2/nylonc/qemu-private/inst/bin/qemu-system-riscv64
Server listening on unix:/home/nylonc/cuttlefish/instances/cvd-1/grpc_socket/EchoServer.sock
Server listening on <IP_ADDRESS>:7200
Server listening on unix:/home/nylonc/cuttlefish/instances/cvd-1/grpc_socket/OpenwrtControlServer.sock
Metrics started
Start modem simulator, server_fds: 66, Sim type: normal
Server listening on <IP_ADDRESS>:7200
Server listening on unix:/home/nylonc/cuttlefish/instances/cvd-1/grpc_socket/OpenwrtControlServer.sock
Metrics host received: VMStart
KeyMint TA running with fd_in=57, fd_out=56, security_level=TrustedEnvironment
Metrics posted to ClearCut
2023-04-19T04:40:22.858412Z qemu-system-riscv64: -device virtio-gpu-gl-pci,id=gpu0,xres=720,yres=1280: 'virtio-gpu-gl-pci' is not a valid device model name
Detected unexpected exit of monitored subprocess /scratch2/nylonc/qemu-private/inst/bin//qemu-system-riscv64
Subprocess /scratch2/nylonc/qemu-private/inst/bin//qemu-system-riscv64 (6877) has exited with exit code 1
Stopping all monitored processes due to unexpected exit of critical process
stop_cvd I 04-19 04:40:22  7075  7075 main.cc:120] Requesting stop
Exit request from parent process

Have anyone ever encountered a similar problem?

I noticed this warning message
--gpu_mode=drm_virgl was requested but the prerequisites for accelerated rendering were not detected so the device may not function correctly. Please consider switching to --gpu_mode=auto or --
gpu_mode=guest_swiftshader.

so I change the launch_cvd command
launch_cvd -cpus=8 --memory_mb=8192 --gpu_mode=guest_swiftshader
it's bootable, but the Surfaceflinger got a sigabrt(-6).
So when I open the emulator, it will get a black screen.

Have anyone ever encountered a similar problem?
I have  encountered a similar problem

I also saw the same warning message.
So I change the launch_cvd command
launch_cvd -cpus=8 --memory_mb=8192 --gpu_mode=guest_swiftshader  -qemu_binary_dir=<qemu>/build/riscv64-softmmu
and the log as following:
(stun_port.cc:632): UDP send of 20 bytes to host stun.l.google.com:19302 (2404:6800:4008:x:x:x:x:x:19302) failed with error 0 : [0x00000065] Network is unreachable
(stun_port.cc:632): UDP send of 20 bytes to host stun.l.google.com:19302 (74.125.204.x:19302) failed with error 0 : [0x00000016] Invalid argument
(stun_port.cc:632): UDP send of 20 bytes to host stun.l.google.com:19302 (74.125.204.x:19302) failed with error 0 : [0x00000016] Invalid argument
(stun_port.cc:632): UDP send of 20 bytes to host stun.l.google.com:19302 (2404:6800:4008:x:x:x:x:x:19302) failed with error 0 : [0x00000065] Network is unreachable
(stun_port.cc:632): UDP send of 20 bytes to host stun.l.google.com:19302 (2404:6800:4008:x:x:x:x:x:19302) failed with error 0 : [0x00000065] Network is unreachable
(stun_port.cc:632): UDP send of 20 bytes to host stun.l.google.com:19302 (74.125.204.x:19302) failed with error 0 : [0x00000016] Invalid argument
(stun_port.cc:632): UDP send of 20 bytes to host stun.l.google.com:19302 (74.125.204.x:19302) failed with error 0 : [0x00000016] Invalid argument
(stun_port.cc:632): UDP send of 20 bytes to host stun.l.google.com:19302 (2404:6800:4008:x:x:x:x:x:19302) failed with error 0 : [0x00000065] Network is unreachable
(stun_port.cc:632): UDP send of 20 bytes to host stun.l.google.com:19302 (2404:6800:4008:x:x:x:x:x:19302) failed with error 0 : [0x00000065] Network is unreachable
(stun_port.cc:632): UDP send of 20 bytes to host stun.l.google.com:19302 (74.125.204.x:19302) failed with error 0 : [0x00000016] Invalid argument
(stun_port.cc:632): UDP send of 20 bytes to host stun.l.google.com:19302 (2404:6800:4008:x:x:x:x:x:19302) failed with error 0 : [0x00000065] Network is unreachable
(stun_port.cc:632): UDP send of 20 bytes to host stun.l.google.com:19302 (74.125.204.x:19302) failed with error 0 : [0x00000016] Invalid argument
(stun_port.cc:632): UDP send of 20 bytes to host stun.l.google.com:19302 (2404:6800:4008:x:x:x:x:x:19302) failed with error 0 : [0x00000065] Network is unreachable
[2023/04/19 16:04:58:5439] N: __lws_lc_untag:  -- [wsisrv|0|adopted] (0) 5.146s
(stun_port.cc:632): UDP send of 20 bytes to host stun.l.google.com:19302 (74.125.204.x:19302) failed with error 0 : [0x00000016] Invalid argument
(stun_port.cc:632): UDP send of 20 bytes to host stun.l.google.com:19302 (2404:6800:4008:x:x:x:x:x:19302) failed with error 0 : [0x00000065] Network is unreachable
(stun_port.cc:632): UDP send of 20 bytes to host stun.l.google.com:19302 (74.125.204.x:19302) failed with error 0 : [0x00000016] Invalid argument
(stun_port.cc:632): UDP send of 20 bytes to host stun.l.google.com:19302 (2404:6800:4008:x:x:x:x:x:19302) failed with error 0 : [0x00000065] Network is unreachable
(stun_port.cc:632): UDP send of 20 bytes to host stun.l.google.com:19302 (74.125.204.x:19302) failed with error 0 : [0x00000016] Invalid argument
(stun_port.cc:632): UDP send of 20 bytes to host stun.l.google.com:19302 (2404:6800:4008:x:x:x:x:x:19302) failed with error 0 : [0x00000065] Network is unreachable
(stun_port.cc:632): UDP send of 20 bytes to host stun.l.google.com:19302 (74.125.204.x:19302) failed with error 0 : [0x00000016] Invalid argument
(stun_port.cc:632): UDP send of 20 bytes to host stun.l.google.com:19302 (2404:6800:4008:x:x:x:x:x:19302) failed with error 0 : [0x00000065] Network is unreachable
(stun_port.cc:119): Binding request timed out from 192.168.98.x:15550 (cvd-ebr)
(stun_port.cc:119): Binding request timed out from 127.0.0.x:15550 (lo)
(stun_port.cc:119): Binding request timed out from 192.168.97.x:15550 (cvd-mtap-01)
(stun_port.cc:119): Binding request timed out from [0:0:0:x:x:x:x:x]:15550 (lo)
(stun_port.cc:119): Binding request timed out from 10.0.13.x:15550 (enp5s0)
I didn't get a sigabrt(-6) message
but also get a black screen on emulator

yeah, sadly we're still working on swiftshader for riscv64. for now you'll need a real gpu that you can virtualize (https://source.android.com/docs/setup/create/cuttlefish-ref-gpu#requirements).

Hi @enh-google  , thanks for your reply
For this issue I made another try
apt install libvirglrenderer-dev
apt install libepoxy-dev

# rebuild QEMU
./configure --prefix=$PWD/../inst --enable-kvm --enable-system --enable-sdl --enable-opengl --target-list="riscv64-softmmu,riscv64-linux-user"
The Meson build system
Version: 0.61.5
Source dir: /scratch2/nylonc/qemu-private
Build dir: /scratch2/nylonc/qemu-private/build
Build type: native build
Project name: qemu
Project version: 7.2.0
C compiler for the host machine: cc -m64 -mcx16 (gcc 7.5.0 "cc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0")
C linker for the host machine: cc -m64 -mcx16 ld.bfd 2.30
Host machine cpu family: x86_64
Host machine cpu: x86_64
...
  Dependencies
    SDL support                  : YES
    SDL image support            : NO
    GTK support                  : YES
    pixman                       : YES 0.34.0
    VTE support                  : YES 0.52.2
    slirp support                : YES 4.1.0
    libtasn1                     : YES 4.13
    PAM                          : NO
    iconv support                : YES
    curses support               : NO
    virgl support                : YES 0.6.0
    blkio support                : NO
...

But I encountered another issue that is egl: no drm render node available and egl: render node init failed
launch_cvd -cpus=8 --memory_mb=8192 --gpu_mode=drm_virgl -qemu_binary_dir=/scratch2/nylonc/qemu-private/inst/bin
....
failed to read from socket, retry.
failed to read from socket, retry.
Metrics started
Metrics host received: VMStart
failed to read from socket, retry.
Start modem simulator, server_fds: 66, Sim type: normal
Server listening on unix:/home/nylonc/cuttlefish/instances/cvd-1/grpc_socket/EchoServer.sock
Server listening on unix:/home/nylonc/cuttlefish/instances/cvd-1/grpc_socket/OpenwrtControlServer.sock
Server listening on <IP_ADDRESS>:7200
2023-04-20T07:39:38.054936Z qemu-system-riscv64: egl: no drm render node available
2023-04-20T07:39:38.054950Z qemu-system-riscv64: egl: render node init failed
Detected unexpected exit of monitored subprocess /scratch2/nylonc/qemu-private/inst/bin/qemu-system-riscv64
Subprocess /scratch2/nylonc/qemu-private/inst/bin/qemu-system-riscv64 (28922) has exited with exit code 1
Stopping all monitored processes due to unexpected exit of critical process
failed to read from socket, retry.
<EMAIL_ADDRESS>E 04-20 07:39:38 28918 29361 GarageModeServerSideHandler.cpp:131] operator(): marker file /home/nylonc/cuttlefish/instances/cvd-1/power_state has not been created yet.
failed to read from socket, retry.
transport message failed, response body:
Metrics posted to ClearCut
stop_cvd I 04-20 07:39:39 29358 29358 main.cc:120] Requesting stop
Exit request from parent process.

do you have any idea?

I have a sneaking suspicion that this issue may be related https://gitlab.freedesktop.org/mesa/mesa/-/issues/8382#note_1876946

Hi @enh-google @archanox ,
Thanks for your sharing. I use this command to fix the error.
2023-04-20T07:39:38.054936Z qemu-system-riscv64: egl: no drm render node available
2023-04-20T07:39:38.054950Z qemu-system-riscv64: egl: render node init failed

sudo apt install qemu-kvm libvirt-daemon-system
sudo adduser $USER libvirt

And I try to run this command
 launch_cvd  -cpus=8 --memory_mb=8192 --start_webrtc=true --gpu_mode=drm_virgl

the GPU has been enabled: gl_version 33 - core profile enabled
launch_cvd I 04-21 08:39:34 20564 20564 main.cc:325] Host changed from last run: 1
assemble_cvd D 04-21 08:39:34 21003 21003 fetcher_config.cpp:224] Could not find file ending in kernel
assemble_cvd D 04-21 08:39:34 21003 21003 fetcher_config.cpp:224] Could not find file ending in initramfs.img
assemble_cvd I 04-21 08:39:34 21003 21003 config_flag.cpp:153] Launching CVD using --config='phone'.
assemble_cvd D 04-21 08:39:34 21003 21003 subprocess.cpp:333] Started (pid: 21005): /scratch2/nylonc/aosp/out/host/linux-x86/bin/extract-ikconfig
assemble_cvd D 04-21 08:39:34 21003 21003 subprocess.cpp:335] /scratch2/nylonc/aosp/out/target/product/vsoc_riscv64/boot.img
assemble_cvd D 04-21 08:39:34 21003 21003 subprocess.cpp:333] Started (pid: 21013): /scratch2/nylonc/aosp/out/host/linux-x86/bin/unpack_bootimg
assemble_cvd D 04-21 08:39:34 21003 21003 subprocess.cpp:335] --boot_img                                                                                assemble_cvd D 04-21 08:39:34 21003 21003 subprocess.cpp:335] /scratch2/nylonc/aosp/out/target/product/vsoc_riscv64/boot.img
assemble_cvd D 04-21 08:39:34 21003 21003 subprocess.cpp:335] --out
assemble_cvd D 04-21 08:39:34 21003 21003 subprocess.cpp:335] /tmp/KwxY8X
Failed to initialize display.
--gpu_mode=drm_virgl was requested but the prerequisites for accelerated rendering were not detected so the device may not function correctly. Please consider s$
itching to --gpu_mode=auto or --gpu_mode=guest_swiftshader.
Requested resuming a previous session (the default behavior) but the base images have changed under the overlay, making the overlay incompatible. Wiping the ove$lay files.                                                                                The following files contain useful debugging information:
  Logcat output: /home/nylonc/cuttlefish/instances/cvd-1/logs/logcat
  Kernel log: /home/nylonc/cuttlefish/instances/cvd-1/kernel.log
  Launcher log: /home/nylonc/cuttlefish/instances/cvd-1/logs/launcher.log
  Instance configuration: /home/nylonc/cuttlefish/instances/cvd-1/cuttlefish_config.json
QEMU_AUDIO_DRV=none
/scratch2/nylonc/aosp/out/host/linux-x86/bin/adb_connector
/scratch2/nylonc/aosp/out/host/linux-x86/bin/socket_vsock_proxy
/scratch2/nylonc/aosp/out/host/linux-x86/bin/socket_vsock_proxy
/scratch2/nylonc/aosp/out/host/linux-x86/bin/tcp_connector
/scratch2/nylonc/aosp/out/host/linux-x86/bin/config_server
/scratch2/nylonc/aosp/out/host/linux-x86/bin/echo_server
/scratch2/nylonc/aosp/out/host/linux-x86/bin/gnss_grpc_proxy
/scratch2/nylonc/aosp/out/host/linux-x86/bin/logcat_receiver
/scratch2/nylonc/aosp/out/host/linux-x86/bin/kernel_log_monitor
/scratch2/nylonc/aosp/out/host/linux-x86/bin/metrics
/scratch2/nylonc/aosp/out/host/linux-x86/bin/openwrt_control_server
/scratch2/nylonc/aosp/out/host/linux-x86/bin/log_tee
/scratch2/nylonc/aosp/out/host/linux-x86/bin/process_restarter
/scratch2/nylonc/aosp/out/host/linux-x86/bin/secure_env
/scratch2/nylonc/aosp/out/host/linux-x86/bin/tombstone_receiver
<EMAIL_ADDRESS>/scratch2/nylonc/aosp/out/host/linux-x86/bin/log_tee
/scratch2/nylonc/aosp/out/host/linux-x86/bin/wmediumd
/scratch2/nylonc/aosp/out/host/linux-x86/bin/modem_simulator
/usr/bin/qemu-system-riscv64
4/bootloader.qemu
failed to read from socket, retry.
Server listening on unix:/home/nylonc/cuttlefish/instances/cvd-1/grpc_socket/OpenwrtControlServer.sock
Server listening on unix:/home/nylonc/cuttlefish/instances/cvd-1/grpc_socket/EchoServer.sock
Start modem simulator, server_fds: 66, Sim type: normal
<EMAIL_ADDRESS>E 04-21 08:39:42 21513 21532 GarageModeServerSideHandler.cpp:131] operator(): marker file /hom
e/nylonc/cuttlefish/instances/cvd-1/power_state has not been created yet.
Server listening on <IP_ADDRESS>:7200
Metrics started
Metrics host received: VMStart
Size of OBJECT = 1204
Size of components in TPMT_SENSITIVE = 744
    TPMI_ALG_PUBLIC                 2
    TPM2B_AUTH                      50
    TPM2B_DIGEST                    50
    TPMU_SENSITIVE_COMPOSITE        642
MAX_CONTEXT_SIZE can be reduced to 1264 (1344)
KeyMint TA running with fd_in=57, fd_out=56, security_level=TrustedEnvironment
Metrics posted to ClearCut
GUEST_UBOOT_VERSION: 2023.01-maybe-dirty (Jan 01 1970 - 00:00:00 +0000)
U-Boot 20
KeyMint TA running with fd_in=57, fd_out=56, security_level=TrustedEnvironment
GUEST_KERNEL_VERSION: 6.2.0-mainline-03690-g71c54981e509-ab9783969 (build-user@build-host) (Android (9394278, based on r475365b) clang version 16.0.2 (https://an
droid.googlesource.com/toolchain/llvm-project e1a2893d16330144736de1f4f0d06a844a03b9b0), LLD 16.0.2) #1 SMP PREEMPT Tue Mar 21 04:06:04 UTC 2023
] Linux version
transport message failed, response body:
gl_version 33 - core profile enabled
transport message failed, response body:
transport message failed, response body:
Setting boot_info to BootInfo { verified_boot_key: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], device_boot_locked: false, verified_boot_state: Unverified, verified_boot_hash: [228, 115, 58, 151, 92, 168, 53, 199, 138, 141, 93, 253, 131, 143, 174, 148, 193, 109, 35, 29, 179, 4, 36, 62, 184, 215, 224, 193, 204, 208, 183, 148], boot_patchlevel: 20230405 }
Setting hal_info to HalInfo { os_version: 130000, os_patchlevel: 202304, vendor_patchlevel: 20230405 }
Setting attestation IDs directly
transport message failed, response body:
Setting HMAC key from 1 shared secret parameters
failing DeviceGenerateKey request with error Hal(RollbackResistanceUnavailable, "system/keymint/common/src/keyblob.rs:341: no secure secret storage available")
transport message failed, response body:
GUEST_BUILD_FINGERPRINT: generic/aosp_cf_riscv64_phone/vsoc_riscv64:UpsideDownCake/AOSP.MASTER.e4733a97/eng.nylonc.20230419.013933:userdebug/test-keys
failing DeviceGenerateKey request with error Hal(RollbackResistanceUnavailable, "system/keymint/common/src/keyblob.rs:341: no secure secret storage available")
add 64 bytes of entropy
early boot ended
transport message failed, response body:
transport message failed, response body:
transport message failed, response body:
transport message failed, response body:
failing DeviceGenerateKey request with error Hal(RollbackResistanceUnavailable, "system/keymint/common/src/keyblob.rs:341: no secure secret storage available")
failing DeviceGenerateKey request with error Hal(RollbackResistanceUnavailable, "system/keymint/common/src/keyblob.rs:341: no secure secret storage available")
transport message failed, response body:
transport message failed, response body:
transport message failed, response body:
transport message failed, response body:
init: starting service 'adbd'...
proxy_adb] Start event (5) received. Starting proxy
proxy_fastboot] Stop event (11) received. Stopping proxy
proxy_adb] From: fd: 35
proxy_adb] To: vsock: 3:5555
proxy_adb] Unable to connect to vsock server: Connection reset by peer
proxy_adb] Cannot connect to the target to setup proxying: Connection reset by peer
proxy_adb] Cannot connect to the target to setup proxying: Connection reset by peer
proxy_adb] Cannot connect to the target to setup proxying: Connection reset by peer
proxy_adb] Cannot connect to the target to setup proxying: Connection reset by peer
proxy_adb] Cannot connect to the target to setup proxying: Connection reset by peer
VIRTUAL_DEVICE_DISPLAY_POWER_MODE_CHANGED
VIRTUAL_DEVICE_DISPLAY_POWER_MODE_CHANGED

But the home screen is still black.

I use Dmesg to check it. The Surfaceflinge is ok.
    ...
[  112.905564] init: Command 'start zygote' action=ro.crypto.state=encrypted && ro.crypto.type=file && zygote-start (/system/etc/init/hw/init.rc:1071) took 137ms
 and succeeded
[  112.907549] init: Command 'start zygote_secondary' action=ro.crypto.state=encrypted && ro.crypto.type=file && zygote-start (/system/etc/init/hw/init.rc:1072)
took 0ms and failed: service zygote_secondary not found
[  112.909832] init: processing action (firmware_mounts_complete) from (/system/etc/init/hw/init.rc:508)
[  112.911922] init: processing action (early-boot) from (/system/etc/init/installd.rc:7)
[  113.150209] init: processing action (boot) from (/system/etc/init/hw/init.rc:1079)
[  113.265319] type=1400 audit(113.496:44): avc:  denied  { write } for  comm="init" name="discard_max_bytes" dev="sysfs" ino=16489 scontext=u:r:init:s0 tcontext
=u:object_r:sysfs:s0 tclass=file permissive=0
[  113.265372] init: Command 'write /dev/sys/block/by-name/rootdisk/queue/discard_max_bytes 134217728' action=boot (/system/etc/init/hw/init.rc:1126) took 6ms an
d failed: Unable to write to file '/dev/sys/block/by-name/rootdisk/queue/discard_max_bytes': open() failed: Permission denied
[  113.270044] type=1300 audit(113.496:44): arch=c00000f3 syscall=56 success=no exit=-13 a0=ffffffffffffff9c a1=fffffd91220960 a2=a0241 a3=180 items=0 ppid=0 aui
d=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="init" exe="/system/bin/init" subj=u:r:init:s0 key=(null)
[  113.273567] type=1327 audit(113.496:44): proctitle=2F73797374656D2F62696E2F696E69740073656C696E75785F7365747570
[  113.278389] type=1320 audit(113.496:44):
[  113.320330] init: starting service 'hidl_memory'...
[  113.444341] init: ... started service 'hidl_memory' has pid 381
[  113.452504] init: starting service 'vendor.graphics.allocator'...
[  113.596029] init: ... started service 'vendor.graphics.allocator' has pid 383
    ...
[  121.991965] init: starting service 'surfaceflinger'...
[  122.017838] init: Could not create socket 'pdx/system/vr/display/client': Failed to bind socket 'pdx/system/vr/display/client': No such file or directory
[  122.025803] init: Could not create socket 'pdx/system/vr/display/manager': Failed to bind socket 'pdx/system/vr/display/manager': No such file or directory
[  122.040360] init: Could not create socket 'pdx/system/vr/display/vsync': Failed to bind socket 'pdx/system/vr/display/vsync': No such file or directory
[  122.149555] servicemanager: Found android.hardware.bluetooth.IBluetoothHci/default in device VINTF manifest.
[  122.153645] init: ... started service 'surfaceflinger' has pid 465
[  122.156135] init: service 'vold' requested start, but it is already running (flags: 2052)
[  122.158252] init: Command 'class_start core' action=boot (/system/etc/init/hw/init.rc:1187) took 769ms and succeeded
[  122.160919] init: processing action (persist.sys.usb.config=* && boot) from (/system/etc/init/hw/init.usb.rc:108)
[  122.167878] init: processing action (boot) from (/system/etc/init/dumpstate.rc:1)
[  122.170802] init: processing action (boot) from (/system/etc/init/gsid.rc:25)
[  122.176999] init: starting service 'exec 14 (/system/bin/gsid run-startup-tasks)'...
[  122.272311] init: ... started service 'exec 14 (/system/bin/gsid run-startup-tasks)' has pid 466
     ...
[  125.140662] init: service 'vendor.audio-effect-hal-aidl' requested start, but it is already running (flags: 4)
[  125.144409] init: Command 'start vendor.audio-hal-4-0-msd' action=init.svc.audioserver=running (/system/etc/init/audioserver.rc:39) took 1ms and failed: servi
ce vendor.audio-hal-4-0-msd not found
[  125.146777] init: Command 'start audio_proxy_service' action=init.svc.audioserver=running (/system/etc/init/audioserver.rc:40) took 0ms and failed: service au
dio_proxy_service not found
[  125.147937] init: processing action (ro.persistent_properties.ready=true) from (/system/etc/init/bootstat.rc:57)
[  125.159271] init: processing action (ro.persistent_properties.ready=true) from (/system/etc/init/bootstat.rc:61)
[  125.192568] init: starting service 'exec 15 (/system/bin/bootstat --set_system_boot_reason)'...
[  125.434056] init: ... started service 'exec 15 (/system/bin/bootstat --set_system_boot_reason)' has pid 481
[  125.437496] init: Command 'exec_background - system log -- /system/bin/bootstat --set_system_boot_reason' action=ro.persistent_properties.ready=true (/system/
etc/init/bootstat.rc:64) took 276ms and succeeded
[  125.450971] init: processing action (bootreceiver.enable=1 && ro.product.cpu.abilist64=*) from (/system/etc/init/dmesgd.rc:7)
[  125.511360] servicemanager: Found android.hardware.camera.provider.ICameraProvider/internal/0 in device VINTF manifest.
[  125.545625] init: Command 'mkdir /data/misc/dmesgd 0700 dmesgd system' action=bootreceiver.enable=1 && ro.product.cpu.abilist64=* (/system/etc/init/dmesgd.rc:
8) took 93ms and succeeded
[  125.549572] init: Command 'rm /data/misc/dmesgd/sent_reports.txt' action=bootreceiver.enable=1 && ro.product.cpu.abilist64=* (/system/etc/init/dmesgd.rc:9) to
ok 2ms and failed: unlink() failed: No such file or directory
[  125.551006] init: processing action (drm.service.enabled=true) from (/system/etc/init/drmserver.rc:8)
[  125.556350] init: starting service 'drm'...
[  125.716146] init: ... started service 'drm' has pid 485
[  125.717712] init: Command 'start drm' action=drm.service.enabled=true (/system/etc/init/drmserver.rc:9) took 165ms and succeeded
   ...
[  140.138375] type=1400 audit(140.356:99): avc:  denied  { getattr } for  comm="BootAnimation" path="/dev/dri/card0" dev="tmpfs" ino=418 scontext=u:r:bootanim:s
0 tcontext=u:object_r:graphics_device:s0 tclass=chr_file permissive=0
[  140.144040] type=1300 audit(140.356:99): arch=c00000f3 syscall=79 success=no exit=-13 a0=ffffffffffffff9c a1=fffffb69c907df a2=fffffb69c906d8 a3=0 items=0 ppi
d=1 auid=4294967295 uid=1003 gid=1003 euid=1003 suid=1003 fsuid=1003 egid=1003 sgid=1003 fsgid=1003 tty=(none) ses=4294967295 comm="BootAnimation" exe="/system/b
in/bootanimation" subj=u:r:bootanim:s0 key=(null)
[  140.147668] type=1327 audit(140.356:99): proctitle="/system/bin/bootanimation"
[  140.153243] type=1320 audit(140.356:99):
[  140.160168] type=1400 audit(140.384:100): avc:  denied  { getattr } for  comm="BootAnimation" path="/dev/dri/card0" dev="tmpfs" ino=418 scontext=u:r:bootanim:
s0 tcontext=u:object_r:graphics_device:s0 tclass=chr_file permissive=0
[  140.162161] type=1300 audit(140.384:100): arch=c00000f3 syscall=79 success=no exit=-13 a0=ffffffffffffff9c a1=fffffb69c9067f a2=fffffb69c90578 a3=0 items=0 pp
id=1 auid=4294967295 uid=1003 gid=1003 euid=1003 suid=1003 fsuid=1003 egid=1003 sgid=1003 fsgid=1003 tty=(none) ses=4294967295 comm="BootAnimation" exe="/system/
bin/bootanimation" subj=u:r:bootanim:s0 key=(null)
[  140.501701] type=1400 audit(140.736:103): avc:  denied  { getattr } for  comm="BootAnimation" path="/dev/dri/card0" dev="tmpfs" ino=418 scontext=u:r:bootanim:s0 tcontext=u:object_r:graphics_device:s0 tclass=chr_file permissive=0
[  140.505491] type=1300 audit(140.736:103): arch=c00000f3 syscall=79 success=no exit=-13 a0=ffffffffffffff9c a1=fffffb69c906cf a2=fffffb69c905c8 a3=0 items=0 ppid=1 auid=4294967295 uid=1003 gid=1003 euid=1003 suid=1003 fsuid=1003 egid=1003 sgid=1003 fsgid=1003 tty=(none) ses=4294967295 comm="BootAnimation" exe="/system/bin/bootanimation" subj=u:r:bootanim:s0 key=(null)
[  140.508493] type=1327 audit(140.736:103): proctitle="/system/bin/bootanimation"
[  140.514061] type=1320 audit(140.736:103):
[  141.029337] servicemanager: Found android.hardware.graphics.allocator.IAllocator/default in device VINTF manifest.
[  152.839850] virtio-pci 0000:00:01.0: [drm] drm_plane_enable_fb_damage_clips() not called

did you wait long enough? like i said:

(Note that even on a fast Xeon workstation it takes several minutes to get to the boot animation and tens of minutes to get to the home screen!)

in logcat you should see it dex2oat'ing everything. (because we can't yet compile at build time, like on arm64/x86-64.)

Hi @enh-google , You are right, thanks for the tip.

Hi @steven10628 ,
I can successfully boot into the home screen now.
Can you try the following command and related steps and try again?
sudo apt install qemu-kvm libvirt-daemon-system
sudo adduser $USER libvirt
launch_cvd  -cpus=8 --memory_mb=8192 --start_webrtc=true --gpu_mode=drm_virgl -guest_enforce_security=false

Hi @nylon7
I tried using your steps above but still have some issues.
qemu config:
./configure  --enable-kvm --enable-system --enable-sdl --enable-opengl --target-list="riscv64-softmmu,riscv64-linux-user"
qemu version:
QEMU emulator version 7.2.0 (v7.2.0)
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers
command line:
launch_cvd -cpus=8 --memory_mb=8192 --gpu_mode=drm_virgl -qemu_binary_dir=/build/riscv64-softmmu
error log:
...
Server listening on <IP_ADDRESS>:7200
Metrics started
Metrics host received: VMStart
Start modem simulator, server_fds: 66, Sim type: normal
<EMAIL_ADDRESS>E 04-24 11:47:23<PHONE_NUMBER>09 GarageModeServerSideHandler.cpp:131] operator(): marker file /home/locus84/cuttlefish/instances/cvd-1/power_state has not been created yet.
qemu-system-riscv64: -display egl-headless: Parameter 'type' does not accept value 'egl-headless'
KeyMint TA running with fd_in=57, fd_out=56, security_level=TrustedEnvironment
Detected unexpected exit of monitored subprocess /home/locus84/upstream_qemu/qemu/build/riscv64-softmmu/qemu-system-riscv64
Subprocess /home/locus84/upstream_qemu/qemu/build/riscv64-softmmu/qemu-system-riscv64 (378582) has exited with exit code 1
Stopping all monitored processes due to unexpected exit of critical process
stop_cvd I 04-24 11:47:23<PHONE_NUMBER>23 main.cc:120] Requesting stop
Exit request from parent process
Have anyone ever encountered a similar problem?
qemu-system-riscv64: -display egl-headless: Parameter 'type' does not accept value 'egl-headless'

Hi @steven10628 ,
Sorry I missed some details
sudo apt-get install qemu-kvm libvirt-daemon-system
sudo adduser $USER libvirt

vim node.xml
    <graphics type='spice'>
      <listen type='none'/>
    </graphics>
    <graphics type='egl-headless'>
      <gl rendernode='/dev/dri/renderD128'/>
    </graphics>
    <video>
      <model type='virtio' heads='1' primary='yes'>
        <acceleration accel3d='yes'/>
      </model>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
sudo virsh create node.xml

launch_cvd  -cpus=8 --memory_mb=8192 --start_webrtc=true --gpu_mode=drm_virgl -guest_enforce_security=false

Hi @nylon7
Thank you for your response and assistance.
Sorry, I'm not very familiar with this part.
Regarding node.xml, should I create a new file for it or should I append it to an existing file.
I tried to create node.xml as instructed, but I received the following error message. It seems that the error is due to the lack of a root domain, so I added it separately. However, I encountered other error messages and I'm not sure if I need to provide more information in order to use it.
$ cat node.xml

command:
$  sudo virsh create node.xml
error log:
error: Failed to create domain from node.xml
error: XML error: an os  must be specified

Hi @steven10628 ,
I missed your log sorry
qemu-system-riscv64: -display egl-headless: Parameter 'type' does not accept value 'egl-headless'
You can upgrade the version of qemu to v7.2(git checkout v7.2.0), and do the following simple test
./qemu-system-riscv64 -display egl-headless
If you still get does not accept value message 'egl-headless', you must check your qemu config result.

I noticed this warning message
--gpu_mode=drm_virgl was requested but the prerequisites for accelerated rendering were not detected so the device may not function correctly. Please consider switching to --gpu_mode=auto or --
gpu_mode=guest_swiftshader.

so I change the launch_cvd command
launch_cvd -cpus=8 --memory_mb=8192 --gpu_mode=guest_swiftshader
it's bootable, but the Surfaceflinger got a sigabrt(-6).
So when I open the emulator, it will get a black screen.

how do you open your enulator, by web-browser(such as chrome) or vncviewer?

Hi @unicornx ,

how do you open your emulator, by web-browser(such as chrome) or vncviewer?

option --gpu_mode=guest_swiftshader use web-browser
--gpu_mode=drm_virgl use vncviewer

Hi @steven10628
you can use -display ? for check
./qemu-system-riscv64 -display ?
Available display backend types:
none
gtk
sdl
egl-headless

Hi @nylon7
After I installed the libgbme-dev and rebuilded qemu again.
I can find  egl-headless
command:
$  launch_cvd  -cpus=8 --memory_mb=8192 --start_webrtc=true --gpu_mode=drm_virgl -guest_enforce_security=false -qemu_binary_dir=<qemu_dir>/build/riscv64-softmmu
log:
...
proxy_adb] From: fd: 35
proxy_adb] To: vsock: 3:5555
proxy_adb] Unable to connect to vsock server: Connection reset by peer
proxy_adb] Cannot connect to the target to setup proxying: Connection reset by peer
proxy_adb] Cannot connect to the target to setup proxying: Connection reset by peer
proxy_adb] Cannot connect to the target to setup proxying: Connection reset by peer
proxy_adb] Cannot connect to the target to setup proxying: Connection reset by peer
proxy_adb] Cannot connect to the target to setup proxying: Connection reset by peer
VIRTUAL_DEVICE_DISPLAY_POWER_MODE_CHANGED
transport message failed, response body:
VIRTUAL_DEVICE_DISPLAY_POWER_MODE_CHANGED
virtio_input_hid_handle_status: unknown type 20
virtio_input_hid_handle_status: unknown type 20
virtio_input_hid_handle_status: unknown type 20
virtio_input_hid_handle_status: unknown type 20
^BwVIRTUAL_DEVICE_BOOT_STARTED
VIRTUAL_DEVICE_BOOT_COMPLETED
Virtual device booted successfully
VIRTUAL_DEVICE_NETWORK_MOBILE_CONNECTED
^C2023-04-25T02:41:32Z qemu-system-riscv64: terminating on signal 1 from pid 1844478 ()
Failed to read event buffer size: Success
Check failed: read_result.has_value() Success
It seems to look correct now
However when I using  VNC Viewer, it had some error

I'm not sure if it's an issue with my firewall or if there's something else I haven't done yet.
BTW:  Was this step necessary?
vim node.xml

sudo virsh create node.xml
So now I'm using the following command to try it out
command:
$  launch_cvd  -cpus=8 --memory_mb=8192 --start_webrtc=true --gpu_mode=guest_swiftshader  -guest_enforce_security=false -qemu_binary_dir=<qemu_dir>/build/riscv64-softmmu

Hi @steven10628 ,
You can forget virsh.
If your cuttlefish run on the server, you can try this.
vim device/google/cuttlefish/host/libs/vm_manager/qemu_manager.cpp
--- a/host/libs/vm_manager/qemu_manager.cpp
+++ b/host/libs/vm_manager/qemu_manager.cpp
@@ -413,11 +413,11 @@ Result<std::vector<MonitorCommand>> QemuManager::StartCommands(
     qemu_cmd.AddParameter("egl-headless");

     qemu_cmd.AddParameter("-vnc");
-    qemu_cmd.AddParameter("<IP_ADDRESS>:", instance.qemu_vnc_server_port());
+    qemu_cmd.AddParameter("<IP_ADDRESS>:", instance.qemu_vnc_server_port());
   } else if (instance.gpu_mode() == kGpuModeGfxstream ||
              instance.gpu_mode() == kGpuModeGfxstreamGuestAngle) {
     qemu_cmd.AddParameter("-vnc");
-    qemu_cmd.AddParameter("<IP_ADDRESS>:", instance.qemu_vnc_server_port());
+    qemu_cmd.AddParameter("<IP_ADDRESS>:", instance.qemu_vnc_server_port());
   } else {
     qemu_cmd.AddParameter("-display");

@enh-google hi, enh, do we have to follow the guides from nylon to make GUI work for cuttlefish? I'm not sure if you do the similar extra steps as nylon mentioned, at least I don't see this in the guide from README.

Hi @nylon7
Thanks for help
I use this command
$ sudo vncviewer   <IP_ADDRESS>:6444

@enh-google hi, enh, do we have to follow the guides from nylon to make GUI work for cuttlefish? I'm not sure if you do the similar extra steps as nylon mentioned, at least I don't see this in the guide from README.

no, it "just works" for me (apart from the bit where i need to restart vncviewer).
i'm assuming these problems are because they have a much older qemu? i think i'm using this:
~$ qemu-system-riscv64 --version
QEMU emulator version 7.2.0 (Debian 1:7.2+dfsg-1+build6)
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers
~$

Hi @enh-google , @unicornx ,
In my opinion, this part needs a troubleshooting section. for example...

QEMU support issue
-display egl-headless: Parameter 'type' does not accept value 'egl-headless'
sudo apt-get install  libgbm-dev

cuttlefish issue on your Ubuntu version(18.04/20.04)
qemu-system-riscv64: egl: no drm render node available
qemu-system-riscv64: egl: render node init failed

ubuntu 20.04:  sudo usermod -a -G render $USER
ubuntu 18.04:  sudo usermod -a -G video $USER

Hi @enh-google @nylon7 @unicornx ,
Perhaps we can create an article on a known issue to prevent others from encountering similar problems and to further improve AOSP

Hi @enh-google @nylon7 @unicornx ,
Perhaps we can create an article on a known issue to prevent others from encountering similar problems and to further improve AOSP

Actually, I doubt if this is an known issue for aosp because the behavior for cf_riscv64 is different from that for cf_x86_64. For cf_x86_64, following https://source.android.com/docs/setup/create/cuttlefish-use should work w/o extra steps.
I have not tried cf_aarch64, I understand when the host is x86_64, cf_x86_64 will use crosvm instead of qemu, so how about the operations for cf_aarch64? I don't see document about this and say any extra steps required for qemu. So I would think current status for cf_riscv64 is unexpected and maybe the development work on cuttlefish for riscv64 has not finished, so what we see is an issue?
Anyway, if that's really expected behaviour, I agree a document is definitely required and where should we post it to?

@enh-google hi, enh, do we have to follow the guides from nylon to make GUI work for cuttlefish? I'm not sure if you do the similar extra steps as nylon mentioned, at least I don't see this in the guide from README.

no, it "just works" for me (apart from the bit where i need to restart vncviewer).
i'm assuming these problems are because they have a much older qemu? i think i'm using this:
~$ qemu-system-riscv64 --version
QEMU emulator version 7.2.0 (Debian 1:7.2+dfsg-1+build6)
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers
~$

from the descriptions in  this thread, I think we are all using qemu 7.2.0, the difference is only on configurations when we build it by ourselves.

sounds like the easy option is for me to just say "please use a current Ubuntu/Debian, not one from 2018 (!)" :-)
has anyone had problems on 22.04 or later?

a better fix would be to have a new enough prebuilt qemu that it "just works" and isn't dependent on the user's system. we'll look into that...

Hi @enh-google
In my opinion, I think the problems encountered above seem to be caused by the lack of installation of some packages, so users can be reminded to install the relevant packages before installing AOSP.
BTW
The system I use is ubuntu20.04

In my opinion, I think the problems encountered above seem to be caused by the lack of installation of some packages, so users can be reminded to install the relevant packages before installing AOSP.

those were dependencies for building qemu, right?
if they're for running qemu, we should just fix the existing source.android.com setup docs that we already link to.
for building qemu, does anyone have actual copy & paste instructions that work, even on old versions of ubuntu? (like i said, i'm hoping we can just ship a modern qemu prebuilt soon, but, yeah, anyone whose employer won't let them use a current OS is going to have trouble until then...)

I  tried to boot aosp master in a docker image ubuntu 22.04, with cuttlefish installed.
But I faced issue below
root@941142fabfc5:/work# launch_cvd -cpus=8 --memory_mb=8192 --gpu_mode=drm_virgl --start_webrtc=true
===================================================================
NOTICE:

By using this Android Virtual Device, you agree to
Google Terms of Service (https://policies.google.com/terms).
The Google Privacy Policy (https://policies.google.com/privacy)
describes how Google handles information generated as you use
Google Services. You can adjust the permission for sending
diagnostic information to Google, such as crash reports and usage
data from this Android Virtual Device, at any time by running
"launch_cvd -report_anonymous_usage_stats=n"
===================================================================

07-06 06:50:59.160  3755  3755 I assemble_cvd: fetcher_config.cpp:142 Adjusting cvd_file paths to directory: /work/out/host/linux-x86
07-06 06:50:59.160  3755  3755 D assemble_cvd: fetcher_config.cpp:236 Could not find file ending in kernel
07-06 06:50:59.160  3755  3755 D assemble_cvd: fetcher_config.cpp:236 Could not find file ending in initramfs.img
07-06 06:50:59.160  3755  3755 I assemble_cvd: config_flag.cpp:143 Launching CVD using --config='phone'.
07-06 06:50:59.161  3755  3755 D assemble_cvd: subprocess.cpp:433 Started (pid: 3758): /work/out/host/linux-x86/bin/extract-ikconfig
07-06 06:50:59.161  3755  3755 D assemble_cvd: subprocess.cpp:435 /work/out/target/product/vsoc_riscv64/boot.img
07-06 06:50:59.292  3755  3755 D assemble_cvd: subprocess.cpp:433 Started (pid: 3766): /work/out/host/linux-x86/bin/unpack_bootimg
07-06 06:50:59.292  3755  3755 D assemble_cvd: subprocess.cpp:435 --boot_img
07-06 06:50:59.292  3755  3755 D assemble_cvd: subprocess.cpp:435 /work/out/target/product/vsoc_riscv64/boot.img
07-06 06:50:59.292  3755  3755 D assemble_cvd: subprocess.cpp:435 --out
07-06 06:50:59.292  3755  3755 D assemble_cvd: subprocess.cpp:435 /tmp/yvb7sP
07-06 06:50:59.379  3755  3755 E assemble_cvd: assemble_cvd.cc:180 Could not open O_TMPFILE precursor to assemble_cvd.log: Operation not supported
07-06 06:50:59.398  3755  3755 D assemble_cvd: flags.cc:1101 rootcanal_instance_num: 0
07-06 06:50:59.398  3755  3755 D assemble_cvd: flags.cc:1102 launch rootcanal: 1
07-06 06:50:59.398  3755  3755 D assemble_cvd: flags.cc:1112 pica_instance_num: 0
07-06 06:50:59.398  3755  3755 D assemble_cvd: flags.cc:1113 launch pica: 1
07-06 06:50:59.398  3755  3755 V assemble_cvd: subprocess.cpp:146 Running PopulateEglAndGlesAvailability in subprocess...
07-06 06:50:59.398  3755  3755 V assemble_cvd: subprocess.cpp:154 Waiting for subprocess 3769 running PopulateEglAndGlesAvailability...
07-06 06:50:59.401  3769  3769 V assemble_cvd: lib.cpp:39 Loaded library: libEGL.so
07-06 06:50:59.401  3769  3769 V assemble_cvd: egl.cpp:35 Loaded libEGL.so
07-06 06:50:59.401  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglGetProcAddress
07-06 06:50:59.401  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglQueryString
07-06 06:50:59.401  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglGetPlatformDisplay
07-06 06:50:59.404  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglGetPlatformDisplayEXT
07-06 06:50:59.404  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglBindAPI
07-06 06:50:59.404  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglChooseConfig
07-06 06:50:59.404  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglCreateContext
07-06 06:50:59.404  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglCreatePbufferSurface
07-06 06:50:59.404  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglDestroyContext
07-06 06:50:59.404  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglDestroySurface
07-06 06:50:59.404  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglGetConfigAttrib
07-06 06:50:59.404  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglGetDisplay
07-06 06:50:59.404  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglGetError
07-06 06:50:59.404  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglInitialize
07-06 06:50:59.404  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglTerminate
07-06 06:50:59.404  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglMakeCurrent
07-06 06:50:59.404  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglSwapBuffers
07-06 06:50:59.404  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglCreateWindowSurface
07-06 06:50:59.404  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglSwapInterval
07-06 06:50:59.404  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglSetBlobCacheFuncsANDROID
07-06 06:50:59.404  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglCreateImageKHR
07-06 06:50:59.404  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglDestroyImageKHR
07-06 06:50:59.404  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglCreateImage
07-06 06:50:59.404  3769  3769 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglDestroyImage
07-06 06:50:59.404  3769  3769 F assemble_cvd: egl.cpp:84 Failed to initialize display.
07-06 06:50:59.555  3755  3755 V assemble_cvd: subprocess.cpp:65 Failed to wait for subprocess 3769 running PopulateEglAndGlesAvailability: subprocess terminated by signal 6. Note: the Cuttlefish launcher runs some tests to check for the availability of various graphics libraries and features on your machine and failures during these tests can be expected.
07-06 06:50:59.555  3755  3755 V assemble_cvd: subprocess.cpp:172 Subprocess running PopulateEglAndGlesAvailability failed. Not running PopulateEglAndGlesAvailability in this process.
07-06 06:50:59.555  3755  3755 V assemble_cvd: subprocess.cpp:146 Running PopulateVulkanAvailability in subprocess...
07-06 06:50:59.555  3755  3755 V assemble_cvd: subprocess.cpp:154 Waiting for subprocess 3770 running PopulateVulkanAvailability...
07-06 06:50:59.698  3755  3755 V assemble_cvd: subprocess.cpp:65 Failed to wait for subprocess 3770 running PopulateVulkanAvailability: subprocess terminated by signal 11. Note: the Cuttlefish launcher runs some tests to check for the availability of various graphics libraries and features on your machine and failures during these tests can be expected.
07-06 06:50:59.698  3755  3755 V assemble_cvd: subprocess.cpp:172 Subprocess running PopulateVulkanAvailability failed. Not running PopulateVulkanAvailability in this process.
07-06 06:50:59.698  3755  3755 V assemble_cvd: subprocess.cpp:146 Running PopulateVulkanPrecisionQualifiersOnYuvSamplersQuirk in subprocess...
07-06 06:50:59.698  3755  3755 V assemble_cvd: subprocess.cpp:154 Waiting for subprocess 3771 running PopulateVulkanPrecisionQualifiersOnYuvSamplersQuirk...
07-06 06:50:59.822  3755  3755 V assemble_cvd: subprocess.cpp:65 Failed to wait for subprocess 3771 running PopulateVulkanPrecisionQualifiersOnYuvSamplersQuirk: subprocess terminated by signal 11. Note: the Cuttlefish launcher runs some tests to check for the availability of various graphics libraries and features on your machine and failures during these tests can be expected.
07-06 06:50:59.822  3755  3755 V assemble_cvd: subprocess.cpp:172 Subprocess running PopulateVulkanPrecisionQualifiersOnYuvSamplersQuirk failed. Not running PopulateVulkanPrecisionQualifiersOnYuvSamplersQuirk in this process.
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846 Graphics Availability:
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846 EGL available: false
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846 Vulkan lib available: false
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846 EGL client extensions:
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846 EGL display vendor:
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846 EGL display version:
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846 EGL display extensions:
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846 GLES2 can init on surfaceless display: false
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846 GLES2 vendor:
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846 GLES2 version:
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846 GLES2 renderer:
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846 GLES2 extensions:
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846 GLES3 can init on surfaceless display: false
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846 GLES3 vendor:
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846 GLES3 version:
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846 GLES3 renderer:
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846 GLES3 extensions:
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846 Vulkan discrete GPU detected: false
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846 Vulkan has quirk with precision qualifiers on YUV samplers: true
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846
07-06 06:50:59.822  3755  3755 D assemble_cvd: flags.cc:846 Accelerated rendering supported: false
07-06 06:50:59.822  3755  3755 E assemble_cvd: flags.cc:820 --gpu_mode=drm_virgl was requested but the prerequisites for accelerated rendering were not detected so the device may not function correctly.  Not creating it.
07-06 06:51:00.104  3755  3755 D assemble_cvd: feature.cpp:47 Running setup for InitializeFactoryResetProtected
07-06 06:51:00.104  3755  3755 D assemble_cvd: feature.cpp:47 Running setup for InitializeInstanceCompositeDisk
07-06 06:51:00.104  3755  3755 D assemble_cvd: disk_builder.cpp:164 Composite disk component file updated
07-06 06:51:00.104  3755  3755 D assemble_cvd: sparse_image_utils.cc:45 Skip non-sparse image /root/cuttlefish/instances/cvd-1/uboot_env.img
07-06 06:51:00.104  3755  3755 D assemble_cvd: image_aggregator.cc:457 Failed to desparse /root/cuttlefish/instances/cvd-1/uboot_env.img
07-06 06:51:00.104  3755  3755 D assemble_cvd: sparse_image_utils.cc:45 Skip non-sparse image /root/cuttlefish/instances/cvd-1/vbmeta.img
07-06 06:51:00.104  3755  3755 D assemble_cvd: image_aggregator.cc:457 Failed to desparse /root/cuttlefish/instances/cvd-1/vbmeta.img
07-06 06:51:00.104  3755  3755 D assemble_cvd: sparse_image_utils.cc:45 Skip non-sparse image /root/cuttlefish/instances/cvd-1/internal/factory_reset_protected.img
07-06 06:51:00.104  3755  3755 D assemble_cvd: image_aggregator.cc:457 Failed to desparse /root/cuttlefish/instances/cvd-1/internal/factory_reset_protected.img
07-06 06:51:00.104  3755  3755 D assemble_cvd: sparse_image_utils.cc:45 Skip non-sparse image /root/cuttlefish/instances/cvd-1/internal/bootconfig
07-06 06:51:00.104  3755  3755 D assemble_cvd: image_aggregator.cc:457 Failed to desparse /root/cuttlefish/instances/cvd-1/internal/bootconfig
07-06 06:51:00.107  3755  3755 D assemble_cvd: disk_builder.cpp:207 Overlay is out of date
07-06 06:51:00.107  3755  3755 D assemble_cvd: subprocess.cpp:433 Started (pid: 3788): /work/out/host/linux-x86/bin/crosvm
07-06 06:51:00.107  3755  3755 D assemble_cvd: subprocess.cpp:435 create_qcow2
07-06 06:51:00.107  3755  3755 D assemble_cvd: subprocess.cpp:435 --backing-file
07-06 06:51:00.107  3755  3755 D assemble_cvd: subprocess.cpp:435 /root/cuttlefish/instances/cvd-1/persistent_composite.img
07-06 06:51:00.107  3755  3755 D assemble_cvd: subprocess.cpp:435 /root/cuttlefish/instances/cvd-1/persistent_composite_overlay.img
07-06 06:51:00.157  3755  3755 D assemble_cvd: feature.cpp:47 Running setup for InitializeAccessKregistryImage
07-06 06:51:00.157  3755  3755 V assemble_cvd: files.cpp:389 Farthest seek:<PHONE_NUMBER>
07-06 06:51:00.157  3755  3755 D assemble_cvd: disk_flags.cc:1072 Available space:<PHONE_NUMBER>512
07-06 06:51:00.157  3755  3755 D assemble_cvd: disk_flags.cc:1073 Sparse size of "/work/out/target/product/vsoc_riscv64/userdata.img":<PHONE_NUMBER>
07-06 06:51:00.157  3755  3755 D assemble_cvd: disk_flags.cc:1075 Disk size of "/work/out/target/product/vsoc_riscv64/userdata.img": 127971328
The following files contain useful debugging information:
  Logcat output: /root/cuttlefish/instances/cvd-1/logs/logcat
  Kernel log: /root/cuttlefish/instances/cvd-1/kernel.log
  Launcher log: /root/cuttlefish/instances/cvd-1/logs/launcher.log
  Instance configuration: /root/cuttlefish/instances/cvd-1/cuttlefish_config.json
User must be a member of cvdnetwork
User must be a member of kvm
Validation of user configuration failed.
Execute the following to correctly configure:
[You may need to logout for the changes to take effect.
]
Setup failed for ValidateHostConfiguration
07-06 06:51:00.318  3734  3734 E launch_cvd: subprocess.cpp:196 Subprocess 3792 was interrupted by a signal: 6
07-06 06:51:00.318  3734  3734 E launch_cvd: main.cc:456 run_cvd returned -1
root@941142fabfc5:/work# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.2 LTS"

Any steps are missing, or I can only run it in a real machine or virtual machine, docker machine is not supported?
Thanks

did you try to fix the things it told you are wrong?
User must be a member of cvdnetwork
User must be a member of kvm

looks like you didn't actually follow the setup instructions we link to on the front page?

Hi @fanghuaqi , maybe you can try this
sudo usermod -aG kvm,cvdnetwork,render $USER

did you try to fix the things it told you are wrong?
User must be a member of cvdnetwork
User must be a member of kvm

looks like you didn't actually follow the setup instructions we link to on the front page?

Hi @enh-google , I am trying it in a docker image, it seems this is not working. So I am asking whether it can only work in a real machine or virtual machine, thanks.

did you try to fix the things it told you are wrong?
User must be a member of cvdnetwork
User must be a member of kvm

looks like you didn't actually follow the setup instructions we link to on the front page?

Hi @enh-google and @nylon7 , thanks a lot for your suggestions, I am trying it in a docker image, it seems this is not working. So I am asking whether it can only work in a real machine or virtual machine, thanks.

I would suggest you use a real linux machine when testing with cuttlefish, FYI: https://lists.riscv.org/g/sig-android/topic/95667663#147

Thanks @unicornx for your experiment experience, so virtual machine also not work, only real physic machine works.

Hello, I tried to build android using a real hardware machine, but still get error when bring up.
$ launch_cvd -cpus=4 --memory_mb=8192 --gpu_mode=drm_virgl
===================================================================
NOTICE:

By using this Android Virtual Device, you agree to
Google Terms of Service (https://policies.google.com/terms).
The Google Privacy Policy (https://policies.google.com/privacy)
describes how Google handles information generated as you use
Google Services.
===================================================================
Automatically send diagnostic information to Google, such as crash
reports and usage data from this Android Virtual Device. You can
adjust this permission at any time by running
"launch_cvd -report_anonymous_usage_stats=n". (Y/n)?:n
07-07 18:30:03.651 3655484 3655484 I assemble_cvd: fetcher_config.cpp:142 Adjusting cvd_file paths to directory: /Local/hqfang/workspace/software/android/aosp/out/host/linux-x86
07-07 18:30:03.651 3655484 3655484 D assemble_cvd: fetcher_config.cpp:236 Could not find file ending in kernel
07-07 18:30:03.651 3655484 3655484 D assemble_cvd: fetcher_config.cpp:236 Could not find file ending in initramfs.img
07-07 18:30:03.651 3655484 3655484 I assemble_cvd: config_flag.cpp:143 Launching CVD using --config='phone'.
07-07 18:30:03.651 3655484 3655484 D assemble_cvd: subprocess.cpp:433 Started (pid: 3655487): /Local/hqfang/workspace/software/android/aosp/out/host/linux-x86/bin/extract-ikconfig
07-07 18:30:03.651 3655484 3655484 D assemble_cvd: subprocess.cpp:435 /Local/hqfang/workspace/software/android/aosp/out/target/product/vsoc_riscv64/boot.img
07-07 18:30:03.786 3655484 3655484 D assemble_cvd: subprocess.cpp:433 Started (pid: 3655495): /Local/hqfang/workspace/software/android/aosp/out/host/linux-x86/bin/unpack_bootimg
07-07 18:30:03.786 3655484 3655484 D assemble_cvd: subprocess.cpp:435 --boot_img
07-07 18:30:03.786 3655484 3655484 D assemble_cvd: subprocess.cpp:435 /Local/hqfang/workspace/software/android/aosp/out/target/product/vsoc_riscv64/boot.img
07-07 18:30:03.786 3655484 3655484 D assemble_cvd: subprocess.cpp:435 --out
07-07 18:30:03.786 3655484 3655484 D assemble_cvd: subprocess.cpp:435 /tmp/qSDBpK
07-07 18:30:03.872 3655484 3655484 E assemble_cvd: assemble_cvd.cc:180 Could not open O_TMPFILE precursor to assemble_cvd.log: Operation not supported
07-07 18:30:03.934 3655484 3655484 D assemble_cvd: flags.cc:1101 rootcanal_instance_num: 0
07-07 18:30:03.934 3655484 3655484 D assemble_cvd: flags.cc:1102 launch rootcanal: 1
07-07 18:30:03.934 3655484 3655484 D assemble_cvd: flags.cc:1112 pica_instance_num: 0
07-07 18:30:03.934 3655484 3655484 D assemble_cvd: flags.cc:1113 launch pica: 1
07-07 18:30:03.936 3655484 3655484 V assemble_cvd: subprocess.cpp:146 Running PopulateEglAndGlesAvailability in subprocess...
07-07 18:30:03.936 3655484 3655484 V assemble_cvd: subprocess.cpp:154 Waiting for subprocess 3655498 running PopulateEglAndGlesAvailability...
07-07 18:30:03.938 3655498 3655498 V assemble_cvd: lib.cpp:39 Loaded library: libEGL.so
07-07 18:30:03.938 3655498 3655498 V assemble_cvd: egl.cpp:35 Loaded libEGL.so
07-07 18:30:03.938 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglGetProcAddress
07-07 18:30:03.938 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglQueryString
07-07 18:30:03.938 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglGetPlatformDisplay
07-07 18:30:03.940 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglGetPlatformDisplayEXT
07-07 18:30:03.940 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglBindAPI
07-07 18:30:03.940 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglChooseConfig
07-07 18:30:03.940 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglCreateContext
07-07 18:30:03.940 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglCreatePbufferSurface
07-07 18:30:03.940 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglDestroyContext
07-07 18:30:03.940 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglDestroySurface
07-07 18:30:03.940 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglGetConfigAttrib
07-07 18:30:03.940 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglGetDisplay
07-07 18:30:03.940 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglGetError
07-07 18:30:03.940 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglInitialize
07-07 18:30:03.940 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglTerminate
07-07 18:30:03.940 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglMakeCurrent
07-07 18:30:03.940 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglSwapBuffers
07-07 18:30:03.940 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglCreateWindowSurface
07-07 18:30:03.940 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglSwapInterval
07-07 18:30:03.940 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglSetBlobCacheFuncsANDROID
07-07 18:30:03.940 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglCreateImageKHR
07-07 18:30:03.940 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglDestroyImageKHR
07-07 18:30:03.940 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglCreateImage
07-07 18:30:03.940 3655498 3655498 V assemble_cvd: egl.cpp:67 Loaded EGL function: eglDestroyImage
07-07 18:30:03.940 3655498 3655498 F assemble_cvd: egl.cpp:84 Failed to initialize display.
07-07 18:30:04.077 3655484 3655484 V assemble_cvd: subprocess.cpp:65 Failed to wait for subprocess 3655498 running PopulateEglAndGlesAvailability: subprocess terminated by signal 6. Note: the Cuttlefish launcher runs some tests to check for the availability of various graphics libraries and features on your machine and failures during these tests can be expected.
07-07 18:30:04.077 3655484 3655484 V assemble_cvd: subprocess.cpp:172 Subprocess running PopulateEglAndGlesAvailability failed. Not running PopulateEglAndGlesAvailability in this process.
07-07 18:30:04.077 3655484 3655484 V assemble_cvd: subprocess.cpp:146 Running PopulateVulkanAvailability in subprocess...
07-07 18:30:04.078 3655484 3655484 V assemble_cvd: subprocess.cpp:154 Waiting for subprocess 3655506 running PopulateVulkanAvailability...
07-07 18:30:04.082 3655506 3655506 V assemble_cvd: vk.cpp:128 Available instance layers:
07-07 18:30:04.082 3655506 3655506 V assemble_cvd: vk.cpp:130 VK_LAYER_MESA_device_select
07-07 18:30:04.082 3655506 3655506 V assemble_cvd: vk.cpp:130 VK_LAYER_MESA_overlay
07-07 18:30:04.082 3655506 3655506 V assemble_cvd: vk.cpp:130 VK_LAYER_LUNARG_standard_validation
07-07 18:30:04.082 3655506 3655506 V assemble_cvd: vk.cpp:132
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:190 Available physical devices:
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:193 llvmpipe (LLVM 12.0.0, 256 bits)
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:195
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:200 Selected physical device: llvmpipe (LLVM 12.0.0, 256 bits)
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:201
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:207 Available physical device extensions:
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_8bit_storage
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_16bit_storage
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_bind_memory2
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_buffer_device_address
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_copy_commands2
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_create_renderpass2
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_dedicated_allocation
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_descriptor_update_template
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_device_group
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_draw_indirect_count
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_driver_properties
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_external_fence
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_external_memory
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_external_semaphore
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_get_memory_requirements2
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_image_format_list
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_imageless_framebuffer
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_incremental_present
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_maintenance1
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_maintenance2
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_maintenance3
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_multiview
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_push_descriptor
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_relaxed_block_layout
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_sampler_mirror_clamp_to_edge
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_separate_depth_stencil_layouts
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_shader_atomic_int64
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_shader_draw_parameters
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_storage_buffer_storage_class
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_swapchain
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_uniform_buffer_standard_layout
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_KHR_variable_pointers
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_EXT_calibrated_timestamps
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_EXT_conditional_rendering
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_EXT_custom_border_color
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_EXT_extended_dynamic_state
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_EXT_extended_dynamic_state2
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_EXT_host_query_reset
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_EXT_index_type_uint8
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_EXT_line_rasterization
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_EXT_multi_draw
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_EXT_post_depth_coverage
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_EXT_private_data
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_EXT_provoking_vertex
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_EXT_sampler_filter_minmax
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_EXT_scalar_block_layout
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_EXT_separate_stencil_usage
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_EXT_shader_stencil_export
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_EXT_shader_viewport_index_layer
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_EXT_transform_feedback
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_EXT_vertex_attribute_divisor
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_EXT_vertex_input_dynamic_state
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_GOOGLE_decorate_string
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:209 VK_GOOGLE_hlsl_functionality1
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:212
07-07 18:30:04.108 3655506 3655506 V assemble_cvd: vk.cpp:260 Graphics queue family index: 0
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
07-07 18:30:04.115 3655506 3655506 V assemble_cvd: graphics_detector_vk.cpp:34 Loaded Vulkan library.
07-07 18:30:04.124 3655484 3655484 V assemble_cvd: subprocess.cpp:167 Subprocess running PopulateVulkanAvailability succeeded. Running PopulateVulkanAvailability in this process...
07-07 18:30:04.130 3655484 3655484 V assemble_cvd: vk.cpp:128 Available instance layers:
07-07 18:30:04.130 3655484 3655484 V assemble_cvd: vk.cpp:130 VK_LAYER_MESA_device_select
07-07 18:30:04.130 3655484 3655484 V assemble_cvd: vk.cpp:130 VK_LAYER_MESA_overlay
07-07 18:30:04.130 3655484 3655484 V assemble_cvd: vk.cpp:130 VK_LAYER_LUNARG_standard_validation
07-07 18:30:04.130 3655484 3655484 V assemble_cvd: vk.cpp:132
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:190 Available physical devices:
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:193 llvmpipe (LLVM 12.0.0, 256 bits)
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:195
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:200 Selected physical device: llvmpipe (LLVM 12.0.0, 256 bits)
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:201
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:207 Available physical device extensions:
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_8bit_storage
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_16bit_storage
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_bind_memory2
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_buffer_device_address
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_copy_commands2
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_create_renderpass2
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_dedicated_allocation
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_descriptor_update_template
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_device_group
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_draw_indirect_count
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_driver_properties
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_external_fence
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_external_memory
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_external_semaphore
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_get_memory_requirements2
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_image_format_list
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_imageless_framebuffer
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_incremental_present
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_maintenance1
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_maintenance2
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_maintenance3
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_multiview
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_push_descriptor
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_relaxed_block_layout
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_sampler_mirror_clamp_to_edge
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_separate_depth_stencil_layouts
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_shader_atomic_int64
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_shader_draw_parameters
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_storage_buffer_storage_class
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_swapchain
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_uniform_buffer_standard_layout
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_KHR_variable_pointers
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_EXT_calibrated_timestamps
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_EXT_conditional_rendering
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_EXT_custom_border_color
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_EXT_extended_dynamic_state
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_EXT_extended_dynamic_state2
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_EXT_host_query_reset
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_EXT_index_type_uint8
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_EXT_line_rasterization
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_EXT_multi_draw
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_EXT_post_depth_coverage
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_EXT_private_data
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_EXT_provoking_vertex
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_EXT_sampler_filter_minmax
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_EXT_scalar_block_layout
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_EXT_separate_stencil_usage
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_EXT_shader_stencil_export
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_EXT_shader_viewport_index_layer
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_EXT_transform_feedback
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_EXT_vertex_attribute_divisor
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_EXT_vertex_input_dynamic_state
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_GOOGLE_decorate_string
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:209 VK_GOOGLE_hlsl_functionality1
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:212
07-07 18:30:04.153 3655484 3655484 V assemble_cvd: vk.cpp:260 Graphics queue family index: 0
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
07-07 18:30:04.159 3655484 3655484 V assemble_cvd: graphics_detector_vk.cpp:34 Loaded Vulkan library.
07-07 18:30:04.161 3655484 3655484 V assemble_cvd: subprocess.cpp:146 Running PopulateVulkanPrecisionQualifiersOnYuvSamplersQuirk in subprocess...
07-07 18:30:04.162 3655484 3655484 V assemble_cvd: subprocess.cpp:154 Waiting for subprocess 3655575 running PopulateVulkanPrecisionQualifiersOnYuvSamplersQuirk...
07-07 18:30:04.165 3655575 3655575 V assemble_cvd: vk.cpp:128 Available instance layers:
07-07 18:30:04.165 3655575 3655575 V assemble_cvd: vk.cpp:130 VK_LAYER_MESA_device_select
07-07 18:30:04.165 3655575 3655575 V assemble_cvd: vk.cpp:130 VK_LAYER_MESA_overlay
07-07 18:30:04.166 3655575 3655575 V assemble_cvd: vk.cpp:130 VK_LAYER_LUNARG_standard_validation
07-07 18:30:04.166 3655575 3655575 V assemble_cvd: vk.cpp:132
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:190 Available physical devices:
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:193 llvmpipe (LLVM 12.0.0, 256 bits)
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:195
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:200 Selected physical device: llvmpipe (LLVM 12.0.0, 256 bits)
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:201
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:207 Available physical device extensions:
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_8bit_storage
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_16bit_storage
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_bind_memory2
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_buffer_device_address
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_copy_commands2
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_create_renderpass2
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_dedicated_allocation
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_descriptor_update_template
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_device_group
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_draw_indirect_count
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_driver_properties
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_external_fence
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_external_memory
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_external_semaphore
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_get_memory_requirements2
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_image_format_list
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_imageless_framebuffer
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_incremental_present
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_maintenance1
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_maintenance2
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_maintenance3
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_multiview
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_push_descriptor
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_relaxed_block_layout
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_sampler_mirror_clamp_to_edge
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_separate_depth_stencil_layouts
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_shader_atomic_int64
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_shader_draw_parameters
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_storage_buffer_storage_class
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_swapchain
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_uniform_buffer_standard_layout
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_KHR_variable_pointers
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_EXT_calibrated_timestamps
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_EXT_conditional_rendering
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_EXT_custom_border_color
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_EXT_extended_dynamic_state
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_EXT_extended_dynamic_state2
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_EXT_host_query_reset
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_EXT_index_type_uint8
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_EXT_line_rasterization
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_EXT_multi_draw
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_EXT_post_depth_coverage
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_EXT_private_data
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_EXT_provoking_vertex
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_EXT_sampler_filter_minmax
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_EXT_scalar_block_layout
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_EXT_separate_stencil_usage
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_EXT_shader_stencil_export
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_EXT_shader_viewport_index_layer
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_EXT_transform_feedback
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_EXT_vertex_attribute_divisor
07-07 18:30:04.175 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_EXT_vertex_input_dynamic_state
07-07 18:30:04.176 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_GOOGLE_decorate_string
07-07 18:30:04.176 3655575 3655575 V assemble_cvd: vk.cpp:209 VK_GOOGLE_hlsl_functionality1
07-07 18:30:04.176 3655575 3655575 V assemble_cvd: vk.cpp:212
07-07 18:30:04.176 3655575 3655575 V assemble_cvd: vk.cpp:233 Requested device extension VK_KHR_sampler_ycbcr_conversion feature not available.
07-07 18:30:04.176 3655575 3655575 F assemble_cvd: graphics_detector_vk_precision_qualifiers_on_yuv_samplers.cpp:52 Failed to load vk
07-07 18:30:04.307 3655484 3655484 V assemble_cvd: subprocess.cpp:65 Failed to wait for subprocess 3655575 running PopulateVulkanPrecisionQualifiersOnYuvSamplersQuirk: subprocess terminated by signal 6. Note: the Cuttlefish launcher runs some tests to check for the availability of various graphics libraries and features on your machine and failures during these tests can be expected.
07-07 18:30:04.307 3655484 3655484 V assemble_cvd: subprocess.cpp:172 Subprocess running PopulateVulkanPrecisionQualifiersOnYuvSamplersQuirk failed. Not running PopulateVulkanPrecisionQualifiersOnYuvSamplersQuirk in this process.
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846 Graphics Availability:
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846 EGL available: false
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846 Vulkan lib available: true
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846 EGL client extensions:
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846 EGL display vendor:
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846 EGL display version:
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846 EGL display extensions:
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846 GLES2 can init on surfaceless display: false
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846 GLES2 vendor:
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846 GLES2 version:
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846 GLES2 renderer:
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846 GLES2 extensions:
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846 GLES3 can init on surfaceless display: false
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846 GLES3 vendor:
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846 GLES3 version:
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846 GLES3 renderer:
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846 GLES3 extensions:
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846 Vulkan discrete GPU detected: false
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846 Vulkan has quirk with precision qualifiers on YUV samplers: true
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846
07-07 18:30:04.307 3655484 3655484 D assemble_cvd: flags.cc:846 Accelerated rendering supported: false
07-07 18:30:04.308 3655484 3655484 E assemble_cvd: flags.cc:820 --gpu_mode=drm_virgl was requested but the prerequisites for accelerated rendering were not detected so the device may not function correctly. Please consider switching to --gpu_mode=auto or --gpu_mode=guest_swiftshader.
07-07 18:30:04.308 3655484 3655484 D assemble_cvd: graphics_configuration.cpp:108 ANGLE features:
07-07 18:30:04.308 3655484 3655484 D assemble_cvd: graphics_configuration.cpp:108  - prefer_linear_filtering_for_yuv: true
07-07 18:30:04.308 3655484 3655484 D assemble_cvd: graphics_configuration.cpp:108  - map_unspecified_color_space_to_pass_through: true
07-07 18:30:04.308 3655484 3655484 D assemble_cvd: graphics_configuration.cpp:108  - ignore_precision_qualifiers: false
07-07 18:30:04.308 3655484 3655484 D assemble_cvd: graphics_configuration.cpp:108
07-07 18:30:04.309 3655484 3655484 D assemble_cvd: disk_builder.cpp:150 Composite disk text config mismatch
07-07 18:30:04.309 3655484 3655484 I assemble_cvd: assemble_cvd.cc:225 Requested resuming a previous session (the default behavior) but the base images have changed under the overlay, making the overlay incompatible. Wiping the overlay files.
07-07 18:30:04.309 3655484 3655484 D assemble_cvd: clean.cc:93 Assuming prior files of /home/hqfang/cuttlefish/assembly /home/hqfang/.cuttlefish.sh /home/hqfang/.cuttlefish_config.json /home/hqfang/cuttlefish/instances/cvd-1 /tmp/cf_avd_400000018/cvd-1

Thanks

I tried to reboot my real machine, I can see I am in the groups required, as below:

But I still can't boot android and get error message as below:
launch_cvd -cpus=4 --memory_mb=8192 --gpu_mode=auto -qemu_binary_dir=/Local/hqfang/workspace/software/android/aosp/rvprebuilt/qemu/bin
... ...

Start modem simulator, server_fds: 68, Sim type: normal
starting Rust KeyMint TA implementation in a thread
starting C++ KeyMint implementation in a thread with FDs in=55, out=54
KeyMint Rust TA running with fd_in=61, fd_out=60, security_level=TrustedEnvironment
Secure deletion data file found. Parsing.
2023-07-10T03:33:32Z qemu-system-riscv64: egl: no drm render node available
2023-07-10T03:33:32Z qemu-system-riscv64: egl: render node init failed
Detected unexpected exit of monitored subprocess /Local/hqfang/workspace/software/android/aosp/rvprebuilt/qemu/bin/qemu-system-riscv64
Subprocess /Local/hqfang/workspace/software/android/aosp/rvprebuilt/qemu/bin/qemu-system-riscv64 (112545) has exited with exit code 1
Stopping all monitored processes due to unexpected exit of critical process
07-10 11:33:32.153<PHONE_NUMBER>84 I stop_cvd: main.cc:123 Requesting stop
Exit request from parent process

Qemu is configured with  # Configured with: '../configure' '--prefix=/Local/hqfang/workspace/software/android/aosp/rvprebuilt/qemu' '--enable-kvm' '--enable-system' '--enable-sdl' '--enable-opengl'
$ /Local/hqfang/workspace/software/android/aosp/rvprebuilt/qemu/bin/qemu-system-riscv64 -display ?
Available display backend types:
none
gtk
sdl
egl-headless
curses
dbus
$ /Local/hqfang/workspace/software/android/aosp/rvprebuilt/qemu/bin/qemu-system-riscv64 -display egl-headless
qemu-system-riscv64: egl: no drm render node available
qemu-system-riscv64: egl: render node init failed
# but I already installed qemu-kvm libvirt-daemon-system, the above error still appeared

What else is missing?
Thanks

Hi @unicornx , In my opinion, we can use Swiftshader instead of vendor driver on Docker.
Hi @fanghuaqi could you try these steps?
# first step. //update swiftshader
cd external/swiftshader
git pull aosp main

# second setp
vim vsoc_riscv64/phone/aosp_cf.mk

diff --git a/vsoc_riscv64/phone/aosp_cf.mk b/vsoc_riscv64/phone/aosp_cf.mk
index 784c95962..70a397b6b 100644
--- a/vsoc_riscv64/phone/aosp_cf.mk
+++ b/vsoc_riscv64/phone/aosp_cf.mk
@@ -56,7 +56,7 @@ $(call inherit-product, device/google/cuttlefish/shared/bluetooth/device_vendor.
 $(call inherit-product, device/google/cuttlefish/shared/camera/device_vendor.mk)
 $(call inherit-product, device/google/cuttlefish/shared/graphics/device_vendor.mk)
 # TODO: FIXME: Enable swiftshader for graphics, and remove angle below.
-#$(call inherit-product, device/google/cuttlefish/shared/swiftshader/device_vendor.mk)
+$(call inherit-product, device/google/cuttlefish/shared/swiftshader/device_vendor.mk)

 # Use angle until swiftshader is unabled so that `gfxstream_guest_angle_host_swiftshader`
 # works.
@@ -123,7 +123,10 @@ PRODUCT_MODEL := Cuttlefish riscv64 phone
 PRODUCT_PACKAGES += \
     androidx.window.extensions \
     androidx.window.sidecar \
+    vulkan.pastel \

 PRODUCT_VENDOR_PROPERTIES += \
     ro.soc.manufacturer=$(PRODUCT_MANUFACTURER) \
-    ro.soc.model=$(PRODUCT_DEVICE)
+    ro.soc.model=$(PRODUCT_DEVICE) \
+    ro.hardware.egl=angle \
+    ro.hardware.vulkan=pastel

see also https://android-review.googlesource.com/c/device/google/cuttlefish/+/2657022 :-)

Hi @enh-google ,
I tried to update source code in device/google/cuttlefish and external/swiftshader in aosp to main branch, which will include this https://android-review.googlesource.com/c/device/google/cuttlefish/+/2657022  patch, and build aosp again using m -j, and tried to boot android using command
launch_cvd -cpus=4 --memory_mb=8192 --gpu_mode=guest_swiftshader -qemu_binary_dir=/Local/hqfang/workspace/software/android/aosp/rvprebuilt/qemu/bin

Get following output:
Server listening on unix:/tmp/cf_avd_400000018/cvd-1/grpc_socket/ControlEnvProxyServer.sock
/Local/hqfang/workspace/software/android/aosp/rvprebuilt/qemu/bin/qemu-system-riscv64
Server listening on <IP_ADDRESS>:7200
root-canal I 07-19 17:49:57.081 device_boutique.cc:39                    Registering beacon
root-canal I 07-19 17:49:57.081 device_boutique.cc:39                    Registering beacon_swarm
root-canal I 07-19 17:49:57.081 device_boutique.cc:39                    Registering scripted_beacon
root-canal I 07-19 17:49:57.081 device_boutique.cc:39                    Registering sniffer
root-canal I 07-19 17:49:57.081 controller_properties.cc:1385            DELETE_STORED_LINK_KEY command validation failed (c121,excluded)
root-canal I 07-19 17:49:57.081 controller_properties.cc:1435            LE_ISO_READ_TEST_COUNTERS command validation failed (excluded,c46)
root-canal I 07-19 17:49:57.081 controller_properties.cc:1436            LE_ISO_RECEIVE_TEST command validation failed (excluded,c46)
root-canal I 07-19 17:49:57.081 controller_properties.cc:1437            LE_ISO_TEST_END command validation failed (excluded,c47)
root-canal I 07-19 17:49:57.081 controller_properties.cc:1439            LE_ISO_TRANSMIT_TEST command validation failed (excluded,c45)
root-canal I 07-19 17:49:57.081 controller_properties.cc:1457            LE_READ_ISO_LINK_QUALITY command validation failed (excluded,c50)
root-canal I 07-19 17:49:57.081 controller_properties.cc:1458            LE_READ_ISO_TX_SYNC command validation failed (excluded,c45)
root-canal I 07-19 17:49:57.081 controller_properties.cc:1477            LE_RECEIVER_TEST_V2 command validation failed (excluded,c13)
root-canal I 07-19 17:49:57.081 controller_properties.cc:1491            LE_REQUEST_PEER_SCA command validation failed (excluded,c44)
root-canal I 07-19 17:49:57.081 controller_properties.cc:1507            LE_SET_DATA_RELATED_ADDRESS_CHANGES command validation failed (excluded,c10)
root-canal I 07-19 17:49:57.081 controller_properties.cc:1545            LE_TRANSMITTER_TEST_V2 command validation failed (excluded,c12)
root-canal I 07-19 17:49:57.081 controller_properties.cc:1637            REMOTE_NAME_REQUEST_CANCEL command validation failed (c106,excluded)
root-canal I 07-19 17:49:57.081 controller_properties.cc:1692            WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING command validation failed (c135,excluded)
Server listening on unix:/tmp/cf_avd_400000018/cvd-1/grpc_socket/OpenwrtControlServer.sock
07-19 17:49:57.084 1722577 1722599 E<EMAIL_ADDRESS>GarageModeServerSideHandler.cpp:131 operator(): marker file /home/hqfang/cuttlefish/instances/cvd-1/power_state has not been created yet.
WaylandServer running on socket 15
[2023/07/19 17:49:57:1050] N: lws_create_context: LWS: 4.3.0, NET CLI SRV H1 H2 WS ConMon IPv6-absent
[2023/07/19 17:49:57:1051] N: __lws_lc_tag:  ++ [wsi|0|pipe] (1)
[2023/07/19 17:49:57:1054] N: __lws_lc_tag:  ++ [vh|0|default|<IP_ADDRESS>|<IP_ADDRESS>|0] (1)
[2023/07/19 17:49:57:1069] N: [vh|0|default|<IP_ADDRESS>|<IP_ADDRESS>|0]: lws_socket_bind: source ads <IP_ADDRESS>
[2023/07/19 17:49:57:1069] N: __lws_lc_tag:  ++ [wsi|1|listen|default|<IP_ADDRESS>|36039] (2)
Size of OBJECT = 1204
Size of components in TPMT_SENSITIVE = 744
    TPMI_ALG_PUBLIC                 2
    TPM2B_AUTH                      50
    TPM2B_DIGEST                    50
    TPMU_SENSITIVE_COMPOSITE        642
MAX_CONTEXT_SIZE can be reduced to 1264 (1344)
(adm_helpers.cc:48): Unable to access speaker.
size : 360
starting Rust KeyMint TA implementation in a thread
starting C++ KeyMint implementation in a thread with FDs in=80, out=79
KeyMint Rust TA running with fd_in=86, fd_out=85, security_level=TrustedEnvironment
No secure deletion data file found. Creating one.
vector version is not specified, use the default value v1.0
vector version is not specified, use the default value v1.0
vector version is not specified, use the default value v1.0
vector version is not specified, use the default value v1.0
GUEST_UBOOT_VERSION: 2023.01-maybe-dirty (Jan 01 1970 - 00:00:00 +0000)
U-Boot 20
starting Rust KeyMint TA implementation in a thread
starting C++ KeyMint implementation in a thread with FDs in=80, out=79
KeyMint Rust TA running with fd_in=86, fd_out=85, security_level=TrustedEnvironment
Secure deletion data file found. Parsing.
netsimd INFO 2023-07-19 09:49:58.86429313 | netsim generated pcap files in temp directory has been removed.
root-canal I 07-19 17:49:58.086 posix_async_socket_server.cc:79          Listening on: 7500 (3)
root-canal I 07-19 17:49:58.087 test_command_handler.cc:113              Add beacon@be:ac:01:55:00:01
root-canal I 07-19 17:49:58.087 test_command_handler.cc:113              Add beacon@be:ac:01:55:00:02
root-canal I 07-19 17:49:58.087 test_model.cc:76                         StartTimer()
netsim D 07-19 17:49:58.087 Set up test channel.
netsimd INFO 2023-07-19 09:49:58.87437516 | Running fd transport with {"devices":[{"name":"<IP_ADDRESS>:6520","chips":[{"kind":"BLUETOOTH","fdIn":76,"fdOut":77}]}]}
netsim D 07-19 17:49:58.089 Grpc server listening on localhost: 40353
netsim D 07-19 17:49:58.089 RunSocketTransport:7300
netsim D 07-19 17:49:58.089 hci_packet_transport: registered
root-canal I 07-19 17:49:58.089 test_model.cc:211                        Initialized device with address da:4c:10:de:17:02
netsim D 07-19 17:49:58.089 Creating HCI facade 2 for device 1
netsimd INFO 2023-07-19 09:49:58.89690250 | Hci socket server is listening on: 7300
netsimd INFO 2023-07-19 09:49:58.89732187 | Frontend http server is listening on http://localhost:7681
netsimd INFO 2023-07-19 09:49:58.91948922 | Handling fd=77 for kind=BLUETOOTH facade_id=2
GUEST_KERNEL_VERSION: 6.3.0-mainline-g0526833d4674-ab10303652 (build-user@build-host) (Android (10087095, +pgo, +bolt, +lto, -mlgo, based on r487747c) clang version 17.0.2 (https://android.googlesource.com/toolchain/llvm-project d9f89f4d16663d5012e5c09495f3b30ece3d2362), LLD 17.0.2) #1 SMP PREEMPT Mon Jun 12 08:24:48 UTC 2023
] Linux version
transport message failed, response body: device offline
transport message failed, response body: device offline
Setting boot_info to BootInfo { verified_boot_key: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], device_boot_locked: false, verified_boot_state: Unverified, verified_boot_hash: [47, 211, 76, 210, 179, 224, 121, 54, 86, 20, 197, 78, 106, 154, 246, 110, 230, 148, 132, 37, 246, 135, 10, 169, 128, 229, 107, 39, 206, 237, 253, 220], boot_patchlevel: 20230605 }
Setting hal_info to HalInfo { os_version: 130000, os_patchlevel: 202306, vendor_patchlevel: 20230605 }
Setting attestation IDs directly
Setting HMAC key from 1 shared secret parameters
secure deleting all keys! device unlikely to survive reboot!
Deleting all secrets
Generating new secret with slot ID: 1
No secure deletion data file found. Creating one.
Fetching secret with slot ID: 1
transport message failed, response body: device offline
GUEST_BUILD_FINGERPRINT: generic/aosp_cf_riscv64_phone/vsoc_riscv64:VanillaIceCream/AOSP.MASTER.2fd34cd2/eng.hqfang.20230707.160618:userdebug/test-keys
Generating new secret with slot ID: 2
Fetching secret with slot ID: 2
add 64 bytes of entropy
early boot ended
transport message failed, response body: device offline
transport message failed, response body: device offline
Generating new secret with slot ID: 3
Fetching secret with slot ID: 3
Generating new secret with slot ID: 4
Fetching secret with slot ID: 4
Fetching secret with slot ID: 4
transport message failed, response body: device '<IP_ADDRESS>:6520' not found
transport message failed, response body: device '<IP_ADDRESS>:6520' not found

vnc no response

Hi @fanghuaqi
You need to wait long enough and it should show virtual device booted successfully.

Hi @fanghuaqi You need to wait long enough and it should show virtual device booted successfully.

Yes, it finally boot with the info you present, but it is really slow, mouse click almost no response.

Yes, it finally boot with the info you present, but it is really slow, mouse click almost no response.

fwiw, i just tried using guest_swiftshader instead of drm_virgl, and i also found that it's way slower. drm_virgl isn't fast, but it's pretty usable. guest_swiftshader was pretty unusable for me too, even on a fast 128 core machine.

hi @enh-google ,
I follow https://github.com/google/android-riscv64/ README.md  to build aosp and run launch_cvd ，
launch_cvd -cpus=8 --memory_mb=8192 --gpu_mode=drm_virgl  -qemu_binary_dir=/Local/hqfang/workspace/software/android/aosp/rvprebuilt/qemu/bin

but it cannot enter into android main UI，it seems that android bootanimation is displayed，main ui cannot display,
and bootanimation task is complete，launcher and UI task is running。the startup time is enough to show main UI which is not the reason。

There is an error message in the cvd log file. I do not know if this is the reason why the main UI cannot be displayed。
If so, what should i do about it，thanks for your help！

launch_cvd startup log.txt
thank you！

hi @enh-google @nylon7 @steven10628 @unicornx ,
Can cuttlefish work successfully with the AOSP latest version?

i personally have never reproduced the issue mentioned here.
i built ToT AOSP today (with V enabled!) and the current debian testing qemu ran that just fine for me with --gpu_mode=drm_virgl.

hi @enh-google
Can you paste your cuttlefish log and android logcat output？
thank you for help！

Hi @matthewgui ,
Now, we use our internal stable branch for AOSP; the last re-base date is 2023/09.01.

hi @nylon7
thank you for your info，your qemu version is 8.0 ？

Hi @matthewgui , we also use internal QEMU, but the code base is 7.2.

Hi @nylon7 ,
Is it convenient to provide your cuttlefish log?
thank you!

Hi @matthewgui ,
I need some time to confirm, if possible, I will be sent it here.

Hi @nylon7 ,
ok, thank you!

Is there anyone tried the latest risc-v cuttlefish? I cannot boot to home screen

Hi @matthewgui ,
Now, we use our internal stable branch for AOSP; the last re-base date is 2023/09.01.

Would you mind share the local manifest of 2023.09.01? I mean the revision of all the android repos on 2023.09.01, thanks!

(we are making some progress with CI --- https://android-review.googlesource.com/c/platform/bionic/+/2796852?checksRunsSelected=aosp_cf_riscv64_phone-trunk_staging-userdebug:aosp-main is the first change i know of that at least built a riscv64 build before being merged. we're still working on qemu and getting to where we can be sure it boots with every change...)
i synced, built, and booted today... i had a cuttlefish crash that was fixed by rm -rf ~/cuttlefish* but i've been stuck at the "android" logo for 18 minutes now... (normally i only need a shell anyway, so i don't bother with the ui, so i can't say when the ui last worked for me.)

(we are making some progress with CI --- https://android-review.googlesource.com/c/platform/bionic/+/2796852?checksRunsSelected=aosp_cf_riscv64_phone-trunk_staging-userdebug:aosp-main is the first change i know of that at least built a riscv64 build before being merged. we're still working on qemu and getting to where we can be sure it boots with every change...)
i synced, built, and booted today... i had a cuttlefish crash that was fixed by rm -rf ~/cuttlefish* but i've been stuck at the "android" logo for 18 minutes now... (normally i only need a shell anyway, so i don't bother with the ui, so i can't say when the ui last worked for me.)

thank you for your clarification, I'm exactly encounter the same result as yours.

Is there anyone tried the latest(HEAD of (2023.10.19)) risc-v cuttlefish? I cannot boot to home screen either.

Hi @matthewgui ,
Now, we use our internal stable branch for AOSP; the last re-base date is 2023/09.01.

Would you mind share the local manifest of 2023.09.01? I mean the revision of all the android repos on 2023.09.01, thanks!

Never mind, I got the manifest from ci.android.com

(i've update the instructions on the front page to show how to use the prebuilt qemu.)

As this bug hasn't gotten any feedback since November, I'm going to assume things are okay - the instructions have also been updated today to remove some of the extra flags (and you'll now get our prebuilt QEMU by default, so that everyone's QEMU version and features are aligned). I'll tentatively close this, but feel free to open a separate issue if things have changed or the latest ToT doesn't work for you.