State of Android emulation on Linux (with viable 3D performance)?

AlmightySnoo 🐢🇮🇱🇺🇦@lemmy.world to Android@lemmy.world – 30 points –

On Windows, the go-to emulators are Bluestacks and NoxPlayer (both closed source), especially when gaming is concerned. Unfortunately they are not available on Linux, and the Nox devs' dismissive attitude towards Linux also makes it unlikely they'll ever make a Linux port:

screenshot showing Nox support staff stating: "94% of our market is on PC. 4.999999% are on Mac. 0.000001 are on Linux. It makes no economic sense for us to dedicated man hours to build a Linux version."

So apart from trying to run these two using Wine, what emulators are out there on Linux that yield a sufficiently decent performance to make Android games playable?

EDIT: looks like Waydroid is a winner, see the comments.

12

Maybe try this one? I've read it's one of the better ones.

https://waydro.id/#about

Just tried it out and the 3D performance is amazing!

Installed it on Arch Linux following the wiki (https://wiki.archlinux.org/title/Waydroid) and didn't need to do anything regarding the binder module as I have the linux-zen kernel installed.

Need to initialize it with the GApps image and then certify the emulated device by following the instructions on their doc (https://docs.waydro.id/faq/google-play-certification) in order to have access to the Play Store. Some games like Genshin Impact cannot be installed as they're marked as incompatible but many are installable.


EDIT: Actually Genshin Impact and similar games also work, it's just that they are ARM64 apps and you need an ARM -> x86 translation layer for them to work. In particular you need to add libhoudini to your Waydroid install. There's a script that simplifies this: https://github.com/casualsnek/waydroid_script. However, games that have only ARM64 binaries, like Genshin Impact, will be slow. Games like Asphalt 8 & 9 and League of Angels run at native speeds because they have x86 binaries.


A few screenshots:

Obligatory SuperTuxKart

screenshot of SuperTuxKart on an emulated Android

Asphalt 8

screenshot of Asphalt 8 on an emulated Android

Asphalt 9

screenshot of Asphalt 9 on an emulated Android

League of Angels: Chaos

screenshot of League of Angels Chaos on an emulated Android

The physical keyboard isn't detected by Asphalt 8 though, however it is properly handled by Asphalt 9. So I guess it's going to really depend on the game.

[This comment has been deleted by an automated system]

that's possible and it does work well, but you have to disable the anticheat and risk getting banned

Exactly this. But I wanted to try Android emulation anyway as there are lots of other games too. The sandboxing of Waydroid is also great and gives you more security and privacy as you just have to use a dummy Google account if you really need the Play Store.

how was the performance compared to the wine version?

Haven't tried Genshin with Wine (I might try "An anime game launcher", might get banned but I don't really want to keep Windows anymore so c'est la vie), but on Waydroid it's unplayable because of the ARM -> x86 translation layer, the Genshin Android app apparently ships only ARM64 binaries. The games in the screenshots however were running at native speeds.

fyi i used "an anime game launcher" a few months ago, it ran perfectly fine especially with the framerate unlocker, it was really good. i wasn't banned i played it for a few days but i haven't played genshin since.

2 more...

[This comment has been deleted by an automated system]

It's worth noting that the binder module you're referring to is already included in the Linux Zen kernel, which is usually very stable and trusted by Linux gamers. It may be possible however that binder does funny things with the Nvidia driver. On my AMD system I have no proprietary drivers and everything works out of the box with linux-zen.

2 more...