These two tweaks are only supposed to be needed for kernels with binder drivers as kernel modules, not inbuilt.
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.
This one?
Yeah that one.
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

╭─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
@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.
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
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"
I, too am having the same issue as @zany130.

(didn't try a fresh install maybe that would work but then strange its working on cachy and xanmod)
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.

fresh Waydroid install.
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.
I see.
You seem to be good at bash-scripting.
Let’s see if anybody else is able to replicate you.
Since the error generated is can't open /dev/binder
how about renaming in
tmpfiles.d

d! /dev/binderfs 0755 root root
and fstab

none /dev/binderfs binder nofail 0 0
/dev/binderfs
to /dev/binder
I mean it's just a thought.
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.

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
Could you share which all symlinks like these you have with Zen kernel?
No problem, here
lrwxrwxrwx 22 root 21 Jul 21:22 features -> /dev/binderfs/features
lrwxrwxrwx 26 root 21 Jul 21:22 anbox-binder -> /dev/binderfs/anbox-binder
lrwxrwxrwx 28 root 21 Jul 21:22 anbox-hwbinder -> /dev/binderfs/anbox-hwbinder
lrwxrwxrwx 29 root 21 Jul 21:22 anbox-vndbinder -> /dev/binderfs/anbox-vndbinder
lrwxrwxrwx 28 root 21 Jul 21:22 binder-control -> /dev/binderfs/binder-control
and
ls /dev/binderfs
drwxr-xr-x - root 21 Jul 21:22 features
crw-rw-rw- 239,2 root 21 Jul 21:22 anbox-binder
crw-rw-rw- 239,4 root 21 Jul 21:22 anbox-hwbinder
crw-rw-rw- 239,3 root 21 Jul 21:22 anbox-vndbinder
crw------- 239,1 root 21 Jul 21:22 binder-control
Oh something I also must mention,
sudo waydroid init -s GAPPS -f
I have been using this command to initialize my waydroid container so far so if this is a image issue maybe this would solve it.
PS: I just reinstalled waydroid again a 3rd time and it seems that
crw-rw-rw- 239,2 root 21 Jul 21:22 anbox-binder
crw-rw-rw- 239,4 root 21 Jul 21:22 anbox-hwbinder
crw-rw-rw- 239,3 root 21 Jul 21:22 anbox-vndbinder
these modules and thier symlinks is created by waydroid itself since without waydroid my
/dev/binderfs
only has these two things in it
drwxr-xr-x - root 21 Jul 21:22 features
crw------- 239,1 root 21 Jul 21:22 binder-control
Yup checked it again and enabling/disabling the waydroid-container
service adds and removes these three modules along with ALL the symlinks for all the modules. Not sure if this is the default behavior or not.
Just to confirm, when Waydroid is running, which of these modules are there in the directory?
ls /dev/binderfs
features
anbox-binder
anbox-hwbinder
anbox-vndbinder
binder-control
all of them.