Skyshowtime platform is blocked on Linux from some unknown reasons:
So I thought, I just run Android in container and try to access it from there. It turned out to be impossible task.
Anbox - most known and most written about app, simply is dead. When installed from AUR, many packages are installed, but some fail to compile. Therefore, snap version is recommended. However, it also doesn’t work… Basically, snap version doesn’t even start because some library is missing, so it looks like the snap is abandoned as well.
Moving on to Waydroid - it works only in Wayland session. For me Wayland in Plasma works well, so I gave it a try.
Here is the Arch wiki info about it:
https://wiki.archlinux.org/title/Waydroid
The issue is, it needs some specific kernel modules on Arch. However, since Manjaro kernels are different, I just tried and… it works, without any compiled kernel or kernel from AUR, or even without DKMs.
Running Waydroid is convoluted and requires several steps, but in the end, the app screen started.
If someone wants, I can post a guide how to do it.
Nevertheless, it looks like it still is not the end of the problems, because apps misbehave, or at least the apps that are installed from apks.
There is no (easy) way to get Google’s Play store on Waydroid, so it is advised to use Aurora store (alternative frontend of Play Store) and F-Droid. Both are not installed by default, so the only way to get them is to install them via apk files. So I did. Found the newest versions, installed, all worked well.
F-Droid
It runs, but shows “app not found” when clicking on any recommended app. Restarting it shows just empty lists - it never updates from repos. When memory is cleared, F-Droid works, we can install apps, but then in next run it shows the empty list again… So clearly, something is very, very wrong. Apps installed via F-Droid seem to work: K-Mail, Spotube, Simple Notes, Tasks, etc.
Aurora
It starts, show first configuration steps and then asks us to log in. I chose Google log in, was successful and when the main screen with apps showed up, the app crashed. Every new attempt to run it just crashes it instantaneously. Clearing internal memory leads us to the same events: configuration, log in, then eventually crashes.
Skyshowtime
Since this was the main reason I wanted to try it, I just installed Skyshowtime from apk file (the version for Android, not for Android TV). It starts, lets me log in but crashes when I get to any movie or show window. Memory clearing doesn’t help. Restarting system, restarting Waydroid sessions, still nothing.
Clearly, something is not working correctly with Waydroid. Default installed apps work, some apps like weather app also work, but any more complex just crashes.
I installed Manjaro DKMs, but it changed nothing. Is it the kernel that is the problem? Or are apps trying to get some hardware acceleration and can’t since this is in container, so they crash? Am I missing some optional dependencies?
Has anyone successfully run Waydroid without so many apps issues?
Can someone from Manjaro team confirm if Manjaro kernel has the needed modules? I think so, because Waydroid starts without issues, and many of the apps also work as intended. I suspect if the issue were with the modules, Waydroid or any apps wouldn’t work at all.
When trying to use Skyshowtime, it generate in logs:
(014768) [09:44:39] % tail -n 60 -F /var/lib/waydroid/waydroid.log
(014768) [09:44:39] *** output passed to waydroid stdout, not to this log ***
I’m not sure what is waydroid stdout and how to access it. The path given above is the path to the full log file.
The same lines showed up when I tried using Aurora.
Here is the info about Manjaro kernel supporting Android. Any details what it means? Is it OK or missing something? For me it looks OK, since it shows =y, but I may be wrong.
michaldybczak alienware-PC ~ zgrep -i -e android -e memfd -e ashmem /proc/config.gz
CONFIG_X86_ANDROID_TABLETS=m
# Android
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
# CONFIG_ANDROID_BINDER_IPC_SELFTEST is not set
# end of Android
CONFIG_MEMFD_CREATE=y
EDIT: I tried Disney+ from APK and it runs, but when I try to play the video, it informs me that it plays in full screen mode, I hear the sound (very quietly thou) but the screen is black, as if the output was to some other screen.
waydroidusermonitor: Received transaction: 2