Anbox will never be supported as a snap, remember it's a classic snap, not confined. It actually relies on the host being Ubuntu.
We'd need to package up the kernel modules (i.e. -current style split) and Anbox ourselves.
I think being able to run Android apps out of the box could be a killer feature on top of Budgie.
Unfortunately Anbox relies heavily on Ubuntu-specific tools, like classic snaps.
It is not even updated for the latest Ubuntu 18.04 LTS. https://github.com/anbox/anbox/issues/565
Packaging Anbox for Solus would probably require re-working some of the raw Anbox components, a task to be sure.
Because this feature is highly sought after though, and could help fill a lot of the desktop app shortfall on Linux, it's worth exploring.
Particularly since Chrome OS will now run Linux apps and Windows is shipping a Linux shell, I think being able to run Android apps would keep Linux competitive, take a bit from macOS.
I also expect to see a push to get Anbox running in the Ubuntu Touch project now run by UBports on the Librem 5.
Anbox can actually run on Solus (as in, it opens an empty window then crashes), it just needs the kernel modules required by Anbox itself (ashmem and binder) to fully work AFAIK. You can install the Anbox snap using the edge channel:
snap install --edge --devmode anbox
This is confirmed by what the lead developer on Anbox says here:
Ultimately every distribution would include the kernel modules in their archive so that users can install them out of the box and then just need the snap on top.
However I think for Solus it would make sense to then package everything in an eopkg, to avoid the classic snap issue.
It seems like a script could:
- Install basic building tools: git, cmake, kernel sources, via eopkg.
- Build and install the required kernel modules for Anbox. https://github.com/anbox/anbox/tree/master/kernel
- Install the build dependencies for Anbox listed in the snap package, via eopkg. https://github.com/anbox/anbox/blob/master/snapcraft.yaml
- Build anbox directly using cmake.
- Generate a .desktop file for end-users.
Provided all the dependencies are there and up to date. And there's not some other issue that's bound to appear.
Is eopkg in a place where it's worth attempting the above from within a eopkg file, or is script the way to go? I would appreciate some thoughts.
I have started work on the outlines of an install script for Solus.
So far I have run into some cmake issues.
I am working with Anbox developer over there in a thread too.
Also I have identified three dependencies that may need to built from scratch because they are not in the Solus repo currently.
I will need help with parts of the script building and install kernel modules.
I will also need help resolving these cmake issues and the three dependencies. They may become requests for packages down the line.
I do believe the speed of Solus is a killer feature, I think OOTB Android app support from Anbox would be a second killer feature. If we can make it work.
Instead of being forced to buy Google's Chrome OS with the option to run Linux apps, you can buy any x86 hardware, plus Solus on it, and have the option to run Android apps.
It would be a better, more secure, less corporate-dependent convergence of desktop and mobile apps.