Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Waydroid on Armbian?

Featured Replies

Hi,

 

Im pretty new to linux in general mostly used windows before.

 

Is there a way to get waydroid work on armbian? I installed it but waydroid sais that the binder kernels are missing (1). When I follow the instruction to install the kernel modules using dkms I also get a failure (2).

 

(1) ERROR: Binder node "binder" for waydroid not found

(2) Error! Bad return status for module build on kernel: linux-headers-5.10.110-rockchip-rk3588

 

Anyone can help me with this?

 

Thanks in advance! :)

I guess you need these kernel modules:

CONFIG_ANDROID_LOW_MEMORY_KILLER=n

CONFIG_ANDROID_BINDER_IPC=y

CONFIG_ANDROID_BINDERFS=y

CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder,anbox-binder,anbox-hwbinder,anbox-vndbinder"

 

These are in the config on github, probably you'll need to update the kernel

 

 

  • Author

Is there a guide anywhere how to update the kernel?

 

I have found a guide on how to build a new kernel, but how do I update the existing one afterwards?

 

Thanks!

 

If it matters I read some logs and got the following error when installing the kernel module: Your kernel does not support KProbes

sudo apt install linux-image-legacy-rockchip-rk3588

 

If you build one yourself the debs will be in ./output/debs/

To install sudo apt install ./*image*.deb

or sudo dpkg -i *image*.deb

Edited by royk

  • Author

Apt sais I already have the newest version. Dkms install still doesnt work.

 

So I think I have to build one myself?

You could check the config of the installed kernel, if these modules were already enabled, then it won't help if you rebuild with that same config

nano /boot/config-5.10.110-rockchip-rk3588

  • Author

ahsmem and binder are not set. Should be a good chance then to get it working if I rebuild the kernel.

 

Gonna try that tomorrow. Thanks a lot!

 

Edit: Can I just copy this config, set the needed values and rebuild the kernel with it?

Edited by Prax

I would say that the deb have the kernel modules inside or built-in

You could try this first:

sudo apt update && sudo apt reinstall linux-image-legacy-rockchip-rk3588

 

Otherwise the default config on github has these already enabled.

  • Author

Tried that. Getting the following error:"Reinstallation of linux-image-legacy-rockchip-rk3588 is not possible, it cannot be downloaded"

 

Also tried updating the dependecies and to reinstall using aptitude. Error there is:"Cant find source to download version '23.02.0-trunk.0184' of 'linux-image-legacy-rockchip-rk3588'

 

Any idea on how to reinstall?

  • Author

Switched to nightly build. Binder and Ashmem are now activated in the config (/boot/config-5.10.110-rockchip-rk3588) but while kernel installation and at every reinstall I still get these errors:

 

Building module:

cleaning build area...

make -j8 KERNELRELEASE=5.10.110-rockchip-rk3588 all KERNEL_SRC=/lib/modules/5.10.110-rockchip-rk3588/build....(bad exit status: 2)

Error! Bad return status for module build on kernel: 5.10.110-rockchip-rk3588 (aarch64)

Consult /var/lib/dkms/anbox-ashmem/1/build/make.log for more information.

 

Kernel preparation unnecessary for this kernel. Skipping...

 

Building module:

cleaning build area...

make -j8 KERNELRELEASE=5.10.110-rockchip-rk3588 all KERNEL_SRC=/lib/modules/5.10.110-rockchip-rk3588/build.....(bad exit status: 2)

Error! Bad return status for module build on kernel: 5.10.110-rockchip-rk3588 (aarch64)

Consult /var/lib/dkms/anbox-binder/1/build/make.log for more information.

 

So I not only get them when I try to install the modules using dkms. I also get them when I reinstall the kernel.

 

/var/lib/dkms/anbox-binder/1/build/make.log gives following error: "Your kernel does not support KProbes, but this is required to compile ashmem as a kernel module on kernel 5.7 and later"

Edited by Prax

wget http://imola.armbian.com/beta/pool/main/l/linux-5.10.110-rockchip-rk3588/linux-image-legacy-rockchip-rk3588_23.02.2_arm64.deb

sudo dpkg -i linux-image-legacy-rockchip-rk3588_23.02.2_arm64.deb

 

wget http://imola.armbian.com/beta/pool/main/l/linux-5.10.110-rockchip-rk3588/linux-headers-legacy-rockchip-rk3588_23.02.2_arm64.deb

sudo dpkg -i linux-headers-legacy-rockchip-rk3588_23.02.2_arm64.deb

 

What is the output of cat  /var/lib/dkms/anbox-binder/1/build/make.log

Edited by royk

  • Author

While installing the first .deb I still get the same errors as mentioned above when reinstalling.

While installing the second .deb I get a ton of warning and errors that used functions are deprecated.

 

Thanks for your help, can't say it often enough!

 

Here are the cat of anbox-binder and anbox-ashmen.

 

Cat of /var/lib/dkms/anbox-binder/1/build/make.log is following:

 

DKMS make.log for anbox-binder-1 for kernel 5.10.110-rockchip-rk3588 (aarch64)
Mi 22. Feb 22:22:42 CET 2023
make -C /lib/modules/5.10.110-rockchip-rk3588/build V=0 M=$PWD
make[1]: Entering directory '/usr/src/linux-headers-5.10.110-rockchip-rk3588'
  CC [M]  /var/lib/dkms/anbox-binder/1/build/deps.o
  CC [M]  /var/lib/dkms/anbox-binder/1/build/binder.o
  CC [M]  /var/lib/dkms/anbox-binder/1/build/binder_alloc.o
  CC [M]  /var/lib/dkms/anbox-binder/1/build/binderfs.o
In file included from ././include/linux/kconfig.h:7,
                 from <command-line>:
./include/generated/autoconf.h:1720: warning: "CONFIG_ANDROID_BINDER_DEVICES" redefined
error, forbidden warning:autoconf.h:1720
 1720 | #define CONFIG_ANDROID_BINDER_DEVICES "binder,hwbinder,vndbinder,anbox-binder,anbox-hwbinder,anbox-vndbinder"
      | 
<command-line>: note: this is the location of the previous definition
In file included from ././include/linux/kconfig.h:7,
                 from <command-line>:
./include/generated/autoconf.h:2246: warning: "CONFIG_ANDROID_BINDERFS" redefined
error, forbidden warning:autoconf.h:2246
 2246 | #define CONFIG_ANDROID_BINDERFS 1
      | 
<command-line>: note: this is the location of the previous definition
/var/lib/dkms/anbox-binder/1/build/deps.c:20:3: error: #error "Your kernel does not support KProbes, but this is required to compile binder as a kernel module on kernel 5.7 and later"
   20 | # error "Your kernel does not support KProbes, but this is required to compile binder as a kernel module on kernel 5.7 and later"
      |   ^~~~~
make[2]: *** [scripts/Makefile.build:273: /var/lib/dkms/anbox-binder/1/build/deps.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from ././include/linux/kconfig.h:7,
                 from <command-line>:
./include/generated/autoconf.h:1720: warning: "CONFIG_ANDROID_BINDER_DEVICES" redefined
error, forbidden warning:autoconf.h:1720
 1720 | #define CONFIG_ANDROID_BINDER_DEVICES "binder,hwbinder,vndbinder,anbox-binder,anbox-hwbinder,anbox-vndbinder"
      | 
<command-line>: note: this is the location of the previous definition
In file included from ././include/linux/kconfig.h:7,
                 from <command-line>:
./include/generated/autoconf.h:2246: warning: "CONFIG_ANDROID_BINDERFS" redefined
error, forbidden warning:autoconf.h:2246
 2246 | #define CONFIG_ANDROID_BINDERFS 1
      | 
<command-line>: note: this is the location of the previous definition
/var/lib/dkms/anbox-binder/1/build/binder.c: In function 'binder_translate_binder':
/var/lib/dkms/anbox-binder/1/build/binder.c:2456:49: error: passing argument 1 of 'security_binder_transfer_binder' from incompatible pointer type [-Werror=incompatible-pointer-types]
 2456 |         if (security_binder_transfer_binder(proc->tsk, target_proc->tsk)) {
      |                                             ~~~~^~~~~
      |                                                 |
      |                                                 struct task_struct *
In file included from /var/lib/dkms/anbox-binder/1/build/binder.c:63:
./include/linux/security.h:258:56: note: expected 'const struct cred *' but argument is of type 'struct task_struct *'
  258 | int security_binder_transfer_binder(const struct cred *from,
      |                                     ~~~~~~~~~~~~~~~~~~~^~~~
/var/lib/dkms/anbox-binder/1/build/binder.c:2456:67: error: passing argument 2 of 'security_binder_transfer_binder' from incompatible pointer type [-Werror=incompatible-pointer-types]
 2456 |         if (security_binder_transfer_binder(proc->tsk, target_proc->tsk)) {
      |                                                        ~~~~~~~~~~~^~~~~
      |                                                                   |
      |                                                                   struct task_struct *
In file included from /var/lib/dkms/anbox-binder/1/build/binder.c:63:
./include/linux/security.h:259:56: note: expected 'const struct cred *' but argument is of type 'struct task_struct *'
  259 |                                     const struct cred *to);
      |                                     ~~~~~~~~~~~~~~~~~~~^~
/var/lib/dkms/anbox-binder/1/build/binder.c: In function 'binder_translate_handle':
/var/lib/dkms/anbox-binder/1/build/binder.c:2506:49: error: passing argument 1 of 'security_binder_transfer_binder' from incompatible pointer type [-Werror=incompatible-pointer-types]
 2506 |         if (security_binder_transfer_binder(proc->tsk, target_proc->tsk)) {
      |                                             ~~~~^~~~~
      |                                                 |
      |                                                 struct task_struct *
In file included from /var/lib/dkms/anbox-binder/1/build/binder.c:63:
./include/linux/security.h:258:56: note: expected 'const struct cred *' but argument is of type 'struct task_struct *'
  258 | int security_binder_transfer_binder(const struct cred *from,
      |                                     ~~~~~~~~~~~~~~~~~~~^~~~
/var/lib/dkms/anbox-binder/1/build/binder.c:2506:67: error: passing argument 2 of 'security_binder_transfer_binder' from incompatible pointer type [-Werror=incompatible-pointer-types]
 2506 |         if (security_binder_transfer_binder(proc->tsk, target_proc->tsk)) {
      |                                                        ~~~~~~~~~~~^~~~~
      |                                                                   |
      |                                                                   struct task_struct *
In file included from /var/lib/dkms/anbox-binder/1/build/binder.c:63:
./include/linux/security.h:259:56: note: expected 'const struct cred *' but argument is of type 'struct task_struct *'
  259 |                                     const struct cred *to);
      |                                     ~~~~~~~~~~~~~~~~~~~^~
/var/lib/dkms/anbox-binder/1/build/binder.c: In function 'binder_translate_fd':
/var/lib/dkms/anbox-binder/1/build/binder.c:2598:49: error: passing argument 1 of 'security_binder_transfer_file' from incompatible pointer type [-Werror=incompatible-pointer-types]
 2598 |         ret = security_binder_transfer_file(proc->tsk, target_proc->tsk, file);
      |                                             ~~~~^~~~~
      |                                                 |
      |                                                 struct task_struct *
In file included from /var/lib/dkms/anbox-binder/1/build/binder.c:63:
./include/linux/security.h:260:54: note: expected 'const struct cred *' but argument is of type 'struct task_struct *'
  260 | int security_binder_transfer_file(const struct cred *from,
      |                                   ~~~~~~~~~~~~~~~~~~~^~~~
/var/lib/dkms/anbox-binder/1/build/binder.c:2598:67: error: passing argument 2 of 'security_binder_transfer_file' from incompatible pointer type [-Werror=incompatible-pointer-types]
 2598 |         ret = security_binder_transfer_file(proc->tsk, target_proc->tsk, file);
      |                                                        ~~~~~~~~~~~^~~~~
      |                                                                   |
      |                                                                   struct task_struct *
In file included from /var/lib/dkms/anbox-binder/1/build/binder.c:63:
./include/linux/security.h:261:54: note: expected 'const struct cred *' but argument is of type 'struct task_struct *'
  261 |                                   const struct cred *to, struct file *file);
      |                                   ~~~~~~~~~~~~~~~~~~~^~
/var/lib/dkms/anbox-binder/1/build/binder.c: In function 'binder_transaction':
/var/lib/dkms/anbox-binder/1/build/binder.c:3001:53: error: passing argument 1 of 'security_binder_transaction' from incompatible pointer type [-Werror=incompatible-pointer-types]
 3001 |                 if (security_binder_transaction(proc->tsk,
      |                                                 ~~~~^~~~~
      |                                                     |
      |                                                     struct task_struct *
In file included from /var/lib/dkms/anbox-binder/1/build/binder.c:63:
./include/linux/security.h:256:52: note: expected 'const struct cred *' but argument is of type 'struct task_struct *'
  256 | int security_binder_transaction(const struct cred *from,
      |                                 ~~~~~~~~~~~~~~~~~~~^~~~
/var/lib/dkms/anbox-binder/1/build/binder.c:3002:60: error: passing argument 2 of 'security_binder_transaction' from incompatible pointer type [-Werror=incompatible-pointer-types]
 3002 |                                                 target_proc->tsk) < 0) {
      |                                                 ~~~~~~~~~~~^~~~~
      |                                                            |
      |                                                            struct task_struct *
In file included from /var/lib/dkms/anbox-binder/1/build/binder.c:63:
./include/linux/security.h:257:52: note: expected 'const struct cred *' but argument is of type 'struct task_struct *'
  257 |                                 const struct cred *to);
      |                                 ~~~~~~~~~~~~~~~~~~~^~
/var/lib/dkms/anbox-binder/1/build/binder.c: In function 'binder_ioctl_set_ctx_mgr':
/var/lib/dkms/anbox-binder/1/build/binder.c:4956:51: error: passing argument 1 of 'security_binder_set_context_mgr' from incompatible pointer type [-Werror=incompatible-pointer-types]
 4956 |         ret = security_binder_set_context_mgr(proc->tsk);
      |                                               ~~~~^~~~~
      |                                                   |
      |                                                   struct task_struct *
In file included from /var/lib/dkms/anbox-binder/1/build/binder.c:63:
In file included from ././include/linux/kconfig.h:7,
                 from <command-line>:
./include/generated/autoconf.h:1720: warning: "CONFIG_ANDROID_BINDER_DEVICES" redefined
error, forbidden warning:autoconf.h:1720
 1720 | #define CONFIG_ANDROID_BINDER_DEVICES "binder,hwbinder,vndbinder,anbox-binder,anbox-hwbinder,anbox-vndbinder"
      | 
<command-line>: note: this is the location of the previous definition
In file included from ././include/linux/kconfig.h:7,
                 from <command-line>:
./include/generated/autoconf.h:2246: warning: "CONFIG_ANDROID_BINDERFS" redefined
error, forbidden warning:autoconf.h:2246
 2246 | #define CONFIG_ANDROID_BINDERFS 1
      | 
<command-line>: note: this is the location of the previous definition
make[2]: *** [scripts/Makefile.build:273: /var/lib/dkms/anbox-binder/1/build/binderfs.o] Error 1
make[2]: *** Deleting file '/var/lib/dkms/anbox-binder/1/build/binderfs.o'
In file included from ././include/linux/kconfig.h:7,
                 from <command-line>:
./include/generated/autoconf.h:1720: warning: "CONFIG_ANDROID_BINDER_DEVICES" redefined
error, forbidden warning:autoconf.h:1720
 1720 | #define CONFIG_ANDROID_BINDER_DEVICES "binder,hwbinder,vndbinder,anbox-binder,anbox-hwbinder,anbox-vndbinder"
      | 
<command-line>: note: this is the location of the previous definition
In file included from ././include/linux/kconfig.h:7,
                 from <command-line>:
./include/generated/autoconf.h:2246: warning: "CONFIG_ANDROID_BINDERFS" redefined
error, forbidden warning:autoconf.h:2246
 2246 | #define CONFIG_ANDROID_BINDERFS 1
      | 
<command-line>: note: this is the location of the previous definition
make[2]: *** [scripts/Makefile.build:273: /var/lib/dkms/anbox-binder/1/build/binder_alloc.o] Error 1
make[2]: *** Deleting file '/var/lib/dkms/anbox-binder/1/build/binder_alloc.o'
./include/linux/security.h:255:56: note: expected 'const struct cred *' but argument is of type 'struct task_struct *'
  255 | int security_binder_set_context_mgr(const struct cred *mgr);
      |                                     ~~~~~~~~~~~~~~~~~~~^~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:273: /var/lib/dkms/anbox-binder/1/build/binder.o] Error 1
make[1]: *** [Makefile:1920: /var/lib/dkms/anbox-binder/1/build] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.10.110-rockchip-rk3588'
make: *** [Makefile:8: all] Error 2

 

Cat of /var/lib/dkms/anbox-ashmem/1/build/make.log is following:

DKMS make.log for anbox-ashmem-1 for kernel 5.10.110-rockchip-rk3588 (aarch64)
Mi 22. Feb 22:22:37 CET 2023
make -C /lib/modules/5.10.110-rockchip-rk3588/build V=0 M=$PWD
make[1]: Entering directory '/usr/src/linux-headers-5.10.110-rockchip-rk3588'
  CC [M]  /var/lib/dkms/anbox-ashmem/1/build/deps.o
  CC [M]  /var/lib/dkms/anbox-ashmem/1/build/ashmem.o
/var/lib/dkms/anbox-ashmem/1/build/deps.c:9:3: error: #error "Your kernel does not support KProbes, but this is required to compile ashmem as a kernel module on kernel 5.7 and later"
    9 | # error "Your kernel does not support KProbes, but this is required to compile ashmem as a kernel module on kernel 5.7 and later"
      |   ^~~~~
make[2]: *** [scripts/Makefile.build:273: /var/lib/dkms/anbox-ashmem/1/build/deps.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:1920: /var/lib/dkms/anbox-ashmem/1/build] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.10.110-rockchip-rk3588'
make: *** [Makefile:12: all] Error 2

 

Edited by Prax

sudo apt remove dkms

 

wget http://imola.armbian.com/beta/pool/main/l/linux-5.10.110-rockchip-rk3588/linux-image-legacy-rockchip-rk3588_23.02.2_arm64.deb

sudo dpkg --force-all -i linux-image-legacy-rockchip-rk3588_23.02.2_arm64.deb

sudo reboot

sudo apt install waydroid

sudo waydroid init

 

Edited by royk

  • Author

That fixed the problem. Thanks a lot! :)

 

Now I only have to find a option to remote connect using wayland instead of x11.

 

 

  • Author

It is installed and I enabled it but I cant connect. Is there any config I have to do to use it?

I don't know with what you try to connect it to, if you try to connect with vnc then "Enable legacy vnc protocol".

It could be that the notification to accept the client was not visible, you could set "Require password" (3 dots after legacy vnc protocol) as workaround.

 

  • Author

Tried with mstsc and with vnc can't connect. When I check grdctl status there isn't any credentials set while they are set in the ui. I also can't set credentials using grdctl, getting the error: "Cannot create an item in a locked collection"

 

 

If I try to connect:

VNC literally nothing happens client hangs trying to connect

RDP I get asked for credentials, afterwards I have to confirm the cert and then it closes suddenly without a error.

Edited by Prax

  • Author

I activated it by gui but I can't connect. Do I have to log off with the user before I can login remote?

 

Edit: When I log off localy I can connect but I get a black screen and get disconnected after like 10 seconds

Edited by Prax

  • Author

xrdp was still enabled from armbian-config. I disabled and remove xrdp.

 

Now I just cant login... getting an error from gnome-remote-desktop on the orangepi5 

 

Feb 23 20:32:29 orangepi5 gnome-remote-desktop-daemon[6118]: Cannot load libcuda.so.1
Feb 23 20:32:29 orangepi5 gnome-remote-desktop-daemon[6118]: Cannot load libnvidia-encode.so.1
 

Did you set:

Enable legacy vnc protocol with "require password"

filled in a username and password

Updated the package

Try to connect with ip address instead of hostname

 

Maybe there is a firewall in between or another service on the OPI running on the same port?

  • Author

Yes I set all of this and updated the package.

 

Think it was xrdp but removing it and rebooting didnt fixed it.

Perhaps you've installed something  for nvidia?

Check:  apt list --installed *nvidia*   if you find something from nvidia and remove with sudo apt remove ....

  • Author

Im just an idiot ... tried to connect while no display was connected. If I just connect a display there is no problem.

 

Is there any option to use rdp or vnc without a attached display?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.