How to use Android apps on Manjaro (Waydroid/Anbox)

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

The latest Waydroid-BETA from their own repo’s have the option to install the GAPPS image by default, check their website: Waydroid | Android in a Linux container
A little post-setup is needed to make the Playstore functional: Google Play Certification | Waydroid

FYI: I’m using Waydroid (on Kubuntu) with nVidia GFX, and the only problem so far i have is that video’s in adverts and some games don’t display, rest is “ok” so far…

1 Like

Thanks. I noticed it, but since I managed to run the default Waydroid, I thought there is no reason to go back, change the version just to get the Google Play store, especially that theoretically you can have Aurora store on any version.

Because I had some initial troubles with F-Droid, I couldn’t find Aurora there, but now that I got it working, I removed previously installed Aurora from APK and installed it from F-Droid and it finally works!

So I got Skyshowtime and Disney+ from Aurora and they have the same issues. Disney is not a real problem, because I can get it just from the browser on Linux, but Skyshowtime behaves in the same was as from APK, that is: it is minimizing and then eventually crashes, without playing anything.

Since most apps work more or less, I assume the issue is somehow with the app itself and the hardware (not a phone) or maybe with the software (waydroid not working nicely with some apps).

@TriMoon, do you have Disney+ or Skyshowtime? If so, can you try them on Waydroid? This would show if the issue is only on my side or specific to Waydroid on PC/laptop. Maybe I’ll add HBO Max and see if it also has some problems.
EDIT: HBO Max shows similar issues like Disney+. It is so quiet that there is no sound, I can see subtitles, but there is no image, just a black screen. Looks like streaming video apps won’t work correctly either way. Can you check any streaming app you have?

:point_up: :point_up_2:

Which will not work as the device is not trusted.

It appears it is easier than I first thought - as linked by @TriMoon

A lot of apps out there is created with the assumption that Ubuntu is the defacto standard - which may explain why @TriMoon has lesser issues than me :slight_smile:

1 Like