Waydroid not working correctly

So I was using linux-xanmod-anbox and that didn't work tried linux-xanmod and that is indeed working actually and Magisk works as well.

I can't get Waydroid to launch on zen or tkg-bmq though tried removing /etc/modules-load.d/binder.conf and it gives me this now
when trying to run waydroid show-full-ui

[gbinder] ERROR: Can't open /dev/binder: No such file or directory
[21:55:51] Failed to add presence handler: None

tried removing psi from my kernel commands and made no difference

anyway solution is to use linux-xanmod for Waydroid with root and now that I re read the guide I do see it is actually mentioned must of missed it :man_facepalming:

oh and apps not installing was because the arm translation layer didn't get installed correctly I guess re ran the wayland-extras script and reinstalled the ndk one

1 Like

So you are able to run linux-cachyos without any tweaks?
linux-zen should have worked without any tweaks, just like cachyos.

@NaN, could you confirm that Waydroid worked for you with linux_zen without any tweaks?

That's great!

Actually, I added it to the guide only after your post.
Though I had already mentioned it in the thread comments, I was waiting for a reply from
'Outdated Binder module · Issue #386 · xanmod/linux · GitHub'
to add it to the guide.

Yeah its strange on cachy, waydroid works fine (with no magisk though) with psi=1 and echo binder_linux | sudo tee /etc/modules-load.d/binder.conf haven't tried seeing if removing those 2 tweaks breaks waydroid, I thought they were needed for all kernel's

on the zen kernel and the tkg-bmq (which I think also has binder) I can't get it to work no matter what I try
it just refuses to load with either the no such file or directory error or service manager has died

1 Like

These two tweaks are only supposed to be needed for kernels with binder drivers as kernel modules, not inbuilt.

1 Like

Yup, no tweaks needed for me. I just had to follow the steps to load the binder modules at /dev/binder at startup and that was it.

1 Like

This one?

Yeah that one.

1 Like

If Zen kernel doesn't work with these

Try doing step 4 of the guide:

zen kernel still gives (after a reboot)

[gbinder] ERROR: Can't open /dev/binder: No such file or directory
[19:47:48] Failed to add presence handler: None

when following the guide

cat /etc/fstab
File: /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>                          <mount point>  <type>  <options>  <dump>  <pass>
UUID=4AC6-7B21                            /boot/efi      vfat    umask=0077 0 2
UUID=53e270ad-dfd5-4874-a125-69d21ada6b8d /              btrfs   subvol=/@,defaults,noatime,compress=zstd,
discard=async,ssd 0 0
UUID=53e270ad-dfd5-4874-a125-69d21ada6b8d /home          btrfs   subvol=/@home,defaults,noatime,compress=z
std,discard=async,ssd 0 0
UUID=53e270ad-dfd5-4874-a125-69d21ada6b8d /root          btrfs   subvol=/@root,defaults,noatime,compress=z
std,discard=async,ssd 0 0
UUID=53e270ad-dfd5-4874-a125-69d21ada6b8d /srv           btrfs   subvol=/@srv,defaults,noatime,compress=zs
td,discard=async,ssd 0 0
UUID=53e270ad-dfd5-4874-a125-69d21ada6b8d /var/cache     btrfs   subvol=/@cache,defaults,noatime,compress=
zstd,discard=async,ssd 0 0
UUID=53e270ad-dfd5-4874-a125-69d21ada6b8d /var/log       btrfs   subvol=/@log,defaults,noatime,compress=zs
td,discard=async,ssd 0 0
UUID=53e270ad-dfd5-4874-a125-69d21ada6b8d /var/tmp       btrfs   subvol=/@tmp,defaults,noatime,compress=zs
td,discard=async,ssd 0 0
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0
UUID=d6a92575-7181-4506-80d1-84a9594f90e8 /mnt/GAMES     auto    nosuid,nodev,nofail,x-gvfs-show 0 0
none                         /dev/binderfs binder   nofail  0      0

 ╭─zany130@Garuda in ~ via  v3.11.3 took 7ms
 ╰─λ cat /etc/tmpfiles.d/waydroid.conf
File: /etc/tmpfiles.d/waydroid.conf
d! /dev/binderfs 0755 root root

 ╭─zany130@Garuda in ~ via  v3.11.3 took 6ms
 ╰─λ cat /etc/modules-load.d/waydroid.conf
File: /etc/modules-load.d/waydroid.conf
binder_linux

It should be binder.

Edit:
I too am not able to run Waydroid with Zen :thinking:

@NaN, any hint?

Lemme check, I haven't used waydroid in a while. Currently I am traveling in a train so it would take a while for me to respond.

1 Like

No worries, please you take your time.

@zany130 and @Austin I have just updated my system and also reinstalled waydroid. I am facing no issues using waydroid in linux-zen

╰─λ cat /etc/modules-load.d/waydroid.conf
File: /etc/modules-load.d/waydroid.conf
binder

╭─siddharth@siddharth in ~ took 29ms
󰂃66%
╰─λ cat /etc/tmpfiles.d/waydroid.conf
File: /etc/tmpfiles.d/waydroid.conf
d! /dev/binderfs 0755 root root

