Everything in this guide works for all Desktop Environments, including KDE.
Actually, I was on KDE when I created this guide.
@SGS , could you please make this post a wiki?
Thanks
Austin
24 October 2022 12:51
27
I have simplified and updated the guide according to the latest version.
1 Like
Some help is needed!
I am using the linux-cachyos
kernel, which has the binder modules. I installed Waydroid, and it is not starting
> sudo waydroid init
[11:44:35] Already initialized
> sudo ls -1 /dev/binderfs/
anbox-binder
anbox-hwbinder
anbox-vndbinder
binder-control
features
> sudo ls -1 /dev/binder
ls: cannot access '/dev/binder': No such file or directory
> sudo waydroid status
Session: RUNNING
Container: STOPPED
Vendor type: MAINLINE
Session user: austin(1000)
Wayland display: wayland-0
> sudo systemctl enable --now waydroid-container
> waydroid session start
[11:36:52] Session is already running
> sudo waydroid container start
ERROR: WayDroid container service is already running
> waydroid show-full-ui
[gbinder] ERROR: Can't open /dev/binder: No such file or directory
[11:37:15] Waiting for binder Service Manager...
[11:38:15] Service Manager never appeared
[11:38:15] Failed to access IPlatform service
> ls /dev/
drwxr-xr-x - root 16 Apr 17:00 binderfs
lrwxrwxrwx 22 root 16 Apr 17:00 features -> /dev/binderfs/features
lrwxrwxrwx 26 root 16 Apr 17:00 anbox-binder -> /dev/binderfs/anbox-binder
lrwxrwxrwx 28 root 16 Apr 17:00 anbox-hwbinder -> /dev/binderfs/anbox-hwbinder
lrwxrwxrwx 29 root 16 Apr 17:00 anbox-vndbinder -> /dev/binderfs/anbox-vndbinder
lrwxrwxrwx 28 root 16 Apr 17:00 binder-control -> /dev/binderfs/binder-control
Thank you
Did you try symlinking /dev/binder to /dev/binderfs?
Yup, I tried symlinking /dev/binder to /dev/binderfs/anbox-binder, but it gives an error:
[gbinder] ERROR: Can't open /dev/binder: Permission denied
[23:04:15] Failed to add presence handler: None
make_entry(card, "dev/dri/card0")
for n in glob.glob("/dev/fb*"):
make_entry(n)
for n in glob.glob("/dev/graphics/fb*"):
make_entry(n)
for n in glob.glob("/dev/video*"):
make_entry(n)
# Binder dev nodes
make_entry("/dev/" + args.BINDER_DRIVER, "dev/binder", check=False)
make_entry("/dev/" + args.VNDBINDER_DRIVER, "dev/vndbinder", check=False)
make_entry("/dev/" + args.HWBINDER_DRIVER, "dev/hwbinder", check=False)
if args.vendor_type != "MAINLINE":
if not make_entry("/dev/hwbinder", "dev/host_hwbinder"):
raise OSError('Binder node "hwbinder" of host not found')
make_entry("/vendor", "vendor_extra", options="bind,optional 0 0")
# Necessary device nodes for adb
make_entry("none", "dev/pts", "devpts", "defaults,mode=644,ptmxmode=666,create=dir 0 0", False)
It is a shot in the dark but you can try changing the line I linked and compiling waydroid.
I found the file at '/usr/lib/waydroid/tools/helpers/lxc.py' and edited it as you suggested.
Still no luck.
I have commented about it on the AUR website: AUR (en) - waydroid
Thanks
not sure if this is a stupid question but... considering all the stuff already available to be easily installed on Garuda (part of the reason why I'm loving the experience of using this distro), how hard would it be to include Waydroid in those processes?
I mean, I consider myself tech-savvy but also lazy as hell lol I see these huge tutorials for doing stuff and I feel like "meh, maybe another day"...
Yeah, we could do this if we wanted.
We can add binder_linux-dkms
as a dependency, but some kernels, like cachyos kernels, already have the necessary kernel modules, so we should ensure that we install the binder dkms only with kernels that don’t have the modules (Zen kernel doesn’t have I suppose).
Then we just have to enable the init service.
I think we can make a similar script as we have for Anbox( anbox-support
).
@dr460nf1r3 , Anbox is deprecated now, so I suppose we should remove Anbox, Anbox support from the repositories.
What do you say?
Waydroid currently has some bug or something, and it’s not running/starting as of today.
And the package is marked out-of-date in the aur.
It would have been really nice to see official direct support from Arch for Waydroid.
Adding the necessary kernel modules in arch kernels and Waydroid packaged in the arch repos.
Fedora, Void Linux and Ubuntu already have that support.
1 Like
Austin:
@dr460nf1r3 , Anbox is deprecated now, so I suppose we should remove Anbox, Anbox support from the repositories.
What do you say?
I say: worry no more
opened 03:05PM - 24 Apr 23 UTC
closed 05:58PM - 25 Apr 23 UTC
request:remove-pkg
priority:high
### What happens?
Quoting from anbox current repository
"The Anbox project … was once ago created in 2017 to bring Android to any Linux based desktop operating system. It's development has however stalled in the past years and it's only fair to say that now in 2023 it's no longer actively developed."
Even the modules cease to work in the newer versions of kernels. Maintaining them would be unviable
Its better to remove anbox packages, like the percentage of linux users using anbox dropped down drastically,
Even the linux-zen, linux-xanmod and other kernels stop to provide those modules
https://wiki.archlinux.org/title/Anbox#Security
Hence, I request the chaotic-aur developers to stop providing anbox.
```
❯ administrator@Optiplex in repo: anbox-modules-dkms on master
➜ makepkg -si
==> Making package: anbox-modules-dkms 5.19-1 (Monday 24 April 2023 08:34:55 PM)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Cloning anbox-modules git repo...
Cloning into bare repository '/home/administrator/ibf/anbox-modules-dkms/anbox-modules'...
remote: Enumerating objects: 235, done.
remote: Counting objects: 100% (59/59), done.
remote: Compressing objects: 100% (48/48), done.
remote: Total 235 (delta 33), reused 20 (delta 11), pack-reused 176
Receiving objects: 100% (235/235), 198.88 KiB | 284.00 KiB/s, done.
Resolving deltas: 100% (106/106), done.
-> Downloading 7c19d3c66758747d854c63e4c34ef127ce201fa6.patch...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3188 100 3188 0 0 7395 0 --:--:-- --:--:-- --:--:-- 7396
-> Downloading 4.patch...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 3648 0 3648 0 0 4165 0 --:--:-- --:--:-- --:--:-- 17882
-> Found linux-6.patch
==> Validating source files with sha256sums...
anbox-modules ... Skipped
7c19d3c66758747d854c63e4c34ef127ce201fa6.patch ... Passed
4.patch ... Passed
linux-6.patch ... Skipped
==> Extracting sources...
-> Creating working copy of anbox-modules git repo...
Cloning into 'anbox-modules'...
done.
Switched to a new branch 'makepkg'
==> Starting prepare()...
patching file binder/binder.c
patching file binder/binder.c
patching file binder/deps.c
Hunk #2 succeeded at 69 (offset -1 lines).
Hunk #3 succeeded at 89 (offset -1 lines).
patching file binder/binder.c
patching file binder/deps.c
Hunk #1 succeeded at 69 (offset -1 lines).
patching file ashmem/ashmem.c
patching file binder/binder_alloc.c
==> Entering fakeroot environment...
==> Starting package()...
make -C /lib/modules/6.2.11-x64v1-xanmod1-1/build V=0 M=$PWD
CC [M] /home/administrator/ibf/anbox-modules-dkms/src/anbox-modules/binder/deps.o
In file included from ././include/linux/kconfig.h:5,
from <command-line>:
./include/generated/autoconf.h:4628: warning: "CONFIG_ANDROID_BINDER_DEVICES" redefined
4628 | #define CONFIG_ANDROID_BINDER_DEVICES "binder,hwbinder,vndbinder"
|
<command-line>: note: this is the location of the previous definition
CC [M] /home/administrator/ibf/anbox-modules-dkms/src/anbox-modules/binder/binder.o
In file included from ././include/linux/kconfig.h:5,
from <command-line>:
./include/generated/autoconf.h:4628: warning: "CONFIG_ANDROID_BINDER_DEVICES" redefined
4628 | #define CONFIG_ANDROID_BINDER_DEVICES "binder,hwbinder,vndbinder"
|
<command-line>: note: this is the location of the previous definition
/home/administrator/ibf/anbox-modules-dkms/src/anbox-modules/binder/binder.c: In function ‘binder_wait_for_work’:
/home/administrator/ibf/anbox-modules-dkms/src/anbox-modules/binder/binder.c:4112:9: error: implicit declaration of function ‘freezer_do_not_count’ [-Werror=implicit-function-declaration]
4112 | freezer_do_not_count();
| ^~~~~~~~~~~~~~~~~~~~
/home/administrator/ibf/anbox-modules-dkms/src/anbox-modules/binder/binder.c:4132:9: error: implicit declaration of function ‘freezer_count’; did you mean ‘preempt_count’? [-Werror=implicit-function-declaration]
4132 | freezer_count();
| ^~~~~~~~~~~~~
| preempt_count
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:252: /home/administrator/ibf/anbox-modules-dkms/src/anbox-modules/binder/binder.o] Error 1
make[1]: *** [Makefile:2176: /home/administrator/ibf/anbox-modules-dkms/src/anbox-modules/binder] Error 2
make: *** [Makefile:8: all] Error 2
==> ERROR: A failure occurred in package().
Aborting...
```
Feel free to create a waydroid-support
package, I’ll add it happily!
4 Likes
Yeah, I can try to making a package myself this time.
But I am waiting for the current bug to get fixed.
4 Likes
Now binder_linux-dkms
is installing with errors with my linux-cachyos 6.3.
so it’s not really that far fetched an idea as I thought when I suggested it… nice, I don’t feel so stupid about asking now
2 Likes