casualsnek / waydroid_script

Python Script to add OpenGapps, Magisk, libhoudini translation library and libndk translation library to waydroid !
GNU General Public License v3.0
1.88k stars 170 forks source link

Waydroid glitching after installing libhoudini #157

Open brainwo opened 7 months ago

brainwo commented 7 months ago

I encounter this issue after installing libhoudini from waydroid_script, I didn't install anything prior to installing libhoudini alone. The Waydroid screen start glitching like a broken video card (image attached). I have yet find a solution to fix this after several attempts.

Steps to reproduce:

  1. Open Waydroid
  2. Run the command:
    git clone https://github.com/casualsnek/waydroid_script
    cd waydroid_script
    python3 -m venv venv
    venv/bin/pip install -r requirements.txt
    sudo venv/bin/python3 main.py
  3. Pick to install libhoudini
  4. Wait until it prints the log:
    [gbinder] WARNING: Service manager /dev/anbox-binder has died
    [gbinder] Service manager /dev/anbox-binder has appeared
  5. App restarted by itself and start glitching

What I have tried so far:

  1. Uninstall libhoudini from waydroid_script
  2. Reinstall Waydroid from system package manager
  3. Clean all previous Waydroid data in following folders
    /var/lib/waydroid 
    home/.waydroid
    ~/waydroid
    ~/.share/waydroid
    ~/.local/share/waydroid
  4. Unregister the leftover binfmt for arm_exe, arm_dyn, arm64_exe, and arm64_dyn
  5. Restart the operating system
  6. Use another Wayland compositor
  7. Switch to software rendering following this guide

Additional attachments:

Screenshot ![image](https://github.com/casualsnek/waydroid_script/assets/45139213/4aa722b0-dcd2-4205-bfd4-f7984db0e693)
Basic system information Linux Distribution: Arch Linux Kernel: 6.8.4-arch1-1 Discrete GPU: AMD Radeon RX 460 Integrated GPU: Intel HD Graphics Processor: Intel i7-4790
Recent /var/lib/waydroid/waydroid.log ``` (011021) [16:42:16] % lxc-info -P /var/lib/waydroid/lxc -n waydroid -sH STOPPED (011021) [16:42:16] % /usr/lib/waydroid/data/scripts/waydroid-net.sh stop vnic is waydroid0 waydroid-net isn't running (011021) [16:42:16] % systemctl is-enabled -q nfcd (013298) [16:42:16] % lxc-info -P /var/lib/waydroid/lxc -n waydroid -sH STOPPED (013298) [16:42:16] % modprobe -q ashmem_linux (013298) [16:42:16] % chmod 666 -R /dev/anbox-binder (013298) [16:42:16] % chmod 666 -R /dev/anbox-vndbinder (013298) [16:42:16] % chmod 666 -R /dev/anbox-hwbinder (013324) [16:42:18] Starting waydroid session (013298) [16:42:18] % /usr/lib/waydroid/data/scripts/waydroid-net.sh start vnic is waydroid0 (013298) [16:42:18] % systemctl is-active -q nfcd (013298) [16:42:18] % chmod 777 -R /dev/dri (013298) [16:42:18] % chmod 777 -R /dev/fb0 (013298) [16:42:18] % chmod 777 -R /dev/video0 (013298) [16:42:18] % mv /var/lib/waydroid/config_session /var/lib/waydroid/lxc/waydroid (013298) [16:42:18] % mount -o ro /var/lib/waydroid/images/system.img /var/lib/waydroid/rootfs (013298) [16:42:18] % mount -t overlay -o ro,lowerdir=/var/lib/waydroid/overlay:/var/lib/waydroid/rootfs,upperdir=/var/lib/waydroid/overlay_rw/system,workdir=/var/lib/waydroid/overlay_work/system,xino=off overlay /var/lib/waydroid/rootfs (013298) [16:42:18] % mount -o ro /var/lib/waydroid/images/vendor.img /var/lib/waydroid/rootfs/vendor (013298) [16:42:18] % mount -t overlay -o ro,lowerdir=/var/lib/waydroid/overlay/vendor:/var/lib/waydroid/rootfs/vendor,upperdir=/var/lib/waydroid/overlay_rw/vendor,workdir=/var/lib/waydroid/overlay_work/vendor,xino=off overlay /var/lib/waydroid/rootfs/vendor (013298) [16:42:18] % mount -o bind /var/lib/waydroid/waydroid.prop /var/lib/waydroid/rootfs/vendor/waydroid.prop (013298) [16:42:18] Save config: /var/lib/waydroid/waydroid.cfg (013298) [16:42:18] % lxc-start -P /var/lib/waydroid/lxc -F -n waydroid -- /init (013298) [16:42:18] New background process: pid=13370, output=background (013298) [16:42:18] % lxc-info -P /var/lib/waydroid/lxc -n waydroid -sH STOPPED (013298) [16:42:18] % lxc-info -P /var/lib/waydroid/lxc -n waydroid -sH RUNNING (013298) [16:42:18] waiting 10 seconds for container to start... (013324) [16:42:19] Skipping clipboard manager service because of missing pyclip package (013324) [16:42:20] Clipboard service is not even started (013298) [16:42:20] % lxc-info -P /var/lib/waydroid/lxc -n waydroid -sH RUNNING (013298) [16:42:20] % lxc-stop -P /var/lib/waydroid/lxc -n waydroid -k lxc-start: waydroid: ../src/lxc/utils.c: run_buffer: 571 Script exited with status 126 lxc-start: waydroid: ../src/lxc/start.c: lxc_end: 986 Failed to run lxc.hook.post-stop for container "waydroid" (013298) [16:42:20] % lxc-info -P /var/lib/waydroid/lxc -n waydroid -sH STOPPED (013298) [16:42:20] % /usr/lib/waydroid/data/scripts/waydroid-net.sh stop vnic is waydroid0 (013298) [16:42:20] % systemctl is-enabled -q nfcd (013298) [16:42:20] % umount /var/lib/waydroid/rootfs/vendor/waydroid.prop (013298) [16:42:20] % umount /var/lib/waydroid/rootfs/vendor (013298) [16:42:21] % umount /var/lib/waydroid/rootfs/vendor (013298) [16:42:21] % umount /var/lib/waydroid/rootfs (013298) [16:42:21] % umount /var/lib/waydroid/rootfs ```

Let me know if there is any additional information you like me to share. Thanks in advance.

brainwo commented 7 months ago

I'm not sure what happening, but after several attempts in installing and uninstalling libhoudini and restarting waydroid-container, it seems to fix the issue. And now Arm apps start appearing in Play Store. 😕

brainwo commented 7 months ago

Update: turns out it has something to do with ro.hardware.egl. The Arch Linux Wiki guide is outdated or misguided, for an updated guide please refer to https://docs.waydro.id/faq/get-waydroid-to-work-through-a-vm.

Will reopen this issue, it seems like there is a part in the install libhoudini script that alter my device behavior. I don't remember turning on setting ro.hardware.egl to swiftshader previously and now I notice my Waydroid runs slower. Though, it could be something to do with the fact that I install my Waydroid a year ago.