remote-android / redroid-doc

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

VNC connection blackscreen #534

Open nurpabuccu opened 11 months ago

nurpabuccu commented 11 months ago

Describe the bug VNC connection black screen

make sure the required kernel modules present

Hi i am trying to connect to emulator via vncviewer but only getting blackscreen.

Command to run:

docker run  -itd --rm --name redroid-9 --privileged  --pull always -p 8888:5555 -p 6900:5900 -p 5901:5901 redroid/redroid:9.0.0-latest androidboot.use_redroid_stream=1 redroid.vncserver=1 redroid.gpu.mode=guest ro.boot.use_redroid_vnc=1

System: Linux 6.2.0-1016-azure arm64 Ubuntu 22.04

I can connect to emulator via scrcpy and abd but i want to connect via vnc. VNC is a need for me. You said "vnc is only for debug" in previous issues, what does that mean? If it is not usable is there any good documentation how can i add libvncserver and start vnc connection without issues?

Also i tried with redroid-11 too but get blackscreen again.

Edit: Tried it on ubuntu 20.04 x86_64 host. ashmem and binder available this time but got blackscreen on vncviewer.

Screenshot 2023-12-13 at 17 08 14
zhouziyang commented 11 months ago

I only tested on hardware accelerated platforms (including virtio-gpu); And just tested, it's not working on software rendering platform (It's feasible although). Why VNC? For production, WebRTC might be a better streaming solution.

nurpabuccu commented 11 months ago

Thanks. Is there any good documentation or project you can recommend that i can follow for using WebRTC with aosp build emulator? Also with redroid is it possible to run emulator like in avdmanager with qemu vnc parameters? If it is and will work this way can be better solution maybe

zhouziyang commented 11 months ago

redroid is a totally different solution from Android Emulator (or some other VM based solutions). redroid is container based, and pretty lightweight. Try porting WebRTC solution (frontend / backend) from google cuttlefish.