211
submitted 6 months ago by mfat to c/linux@lemmy.ml

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.

you are viewing a single comment's thread
view the rest of the comments
[-] GolfNovemberUniform@lemmy.ml 56 points 6 months ago

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

[-] bjoern_tantau@swg-empire.de 29 points 6 months ago

It took a long long time until Android emulators on Linux worked even close to what has been available on Windows.

[-] planish@sh.itjust.works 14 points 6 months ago

But now the windows one is getting scrapped whereas Waydroid is presumably sticking around.

[-] Quackdoc@lemmy.world 1 points 6 months ago* (last edited 6 months ago)

google play games is still really good, it's more or less just android inside of crosvm, usually android emulators are based on virtualbox, some are based on qemu

[-] Quackdoc@lemmy.world 6 points 6 months ago

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

[-] d_k_bo@feddit.de 28 points 6 months ago

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.

[-] lemmyreader@lemmy.ml 13 points 6 months ago* (last edited 6 months ago)

Yes, Waydroid uses lxc containers.

[-] alteredEnvoy@sopuli.xyz 9 points 6 months ago

Wouldn't some Android Apps require specific builds for x86 architectures? Does Android take care of that?

[-] progandy@feddit.de 16 points 6 months ago

If you need arm, then you probably have to install libhoudini https://github.com/casualsnek/waydroid_script

[-] Quackdoc@lemmy.world 5 points 6 months ago

libhoudini is optimized for Intel, NDK for AMD, but some apps may be incompatible with one or the other.

[-] Zangoose@lemmy.one 9 points 6 months ago

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.

[-] Quackdoc@lemmy.world 5 points 6 months ago

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

[-] beyond@linkage.ds8.zone 4 points 6 months ago* (last edited 6 months ago)

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.

[-] GolfNovemberUniform@lemmy.ml 5 points 6 months ago* (last edited 6 months ago)

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

[-] Quackdoc@lemmy.world 3 points 6 months ago

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

[-] GolfNovemberUniform@lemmy.ml -1 points 6 months ago* (last edited 6 months ago)

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.

[-] bitfucker@programming.dev 2 points 6 months ago

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.

[-] Quackdoc@lemmy.world 2 points 6 months ago

its easy to test BlissOS is open source and can be installed on any relatively modern PC or in a VM, coms with foss and gapps variants, install foss

[-] GolfNovemberUniform@lemmy.ml 1 points 6 months ago

Yes but let's judge based on the practical tests and not the theoretical stuff

[-] bitfucker@programming.dev 1 points 6 months ago

I am merely rebutting your point about how more stuff can make things perform faster. Multi-tasking comes to mind. In a simple program, a task may be run in a procedural manner without interruption. Say for example, network access. The network stack must wait for the reply to arrive, but since the program is simple, it really is waiting for it doing nothing, wasting time that can be used to perform other computations. So the code will get bigger, but the performance is increased by reducing time wasted waiting for resources. By size alone, it is more bloated, but it is increasing performance. And as I said, I haven't looked at AOSP source code so my comment is not directed towards that point as I have no knowledge about low level android stuff.

[-] Quackdoc@lemmy.world 1 points 6 months ago

this really isn't true at all. android works great on 2Gb of ram, you don't really hit issues until you load gapps. If you don't it works great. I actually run BlissOS on my old Asus t100ta and Im not the only one.

When you do nothing something like xfce works great, but when you actually start doing things like browsing the web, watching youtube etc then it starts to really become a slog. Meanwhile something like BlissOS is actually usable even when watching 1440p content (gpu not strong enough to test UHD)

[-] GolfNovemberUniform@lemmy.ml 1 points 6 months ago

I didn't mean that Android is bad. What I meant originally is that Android is getting less efficient and slower for no reason over time.

[-] Quackdoc@lemmy.world 1 points 6 months ago

This is for sure the case for vendor solutions, but AOSP itself is still quite the lean OS. Android also has GO variants which perform even better at low resources, (Bliss also has builds of these if one is curious). They are extremely responsive. I don't think Bliss as A14 go builds, but we do have A13 go builds, and they are extremely responsive on very low end hardware, the bar is actually support for SSE.

Bliss currently has a hard requirement on SSE 4.2 or greater due to a load of changes (occasionally some work is made on lowering this but it's slow and a lack of real motivation), but pretty much everything I have tested that is supported works fairly well, from my old i3 desktops, my atoms and celerons etc.

this post was submitted on 11 May 2024
211 points (99.5% liked)

Linux

48300 readers
655 users here now

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

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS