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
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.
this is not really quite true, we have always been able to run androidx86/BlissOS in qemu which works about "as well" but with less integration, IE no "native like" windows
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.
Wouldn't some Android Apps require specific builds for x86 architectures? Does Android take care of that?
If you need arm, then you probably have to install libhoudini https://github.com/casualsnek/waydroid_script
libhoudini is optimized for Intel, NDK for AMD, but some apps may be incompatible with one or the other.
A lot of android apps are built using Java/Kotlin, so you don't actually need to care about architecture since the JVM supports both x86_64 and arm64.
There are exceptions to this though, since some apps need to run native code. Those apps would need some sort of emulation/translation layer for the arm instructions.
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
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.
This is for the general case, size doesn't always translate to performance. I haven't read the AOSP source so I wouldn't know for sure, but the general case for any algorithm is that. Sometimes having more code can result in faster performance due to how the algorithm works.
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?
https://wiki.archlinux.org/title/Waydroid#Kernel_Modules
You must use a kernel with the android-specific modules compiled in, or use the binder_linux-dkms
module. I've noticed using a kernel with them built in is generally easier to get working.
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 just tried it 3 days ago on Fedora 40, Did not run for me.
Followed their wiki
How did you setup?
I don't remember tbh. I installed it a couple of years ago but used it for the first only recently.
Yeah I tried it on pop os a while back and never could get it running at all
Are yiu sure you're running Wayland and not X11?
Actually I was thinking of my arch system. You're right, I'm on x11
Yeah I'm on Wayland
At what point did it not work for you? I just got it running on Fedora 40 following their wiki.
Failed to get service waydroidplatform
on doing waydroid app install myapk.apk
ERROR: WayDroid container service is already running
IT says already running on doing sudo waydroid container start
I got it into android "desktopt" previously, but now after rebooting and trying to install an apk it seems to no longer be opening at all. Sorry :/
Edit: I just uninstalled and reinstalled via the software Center and now it works and I could install F-Droid.
You need a custom kernel, or a kernel module plus DKMS and kernel headers for your current kernel.
You also need the package that handles whatever filesystem they use for their containers.
Then, you need to be running it on Wayland or else it doesn't work.
The part that I'm stuck on is running games, which gives an error about not being able to find libmain.so, which might be an architecture mismatch problem. Maybe I can virtualize that part? But at that point I might as well just buy a phone.
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 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.
I admire your optimism but some governments are still using floppy disks.
I don't see how this matters lol, as govt will happily used abandoned media and software.
We're here talking end users and homelabs, not IBM mainframe maintainers 😛
I think I'd be a lot more excited about Wayland if I felt like I can get a compositor that matches my tastes.
I want to iconify things to the desktop, not relying on a taskbar-alike. Nothing seems to offer that. Hell, the taskbar is often a third party program.
I want to double-click to shade. Labwc just added this, a feature that X11 window managers have been offering since the 90s.
I want an aesthetic that's got real depth and skeumorphism, rather that flat and featureless. Maybe something offers that, but there are plenty of X11 choices that have beveled buttons out of the box.
The charm of Unix systems used to be flexibility, buy Wayland seems to be an extinction-level event for traditional window management. Nothing fills the gap of FVWM or WindowMaker. But gosh, I can get 92 flavours of tiling compositor and windows that ripple when dragged.
The charm of Unix systems used to be flexibility, buy Wayland seems to be an extinction-level event for traditional window management. Nothing fills the gap of FVWM or WindowMaker. But gosh, I can get 92 flavours of tiling compositor and windows that ripple when dragged.
I think this is "temporarily" true as we get more kits that make wayland development trivial I think it wont be so bad, right now wayland is still very immature, and will be for a long time.
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.
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0