I used to hate android emulators, since the ones I’d tested on Windows were ad-ridden, slow bloatware.
The other day I needed to run an android app on Fedora 40.
I tried Waydroid and it worked very well. The app ran supersmooth as if it was running natively.
Also the cli syntax was very sane an user friendly.
waydroid app install|run|list …
So if you need an Android app on linux the experience might be better than what you think it would be.
I tried Waydroid and it worked very well. The app ran supersmooth as if it was running natively.
thats because it was running natively
I think a part of your positive experience is also thanks to Linux. Android emulation works better on it because the difference between Linux and Android is not that big and definitely not as big as between Windows and Android. Though Waydroid rocks anyways
The documentation says:
Waydroid uses Linux namespaces (user, pid, uts, net, mount, ipc) to run a full Android system in a container and provide Android applications on any GNU/Linux-based platform.
To my understanding this isn’t even emulation but regular container technology.
Yes, Waydroid uses lxc containers.
Wouldn’t some Android Apps require specific builds for x86 architectures? Does Android take care of that?
most android apps are architecure agnostic “java, kotlin etc” and even apps that are often ship “Universal binaries” which include x86, or split builds for arm and x86
If you need arm, then you probably have to install libhoudini https://github.com/casualsnek/waydroid_script
It took a long long time until Android emulators on Linux worked even close to what has been available on Windows.
But now the windows one is getting scrapped whereas Waydroid is presumably sticking around.
Android emulation works better on it because the difference between Linux and Android is not that big
To be clear, the difference between Linux and Android is about the same as the difference between Linux and Fedora, in that they are both Linuxes. That’s why this works, and why the reverse (running GNU/Linux apps and even entire systems on Android) is possible as well.
I meant a desktop Linux distro, not the kernel itself. And Android has a ton of bloatware on top of it so it’s not really the same thing. Android has like a double decker kernel
AOSP doesn’t have that much bloat, it’s far lighter then your typical linux distro, It’s vendors that bloat it up, Custom roms are extremely light, This is BlissOS running on 2Gb of ram https://files.catbox.moe/4n17z3.mp4.
It’s far more responsive then many linux distros would be since android and it’s applications are optimized around low ram and low system resource in general
Android can run on 2Gb but the experience won’t be great. Linux with something like JWM or Xfce runs way better. Android 12 and higher are especially heavy. You can notice it by comparing on relatively low end devices (with like a Unisoc T606 or something). Android 14 runs better but it has ads-related stuff in it. And Android kernel itself has a lot of unnecessary stuff. They say it’s better for performance but bruh how can a more bloated thing be better? Real tests speak for themselves. Don’t trust theory and Google’s changelogs.
Used it but couldn’t play any media on it, which was going to be my use case. Nvidia!!!. But the devs and the community are quite patient and helpful in their telegram channel.
The app ran super smooth as if it was running natively
That’s because it is native! Waydroid runs an android container on top of your existing kernel. You will notice that you can even see the Android processes while running Waydroid in a top utility.
Although the Android kernel is slightly customized isn’t it? I thought it exposed a few extra syscalls. How do these work on Waydroid?
some android kernels are, but AOSP itself can run perfectly happy on a vanilla kernel, just make sure your kernel was compilled with BINDER enabled, which yes, is upstream
I had a similar positive experience with Gamescope, which tamed a game that freaked out every time I moved the moude onto the other monitor.
Maybe Wayland’s healthy place is as a secondary window system you launch inside your normal X11 session.
Maybe Wayland’s healthy place is as a secondary window system you launch inside your normal X11 session.
Yeah you’ve got that perfectly backwards.
Wayland allows X11 apps to open using XWayland. Not the other way around.Xorg’s life is running short and will be largely abandoned in the near future.
deleted by creator
see reply to casey’s replly
Yeah, it can’t run stuff compiled for ARM, right?
I hit a speed bump and I haven’t had time to fully investigate but I too would like to run games.What if Fedora is running on ARM?
it should have pretty good support but you may need to use this script to spoof the device for some stuff https://github.com/Quackdoc/waydroid-scripts/blob/main/spoof-device.sh
we can if you load libhoudini or libndk, but both are proprietary so they arent included by default, casual snek’s waydroid-extras
Ooh, thank you. I’ll try that tonight.