pop-os / linux

Pop!_OS fork of https://launchpad.net/ubuntu/+source/linux
Other
111 stars 13 forks source link

Add `binder` and `ashmem` kernel modules #173

Closed SkyfallWasTaken closed 10 months ago

SkyfallWasTaken commented 1 year ago

Most Ubuntu-based distros ship the binder and ashmem kernel modules. However, Pop!_OS does not. These modules are required for Android emulators, such as Anbox (which requires binder and ashmem) and Waydroid (which only requires binder). I did find two issues about this (https://github.com/pop-os/linux/issues/113 and https://github.com/pop-os/linux/issues/39) but they suggest installing a new kernel, which I don't really feel comfortable with.

Fuseteam commented 1 year ago

considering upstream dropped ashmem in favor of memfd since 5.18, i think people shouldn't use anbox anymore. So just binderfs should be enough

Fuseteam commented 1 year ago

@SkyfallWasTaken could you test 2 things for me?

SkyfallWasTaken commented 1 year ago

@Fuseteam

can check if memfd is enabled with grep -E '(MEMFD)' /boot/config-$(uname -r)? feel free to share the output

image

can you check if these steps enable binder on pop-os?

No, sorry, it errors with this:

❯ ./installBinder
Cloning into 'binder-module'...
remote: Enumerating objects: 158, done.
remote: Counting objects: 100% (65/65), done.
remote: Compressing objects: 100% (42/42), done.
remote: Total 158 (delta 24), reused 42 (delta 15), pack-reused 93
Receiving objects: 100% (158/158), 189.42 KiB | 1.91 MiB/s, done.
Resolving deltas: 100% (44/44), done.
sudo: unable to resolve host hypex-pc: Name or service not known
[sudo] password for skyfall:
sudo: unable to resolve host hypex-pc: Name or service not known
sudo: unable to resolve host hypex-pc: Name or service not known
Creating symlink /var/lib/dkms/binder-linux/1/source -> /usr/src/binder-linux-1

Kernel preparation unnecessary for this kernel. Skipping...

Building module:
cleaning build area...(bad exit status: 2)
make -j8 KERNELRELEASE=6.0.2-76060002-generic all KERNEL_SRC=/lib/modules/6.0.2-76060002-generic/build.....(bad exit status: 2)
ERROR (dkms apport): binary package for binder-linux: 1 not found
Error! Bad return status for module build on kernel: 6.0.2-76060002-generic (x86_64)
Consult /var/lib/dkms/binder-linux/1/build/make.log for more information.

It's worth noting that Pop!_OS updates the kernel faster than Ubuntu does (It's on 6.0.2 now instead of the previous 5.18)

Fuseteam commented 1 year ago

that's fine that repo is a fork of one that is independent of distros, i might have messed up somewhere then hmmm

Fuseteam commented 1 year ago

ah i think i found it, @SkyfallWasTaken can you try git pull in your cloned directory and retry the steps?

assuming you didn't undo the changes, basically

cd binder-module
git pull
cp -rT binder /usr/src/binder-linux-1
dkms install binder-linux/1
SkyfallWasTaken commented 1 year ago

Sorry, the dkms command has still got the same error:

❯ sudo dkms install binder-linux/1
sudo: unable to resolve host hypex-pc: Name or service not known

Kernel preparation unnecessary for this kernel. Skipping...

Building module:
cleaning build area...(bad exit status: 2)
make -j8 KERNELRELEASE=6.0.2-76060002-generic all KERNEL_SRC=/lib/modules/6.0.2-76060002-generic/build.....(bad exit status: 2)
ERROR (dkms apport): binary package for binder-linux: 1 not found
Error! Bad return status for module build on kernel: 6.0.2-76060002-generic (x86_64)
Consult /var/lib/dkms/binder-linux/1/build/make.log for more information.
Fuseteam commented 1 year ago

well darn it, i'll look deeper into it when i have the time

JamiKettunen commented 11 months ago

ASHMEM was dropped from mainline kernel in 5.18, but BINDERFS appears to be enabled even on the v6.2 kernel of the 22.04-based live ISO. I think all needed Waydroid options are now enabled by default?

Fuseteam commented 11 months ago

@SkyfallWasTaken can you confirm?

SkyfallWasTaken commented 11 months ago

@Fuseteam Unfortunately, I no longer use Linux, so I can't test this out. Sorry :(

Fuseteam commented 10 months ago

Ah no worries