Redacted /etc/fstab

none    /dev/binderfs   binder  nofail  0   0

The only reason for the failure erroneous use of binder_linux in /etc/modules-load.d/waydroid.conf instead of binder.

Oh I also do not use the psi=1 kernel parameter

5 Likes

for me it still gives this on zen

(didn't try a fresh install maybe that would work but then strange its working on cachy and xanmod)

[gbinder] ERROR: Can't open /dev/binder: No such file or directory
[20:06:57] Failed to add presence handler: None
File: /etc/tmpfiles.d/waydroid.conf
d! /dev/binderfs 0755 root root

File: /etc/modules-load.d/waydroid.conf
binder

and

File: /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>                          <mount point>  <type>  <options>  <dump>  <pass>
UUID=4AC6-7B21                            /boot/efi      vfat    umask=0077 0 2
UUID=53e270ad-dfd5-4874-a125-69d21ada6b8d /              btrfs   subvol=/@,defaults,noatime,compress=zstd,
discard=async,ssd 0 0
UUID=53e270ad-dfd5-4874-a125-69d21ada6b8d /home          btrfs   subvol=/@home,defaults,noatime,compress=z
std,discard=async,ssd 0 0
UUID=53e270ad-dfd5-4874-a125-69d21ada6b8d /root          btrfs   subvol=/@root,defaults,noatime,compress=z
std,discard=async,ssd 0 0
UUID=53e270ad-dfd5-4874-a125-69d21ada6b8d /srv           btrfs   subvol=/@srv,defaults,noatime,compress=zs
td,discard=async,ssd 0 0
UUID=53e270ad-dfd5-4874-a125-69d21ada6b8d /var/cache     btrfs   subvol=/@cache,defaults,noatime,compress=
zstd,discard=async,ssd 0 0
UUID=53e270ad-dfd5-4874-a125-69d21ada6b8d /var/log       btrfs   subvol=/@log,defaults,noatime,compress=zs
td,discard=async,ssd 0 0
UUID=53e270ad-dfd5-4874-a125-69d21ada6b8d /var/tmp       btrfs   subvol=/@tmp,defaults,noatime,compress=zs
td,discard=async,ssd 0 0
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0
UUID=d6a92575-7181-4506-80d1-84a9594f90e8 /mnt/GAMES     auto    nosuid,nodev,nofail,x-gvfs-show 0 0
none                         /dev/binderfs binder   nofail  0      0

removed all other tweaks like psi=1

File: /boot/refind_linux.conf
"Boot with standard options"  "amd_pstate=active BOOT_IMAGE=/@/boot/vmlinuz-linux-%v root=UUID=53e270ad-df
d5-4874-a125-69d21ada6b8d rw rootflags=subvol=@ rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel
=3 sysrq_always_enabled=1 amdgpu.ppfeaturemask=0xffffffff nowatchdog nmi_watchdog=0 drm.edid_firmware=HDMI
-A-1:edid/LG-C2.bin"
"Boot to single-user mode"    "amd_pstate=active BOOT_IMAGE=/@/boot/vmlinuz-linux-%v root=UUID=53e270ad-df
d5-4874-a125-69d21ada6b8d rw rootflags=subvol=@ rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel
=3 sysrq_always_enabled=1 amdgpu.ppfeaturemask=0xffffffff nowatchdog nmi_watchdog=0 single"
"Boot with minimal options"   "ro root=/dev/nvme0n1p2"
2 Likes

I, too am having the same issue as @zany130.

Hmm. I tried reinstalling python-gbinder & libgbinder(followed by a reboot), still, the issue persists.
I don’t know if a Waydroid reinstall should work?
Let us know if someone has the same issue on a fresh Waydroid install.
I would not want to reinstall Waydroid cause I have setup many apps that I use.
But I will do it if nobody can.

1 Like

I did technically do a fresh install since I removed waydroid with

sudo pacman -Rns waydroid
sudo paccache -ruk0
sudo rm -r (find / -name "*waydroid*" -not -path '/.snapshots/*' 2> /dev/null)

which removed all the files related to waydroid including the ones under modules-load.d and tmpfiles.d

Then proceeded to reinstall waydroid on an up to date system.

3 Likes

I see.
You seem to be good at bash-scripting.

Let’s see if anybody else is able to replicate you.

1 Like

Since the error generated is can't open /dev/binder how about renaming in

tmpfiles.d

and fstab

/dev/binderfs to /dev/binder

I mean it's just a thought.

1 Like

Binder driver is first mounted at /dev/binderfs, then symlinks are created for the contents inside the /dev/binderfs directory to /dev directory.

/dev/binder -> /dev/binderfs/binder
/dev/binder-control -> /dev/binderfs/binder-control
/dev/features -> /dev/binderfs/features
/dev/hwbinder -> /dev/binderfs/hwbinder
/dev/vndbinder -> /dev/binderfs/vndbinder

This is how it works with Cachyos & Xanmod kernels.

@NaN, sorry to bother you again and again.

Could you share which all symlinks like these you have with Zen kernel?