NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
Waydroid – Android in a Linux container (waydro.id)
bsimpson 140 days ago [-]
Surprised to see this on the frontpage - it's a well known piece of software.

It's unfortunate that there are no Google-vended images (e.g. the generic system image) that run on Waydroid. Typing my password into random ROMs from the internet sketches me out.

https://source.android.com/docs/core/tests/vts/gsi

seabass-labrax 140 days ago [-]
I wouldn't say it runs a "random ROM from the internet" - LineageOS is a very well-established project and is fully FOSS (free and open source software) except for firmware necessary for specific devices. It is the natural choice for any project, such as Waydroid, that requires good community support and ongoing availability.

Over a number of years, Google have progressively removed many of the original parts of AOSP (the FOSS foundation upon which Android is based), which means that alternative components have to be developed by projects like LineageOS. In spite of this, I suspect that LineageOS makes fewer modifications to AOSP than most phone vendors do, including Google themselves!

westurner 140 days ago [-]
Just had a conversation about this on a waydroid github issue. The LineageOS X86 image is outdated compared to also open source Bliss OS' Android 12.

/? Android play store APK GitHub actions

It looks like Android Emulator has the most current version of Android that will run on x86?

surajrmal 140 days ago [-]
Would you hire a well known electrician who was not bonded and insured? Sometimes it's nice to know there is more than blind trust.
yjftsjthsd-h 139 days ago [-]
Let's assume you have a ROM straight from Google, and they've actually given you some meaningful promise to support it. How exactly are you running it? Because I'm quite confident that waydroid isn't "bonded and insured", and I rather doubt you're running on top of an operating system that is. So it seems like an odd sticking point.
139 days ago [-]
lotharcable2 139 days ago [-]
What software are you using that has a parent company that pays out damages to you if it fails?

Because that is the purpose of 'bonded and insured'.

I haven't looked at every EULA and license of every piece of software I use, but I bet that "without warranty" clauses are part of every single one of them.

realusername 139 days ago [-]
There's no phone on earth which runs AOSP so it's the same on a real phone, you put a blind trust on the phone manufacturer.
123pie123 140 days ago [-]
It's FOSS, you're more than welcome to inspect the code yourself
Klonoar 139 days ago [-]
They may not want to do that, just like they may not want to fix their own electrical issues.

You’re sidestepping their point of professionalism and attempting to shove in something else.

fsflover 139 days ago [-]
The FLOSS license allows you to rely on the community for the verification.
Klonoar 139 days ago [-]
You are, once again, sidestepping their point.

They are saying they want a verified authority, not "the community".

rollcat 139 days ago [-]
You're already running this on top of Linux. You're already relying on community support, unless you got scammed by Canonical[1] or RedHat^W IBM[2].

[1]: https://utcc.utoronto.ca/~cks/space/blog/linux/Ubuntu2404Bpf...

[2]: https://en.wikipedia.org/wiki/Dehomag

Dylan16807 139 days ago [-]
This isn't about support, this is about trusting the download.

If I get Ubuntu or Debian or download the mainline kernel, I'm trusting specific entities. That's very different from a vague idea that it's open source and hopefully someone checked if this particular random guy on github is putting out legitimate builds.

bsimpson 139 days ago [-]
As I recall, studies have looked into this, and the bystander effect in open source is very real.

"You can view the source on GitHub" is very different than "A knowledgable person has audited the millions of lines of source code and confirmed that nobody added anything shady or stupid." People often don't take the time to comprehend all the source of the things they depend on, especially for large dependencies and/or prototyping-scale projects.

pessimizer 139 days ago [-]
> the bystander effect in open source is very real.

Outside of open source, it was a NYT excuse for the NYPD failing to save Kitty Genovese. The number of witnesses was greatly exaggerated, and the police were called at least once.

I don't think you mean to refer to the bystander effect, because the bystander effect says that the likelihood of intervention goes down as the number of bystanders goes up. You don't seem to be arguing that people are less likely to look at the source because the source is available to more people. More just claiming that people don't look at the source as often as you would like? That open source isn't always perfectly bug and backdoor free? Because I don't know if:

> "A knowledgable person has audited the millions of lines of source code and confirmed that nobody added anything shady or stupid."

Has been claimed about many large pieces of software, proprietary or not.

rollcat 138 days ago [-]
It's a solvable problem.

1. Fully automated and reproducible builds, bootstrapped through a verifiable chain. GNU Guix has done this: https://guix.gnu.org/en/blog/2023/the-full-source-bootstrap-...

2. Unapologetically, ruthlessly, and tirelessly simplify the software. Suckless.org is a bit on the extreme end, but I continue to be impressed by OpenBSD - it strikes a beautiful balance between clarity and function. They've also meticulously combed the entire source tree around 2010, looking for any signs of the supposed FBI backdoor.

It takes a lot of motivation to do either, let alone both. The financial incentives are elsewhere. But it's been (and being) done.

Klonoar 139 days ago [-]
Disregarding the contributions of some of the biggest players in Linux/OSS has me immediately disregarding your comment.

You can for sure like whatever homegrown community Linux distro you want. It doesn't remove the work those players have done. :)

rollcat 138 days ago [-]
You've disregarded it so much that you felt compelled to respond.

Whatever track record these companies might have had, doesn't justify their current stance or actions. Hans Reiser also made a pretty darn good filesystem - before he murdered his wife.

idiotsecant 139 days ago [-]
Exactly what 'authority' would be sufficient here?
Klonoar 139 days ago [-]
That's for OP to chime in on. I'm just pointing out that the person I'm responding to is missing the point of OPs post entirely.
alexvitkov 139 days ago [-]
Alright, just give me 5 minutes to quickly inspect the likely over 100,000,000 lines of code that either go directly into a ROM or are part of the build tooling, and reverse engineer however many binary blobs are involved in the process.

The "you can just read the code" mindset is completely unrealistic, even for software that's orders of magnitudes smaller. If the issue at hand is entering my Google password, I'd rather do it in a ROM built by Google.

LargoLasskhyfv 138 days ago [-]
Use some LLM which is good at understanding code/coding, maybe supervised by one which is good at reasoning.
powersnail 139 days ago [-]
Different industries have different standard procedures. A huge portion of the world's internet relies on FOSS software, and none of those are insured.

Community reputation is the current _de facto_ standard for consumer-facing software, even for stuff sold by big corporations. There's not much else to rely on.

saagarjha 140 days ago [-]
Would you hire Electroboom?
kadoban 139 days ago [-]
Probably not, he might zap himself for a gag and scare the crap out of me.
lyu07282 139 days ago [-]
and then he teaches you about safety around a thousand times more effectively afterward <3
139 days ago [-]
ulrikrasmussen 139 days ago [-]
Is it random though? LineageOS is a pretty established project. I am generally more wary of typing any personal information into an image vended by Google because it is their primary, core business model to collect my data and show me ads.
buyucu 139 days ago [-]
To be honest I trust LineageOS more than I trust any Google-vended image.
Wowfunhappy 139 days ago [-]
FYI, Firefox has also been on the front page before, it's allowed. :)
Onavo 140 days ago [-]
Google provides one that runs in Docker
77pt77 140 days ago [-]
Where?
ignoramous 139 days ago [-]
Isn't GSI (Project Treble) effectively now a way for Google to force deprecate the vendor bits (ex: HAL/vendor drivers)? https://news.ycombinator.com/item?id=32116819
139 days ago [-]
dchuk 140 days ago [-]
What I’d love to see is a containerized android that can be fired up on a Mac (using docker desktop or orbstack or whatever) that I can modify the docker image of to have rooted man in the middle proxy already setup, making it much easier to drop an Android app onto to observe the network traffic and api calls.
CartwheelLinux 140 days ago [-]
If you want to do this now with little setup, run waydroid and then run wireshark inside the network namespace that is created for waydroid

sudo ip netns exec <netns> wireshark

jeroenhd 140 days ago [-]
Wireshark is nice, but for HTTPS MitM you'll need a tool like mitmproxy/Burp to do the proxying and either modifications to the system image or a Frida daemon running as root to make most apps trust the MitM'd certificates.

To get the traffic routed right, the Wireguard option for mitmproxy is pretty useful in my experience. Not sure how well Waydroid + Android VPNs work together, though.

wraptile 139 days ago [-]
There's also certificate pinning which is done by basically every modern android app so you often need to modify apk to remove that. Httptoolkit has a good blog on the process: https://httptoolkit.com/blog/frida-certificate-pinning/
jeroenhd 139 days ago [-]
With root access, Frida can patch applications in memory, so you don't need to mess with the APK file.

If root is not an option, injecting Frida into the APK will work (but that might break applications that verify signatures).

feanaro 139 days ago [-]
What do you mean by the Wireguard option for mitmproxy?

EDIT: Oh, look at this https://mitmproxy.org/posts/wireguard-mode/. TIL.

jeroenhd 139 days ago [-]
It's a pretty neat feature! I think it's in beta but it works flawlessly in my experience. Sure is a lot easier than setting up a separate (W)LAN with iptables rules to force redirect traffic.
139 days ago [-]
bbogdn2 139 days ago [-]
Not sure about the proxy setup, but redroid is basically android in a docker container.
jaidan 140 days ago [-]
This was the basis of how FuriLabs managed to get such good Android app integration. Obviously they’ve forked it [0] and heavily modified it, but the user experience they’ve created with this to allow Android apps on a Linux phone has been great.

[0] https://github.com/FuriLabs/waydroid

GranPC 140 days ago [-]
Hi, Jesus from FuriLabs here! We're just winding down from FOSDEM but happy to answer any questions & feedback :)
user_7832 139 days ago [-]
My biggest question is: why haven’t you guys advertised yourselves more? I’ve heard of liberem and the pinephone but never knew you guys had a phone? With half-decent hardware and actual water proofing?? I swear if I had the disposable cash I’d have bought one (and I hope to anyway soon).

Ok, here’s a more typical question: I’ve heard your phone uses halium, what exactly is it? Some kind of hardware abstraction layer? Some people online appear to dislike it. (And googling unfortunately gives very few links that aren’t super technical.)

GranPC 139 days ago [-]
I'd say it just boils down to... we're not great at marketing. We're working on it but it's hard to get the word out, especially since many people are dismissive of Linux phones after having had previous experiences with incomplete devices.

Halium/libhybris are basically layers that allow us to use Android hardware drivers with a GNU/Linux userspace. Some Android bits run inside a container to provide support for peripherals. This is kinda a stop gap solution since we're working on native implementations and replacements for much of this stuff.

Some people dislike it because it's not a "pure Linux phone". But the alternative would be to ship a device that can't even place calls or take pictures, so... I think it's a good middle ground that allows us to ship something useful today.

chainingsolid 139 days ago [-]
I kinda feel bad for you guys when I first saw your site and compared it's polished look vs Pine64's here's the board schematics & community distros I thought I was looking at a scam. Your HN presence and second look at your site, blog and realising you had a Github definatly help your case! Any plans on selling repair parts or publishing pcb diagrams? Also I didn't see this on the site, whats the features on the usbc port? Learning of the Pinephone's display out was the transition from 'this maybe a way to dump Andriod/IOs' to 'pocket laptop must have now' for me.
throwaway984393 139 days ago [-]
[dead]
Klonoar 139 days ago [-]
They’ve been noted in a few HN threads before, FWIW.
beardyw 139 days ago [-]
bacchusracine 137 days ago [-]
I know I'm late to the discussion but can you comment on the hearing aid compatibility (HAC) of the phone? It's something that keeps me tethered to bigger name phones since most of the time smaller companies don't even know what that is...
moondev 140 days ago [-]
I'm interested in why the linked implementation is different or enhanced. There is nothing on the readme and I guess I would need to track down a summary of the talk
GranPC 139 days ago [-]
Waydroid is currently focusing on desktop usage, whereas our fork focuses around usability improvements for the mobile use case specifically. There are a lot of small things that all come together - stuff like NFC passthrough, power efficiency optimizations, MPRIS support, etc. It'd be hard to condense everything into a small explanation, but it's basically been a matter of polishing rough edges.
Vinnl 139 days ago [-]
Will that stuff end up upstream at some point, and if not, where's the bottleneck?
ttkari 139 days ago [-]
Your project certainly looks very interesting! Any chance of another device with a smaller form factor sometime in the future? This one is huge :)
OsrsNeedsf2P 140 days ago [-]
What's the difference between FuriLabs and all the other Linux phones that have 1 hour of battery life and no app support?
stonogo 139 days ago [-]
FuriLabs' phone runs libhybris (OEM android kernel) instead of attempting a native port. Hardware enablement is outsourced.
yjftsjthsd-h 139 days ago [-]
> all the other Linux phones that have 1 hour of battery life and no app support?

... Which phones would that be? Even the original pinephone exceeds an hour and has a pretty good collection of apps even without compatibility layers.

seabass-labrax 139 days ago [-]
Indeed; I have an original PinePhone (convergence edition) and the battery is not half bad while you are using it. I think the main issue has been poor software support for wake-from-suspend, which prevented the phone from saving power when not in use. I believe that these issues have been largely resolved in the latest versions of PostmarketOS, Mobian etc.
Arnavion 139 days ago [-]
FYI, going to suspend / receiving calls during suspend / waking from suspend haven't been a general problem on the (non-Pro) PinePhone since 2021. You just have to make sure to switch to the FOSS modem firmware, and occasionally there are regressions (the most recent one being https://gitlab.freedesktop.org/mobile-broadband/ModemManager... ).
jaidan 139 days ago [-]
FLX1 is fast. It’s useful. It has regular updates that improve experience. Battery lasts 1.5 days with moderate usage.
toasteros 139 days ago [-]
The Furiphone FLX1 makes heavy use of this and it is amazing. I can do most things I'd want a real android phone for (which is not much, admittedly). I know of people who use it for Signal and Spotify. Great project, and right at home on a Linux phone.
jlokier 138 days ago [-]
I just heard of it from this thread and took a look. It looks great! I'd love to get one, but from the FAQ:

> "The only apps that won’t work are ones that require the full Google Play Store and all it’s requirements. This includes some banking apps"

Sigh. It looks like I'd have to carry two phones.

Banking and credit card apps are essential daily apps for me. I can't even log in to some of my accounts on a desktop browser without their phone app to authenticate, and quite often individual payments require phone app confirmation. Unfortunately I'm not in a position to switch accounts for a freer user experience.

Separately from finance, I also have to use the Google suite for my main job, and I've had to use Discord for another job. I guess those can run in a browser with reduced functionality, though. Not so for the banking/credit card apps, unfortunately.

This isn't a complaint about Waydroid or FLX1. I appreciate the work and creativity! I've long dreamed of owning (and building) a completely FLOSS phone, and seen how much work is involved. I owned two Nokia N900s back in the day.

But times have changed, and I wish and hope a way can be found to run the apps or protocols daily life seems to require now, on top of (or side by side with) a base FLOSS system.

AgentElement 138 days ago [-]
Wow, this phone is almost perfect - TRRS connector, uSD card, user-replaceable battery, and available in the United States. Not having an OLED panel might be a dealbreaker though.
ekianjo 139 days ago [-]
How do you like the Furiphone FLX1? Very few reviews online...
GranPC 139 days ago [-]
FWIW there are a bunch of reviews on our official website, as well as this exhaustive review from a community member: https://blog-d.luigi311.com/furilabs-flx1/
KetoManx64 139 days ago [-]
You guys should send our some review units to Linux tech youtubers. I kept searching for reviews of the phone and there is nothing except the 4-5 videos from your guys' channel, which does not instill confidence that this is a real project and not a scam.
GranPC 139 days ago [-]
We have - I believe the first review will be coming out this week. More soon.

There's a review from The Register that just came out: https://www.theregister.com/2025/02/03/furiphone_flx1/

jaidan 138 days ago [-]
I thought the same originally. Then after speaking with the online chat and realising Wayne was a Queenslander, I bought one. There’s enough people in the Matrix and Telegram channels now to know there is a real phone. Even look at the GitHub activity. It’s busy.
jaidan 139 days ago [-]
Yep. Been daily driving since September.

I love it.

No DP Alt mode.

ankurdhama 139 days ago [-]
Does this support DP alt mode on the USB-C port?
toasteros 139 days ago [-]
No DP through the USB-C port right now, no. I believe it's missing from the hardware.

It's a little frustrating because "Convergence" options are exposed in the UI.

jaidan 139 days ago [-]
There’s a flatpak signal that works great in FuriOS too
Vinnl 139 days ago [-]
Isn't that the desktop app? Which is neat, but needs to be linked to the phone app, AFAIK.
jaidan 138 days ago [-]
Yeah it is. I have the Signal app installed in Android, but I only use it to initiate the Signal setup. Then use the desktop flatpak in FuriOS as my daily driver. You can change the look of it to be similar to the mobile app and a recent change (like a week ago) has made resizing the contact list easier from a touch screen rather than having to use a mouse the first time.

The Telegram and Matrix channels have been great for people sharing tips like this.

bjoli 139 days ago [-]
I have three apps I bought a long time ago. A Swedish dictionary, a german-swedish dictionary and an english-swedish dictionary.

They are still installable, but not available in the app store. The company (Norstedts) went over to a subscription style (of course).

I use waydroid to have them on my desktop and I love it.

Klasiaster 139 days ago [-]
Many apps depend on running an "official" Android distro from Google, Samsung, etc. and don't work with Waydroid's Lineage-based distro. I think the Wine-like approach from https://gitlab.com/android_translation_layer/android_transla... might help to trick apps into believing that they run on an "official" Android distro.
notpushkin 139 days ago [-]
There is a set of specific APIs you have to simulate to trick apps like this. On “real” Android, such simulation is done with things like Magisk modules (which mock certain things) or microG (which reimplementats Google services as a whole). The Wine-like approach used in ATL is certainly more straightforward for simulating APIs, but it’s still needs to be reimplemented specifically for ATL. Waydroid, on the other hand, can probably reuse Magisk or microG, since it’s running a whole Android setup.
WD-42 139 days ago [-]
Every time I see this I think "cool! I can run some cool Android app that doesn't have a Linux counterpart" and every time I fail to think of anything. Are there any must have Android apps out there?
jraph 139 days ago [-]
Organic Maps and OSMAnd. They are better than open source desktop map software I could find.

Organic Maps has a desktop linux version but it's far from having feature parity.

Although it might change with this grant [1] aiming to build a nice desktop UI for Organic Maps.

[1] https://nlnet.nl/project/OrganicMaps-ConvergentUI/

sureglymop 139 days ago [-]
I love FairEmail, the mail client. Crazy to say this but it may be better than all the desktop mail clients I have used.
bsdice 139 days ago [-]
I tried them all (also anything on Linux) and now I just use Roundcube on a local install, which runs in any browser.
eigenspace 139 days ago [-]
The main thing for me would be stuff like banking which require app-based authentication. Of course, solutions like this unfortunately don't work on something like Waydroid because the app knows it's in a container and thus blocks functionality.
bowbe 139 days ago [-]
I mostly see this recommended for people who want to play mobile games on a Steam Deck.
prmoustache 139 days ago [-]
But are there still mobile games worth playing when you have access to steam?
bobthecowboy 139 days ago [-]
Somewhat weirdly, if you want to play Minecraft Bedrock (not the classic Java version, but the one developed for handhelds, consoles, and Windows) on the SteamDeck this appears to be the most solid path. I've played it and it works.
razemio 139 days ago [-]
TFT from Riot Games would be a good example. Protected by Vanguard so you can not use wine. However you need an arm device, since they do not publish apks for x86.
zozbot234 139 days ago [-]
Couldn't you use qemu-user (and binfmt_misc) to run ARM binaries under emulation on x86? I suppose you might also need ARM-specific system libraries installed - these can easily coexist with their x86-64 versions on a standard Linux install (see "multiarch") but I'm not sure if Android allows the same.
razemio 138 days ago [-]
Since this needs 3d acceleration I would guess this does not work? Waydroid is insanely good with this (when it is running).
zozbot234 138 days ago [-]
Why wouldn't 3d acceleration work? It's not like the ARM code includes custom 3d drivers, it's going to rely on the same 3d support as everything else.
alias_neo 139 days ago [-]
I use it for this; found out about it when I installed Bazzite on my ROG Ally and it came with Waydroid.

The other useful feature for me is using the Android apps for media subscriptions that only enable offline downloads in the app and not in the browser so I can use them on the go.

WD-42 139 days ago [-]
Ahhh, that actually makes a lot of sense. I didn't even think of games. Maybe I'll use it to play Candy Crush.
saghm 139 days ago [-]
Isn't there already a PC version of that? It always seems to be pinned to the Start menu of new Windows installations, but maybe that's also via some sort of Android compatibility layer
Perenti 139 days ago [-]
I have a "smart guitar" that needs the app to change settings. It's the only thing keeping me on a "smart" phone.
seabass-labrax 139 days ago [-]
By 'smart guitar', do you mean that the guitar has an amplifier or effect pedal built-in?
mihalycsaba 139 days ago [-]
Screen record apps, that are protected in a normal phone.
MiddleEndian 139 days ago [-]
For me it seems useful for the opposite reason. There's a lot of garbage that you have to use where something could be a website but they want you to install some Android app. If I could run those Android apps on my PC, maybe it could be a slightly less terrible experience. Perhaps various dating apps as well, idk.
ollybee 139 days ago [-]
Exactly the same for me. I now just use and old android phone with a broken screen and run scrcpy
buyucu 139 days ago [-]
I use Waydroid to run my banking apps on my laptop. Much more convenient than going through many layers of authentication each time on internet banking.
kellpossible2 139 days ago [-]
Lots of mapping apps have no equivalent, especially with an interface optimized to work on a phone
reginald78 139 days ago [-]
Minecraft Bedrock?
CarVac 139 days ago [-]
Realcalc?
Demiurge 140 days ago [-]
Does this allow the container access a hardware USB device? I have Mooondrop FreeDSP usb-c cable with an PEQ that only works with a terrible Android app, and it takes forever to change the EQ settings via an Android tablet I have, that has terrible touch screen. I wish I could just use my linux laptop to do it.
jeroenhd 139 days ago [-]
I think it does, to the point where plugging in USB devices while Android has focus accidentally captures the USB device: https://github.com/waydroid/waydroid/issues/778

If not, it's just a Linux container, so with some udev rules you should be able to make it work regardless.

tgtweak 139 days ago [-]
A few things that seem like they're consistently missing from these projects: Hardware 3d acceleration from the host in a version of OpenGL ES + Vulkan that most phones have natively. Lastly, many apps have built-in ways of detecting that they're not running on a phone and ditch out (looking at cpuinfo and referencing that with the purported device being run).

It also seems that expected arm support on device is increasing (along with expected throughput) and that the capability of the x86 host device you need to emulate even a modest modern mobile ARM soc is getting higher and higher.

Lastly, the android version supported is almost always 3-4 generations behind the current Android. Apps are quick to drop legacy android support or run with fewer features/less optimizations on older versions of the OS. The android base version in this project is from 2020.

Anecdotally, using bluestacks (which indisputably has the most compatible and optimized emulation stack in the entire space) with a 7800X3D / RTX 3090 still runs most games slower than a snapdragon 8 phone from yesteryear running natively.

westurner 139 days ago [-]
virtio-gpu rutabaga was recently added to QEMU IIUC mostly by Google for Chromebook Android emulation or Android Studio or both?

virtio-gpu-rutabaga: https://www.qemu.org/docs/master/system/devices/virtio-gpu.h...

Rutabaga Virtual Graphics Interface: https://crosvm.dev/book/appendix/rutabaga_gfx.html

gfxstream: https://android.googlesource.com/platform/hardware/google/gf...

"Gfxstream Merged Into Mesa For Vulkan Virtualization" (2024-09) https://www.phoronix.com/news/Mesa-Gfxstream-Merged

I don't understand why there is not an official x86 container / ROM for Android development? Do CI builds of Android apps not run tests with recent versions of Android? How do CI builds of APKs run GUI tests without an Android container?

tgtweak 139 days ago [-]
There is no official support for x86 in android any more - the Android-x86 project was the last I know that supported/maintained it. Last release was 2022.

For apps that use Vulkan natively, it's easy - but many still use and rely on OpenGL ES. It's a weird scenario where you have apps that are now supporting Vulkan, but they have higher minimum OS requirements as a result... but those versions of Android aren't supported by these type of projects.

sweeter 140 days ago [-]
What Im surprised about is that no one has abstracted this out so you can run multiple Android containers under LXC. With Waydroid, you have one image. From what I can see they use a custom Linux kernel with a lot of patches and I wasn't really able to get a handle on it, but the LXC interface stuff is pretty simple.
bean-weevil 140 days ago [-]
Waydroid uses the host kernel.
pizzalife 140 days ago [-]
Since Binder is a kernel feature, how do they get it to work?
refulgentis 140 days ago [-]
written 6 years ago: "The binder kernel driver has been present in the upstream Linux kernel for quite a while now."

https://brauner.io/2019/01/09/android-binderfs.html

jeroenhd 140 days ago [-]
While it's part of upstream Linux, many kernels come with it disabled because it has a long history of security issues and basically nothing but Android uses it.

It also liked to trigger kernel panics for me on Ubuntu 22.04, but that could be a weird hardware issue.

refulgentis 140 days ago [-]
Ah, interesting...man, software is fun. I wouldn't have guessed in a million years that it could cause panics as an optional component, like, it shouldn't be running code unless it is being used, and it shouldn't be called because it isn't mandatory in the kernel.

I guess I'm still grokking software complexity, Linux, and how much work an OS is truly is, 25 years after I built my first Linux box...because in another sense, of course that could happen.

Muromec 140 days ago [-]
What does this binder thing even do? I get it's an IPC something, but why does android need it's own special kernel-level IPC?
teraflop 140 days ago [-]
There's some general information about it here: https://elinux.org/Android_Binder

A binder transaction behaves sort of like a syscall, in the sense that a client process can immediately, synchronously transfer control to a server thread, rather than just enqueueing a message to be processed whenever the server gets around to it.

This enables Android to separate many of its components into different processes (at different privilege levels), and use binder for RPCs that are on the "critical path" for user interaction, without incurring impractical amounts of overhead or latency.

esprehn 140 days ago [-]
Wikipedia has a good explanation of Binder and the history which goes way back to Be OS.

https://en.wikipedia.org/wiki/OpenBinder

It's more like a micro services framework that abstracts threads and processes.

Fuchsia takes the approach to the conclusion and powers the entire OS through a similar system:

https://fuchsia.dev/fuchsia-src/concepts/fidl/overview

homebrewer 140 days ago [-]
You're expected to install a kernel that has the module, or build it yourself. I use linux-zen which ships binder out of the box.
yonatan8070 140 days ago [-]
Accrding to the Arch Wiki, it uses the kernel modules. Have a look at section 1.4 here: https://wiki.archlinux.org/title/Waydroid
buyucu 139 days ago [-]
Binder has been on the mainline Linux kernel for a long long time.
WhyNotHugo 139 days ago [-]
Your host kernel needs to have binderfs.
tuananh 139 days ago [-]
easiest way is to use zen kernel because it's already baked in.
babrababra4151 132 days ago [-]
Firstly, I would say spyrecovery36 @ gmail com is the only hacker you can go to for positive outcome here. Customer service is great. After reading great reviews about him on almost all the websites i researched on, I hired him to hack my cheating spouse's iPhone 14 and trust me when i say he hacked the device and gave me full access to his phone. His services were cost effective, top notch and easy to use. I highly recommend this hacker for any hacking services. Pay for the use of his services and avoid scam stories. stay safe
mauvehaus 140 days ago [-]
I got on instagram[0] before you could post via the web and before I had a smartphone. I was able to run the app under android-x86 on VirtualBox.

I think the hardest part of the whole setup was setting the screen resolution to something the ig app would run under (it wouldn't run in landscape mode) and getting ssh/scp running to move files from the computer to the vm.

[0] for professional reasons. Link in profile if you're interested. My insta posting had been greatly reduced since I'm still not convinced that anyone has truly found a way to redeem imaginary internet points for dollars. At least not at my level of effort I'm willing to put into accumulating imaginary internet points.

gnabgib 140 days ago [-]
Popular in 2021 (684 points, 207 comments) https://news.ycombinator.com/item?id=28616985
nmstoker 140 days ago [-]
Yes, skimming the repo on GitHub it looks like it has gone off the boil distinctly since early 2024. Shame as it looks impressive.
tedk-42 139 days ago [-]
Money became scarce and projects became harder to maintain and resource
scottydelta 140 days ago [-]
Any way to do this in Mac M1? I would love to run an android instance on Mac docker where u can install apps and can persist storage.
truncate 139 days ago [-]
I was able to run this a while ago on virtualized linux machine using UTM. I forgot whether I used ARM or x86 on Rosetta image, but UTM gallery has easy to use images for both. https://mac.getutm.app/gallery/
scottydelta 139 days ago [-]
from their page:

> We removed the Android pre-built images because Android does not run well on QEMU/UTM and created a lot of confusion. Advanced users can build their own Android VM from scratch but it is not recommended.

truncate 138 days ago [-]
They are talking about images running Android. This post is about Waydroid, so you can still just use regular Linux image and install waydroid on that.
CodeCompost 139 days ago [-]
What happened to Microsoft's implementation? Wasn't it supposed to come to Windows? Or did that end up by the wayside?
Wii2 139 days ago [-]
You probably mean WSA, Windows Subsystem for Android, only available on Windows 11… for another month. At which point support for it will be dropped[0]. It's a bit sad 'cause I, myself, do use it for a few things. Also, by default it required installing the Amazon Appstore, which I don't think is available for download anymore. So the only way to use it now would be to use the script from the MagiskOnWSA[1] which downloads it somehow, and at the same time, installs Magisk. If that even works.

[0] - https://learn.microsoft.com/en-us/windows/android/wsa/ [1] - https://github.com/LSPosed/MagiskOnWSALocal

creshal 139 days ago [-]
It looks like it fell apart because none of the existing app stores wanted to support it (Amazon originally did, then pulled out), and Microsoft, in a rare moment of clarity, realized that nobody likes the Microsoft Store.
Hackbraten 139 days ago [-]
Actually, Wayside would have been a nice name for the software that became Waydroid.
account-5 139 days ago [-]
Might be barking up the wrong tree but how does this compare with android studios emulator?
redleader55 139 days ago [-]
Let me list of few things that I can think of:

- (pro) It run on a laptop/desktop so it's performance will be a lot better

- (con) If the app has any native code inside it, it will need to support x86_64 or you'll need to have an ARM laptop

- (con) Like many in the thread mentioned, some apps will require Google features to even start.

- (con) I'm not sure if Waydroid will report secure boot features to the apps that require it.

kllrnohj 139 days ago [-]
The emulator these days is just using an x86_64 image and with not-that-modern VM hardware extensions the overhead is pretty small.

So I'd expect CPU performance to be very similar if not basically identical.

GPU performance would be the bigger question, and the emulator has put a lot of work in that direction. Is this better or worse than that would be the biggest difference performance-wise.

redleader55 139 days ago [-]
Not entirely true. An example of a bug which will be fixed soon - https://www.phoronix.com/forums/forum/hardware/processors-me....
arghwhat 139 days ago [-]
Waydroid runs Android services and applications natively on your machine in a container with apps launching in windows side-by-side with your other applications, whereas the Android emulator runs a VM with regular smartphone-esque hardware.

Quite a big difference.

kllrnohj 139 days ago [-]
The emulator is just KVM. Yes VMs vs. container is a difference, just like it is in endless cloud discussions, but it's not particularly big in any objective metrics
arghwhat 139 days ago [-]
This is like suggesting that running applications in a Windows VM and running them under WINE isn't a big difference.

(One might say "but it's the same OS!" - but it's only really a similar kernel, and even that is heavily customized and not at all the same as your laptop runs. The graphical stack is also nothing like neither X nor Wayland.)

Also, rant: it's not KVM, but QEMU. KVM is a small API to deal with virtualization instructions, but while that makes VMs much faster than without (similar to how floating point is much faster with hardware support), it does very little on its own. The virtualization instructions are basically a way to let QEMU run code as is but intercept everything important - syscalls, faults, you name it - whereas without, it would have to instrument or outright interpret the executed program.

It's QEMU that micro-manages setup, execution and importantly is responsible for emulating all the VM devices - KVM just exposes memory mapped into the virtual CPU's memory space.

kllrnohj 138 days ago [-]
> This is like suggesting that running applications in a Windows VM and running them under WINE isn't a big difference.

False equivalence. WINE reimplements windows libraries and higher level APIs to convert to Linux-native ASAP.

Waydroid/containers operate at a kernel level. The entire userspace is "virtualized".

> One might say "but it's the same OS!" - but it's only really a similar kernel, and even that is heavily customized and not at all the same as your laptop runs.

Exactly my point. The only difference is whether or not the kernel is shared, which is a very, very small fraction of the OS.

arghwhat 137 days ago [-]
WINE reimplements windows libraries and higher level APIs to convert them to something compatible with your host kernel, providing as full a glue Windows user-space as needed to support Windows user-space applications integrating into your host system. This includes a full, Windows-centric emulated filesystem hierarchy.

Waydroid reimplements Android libraries and higher level APIs to convert them to something compatible with your host kernel, providing as full a glue Android user-space as need to support Android user-space applications integrating into your host system (such as by providing a Wayland-backed implementation of SurfaceFlinger or HWComposer). This includes a full, Android-centric emulated filesystem hieararchy.

They are equivalent, even if their targets are different. And most importantly, they are both the polar opposite of a VM setup, as the user-space is not the user-space of the VM, but a dedicated user-space that presents Windows and Android behaviors respecitvely, but implementing them in terms of your host system's window management, input management, audio management, etc.

(That waydroid relies heavily on namespaces is a technical detail, not a relevant difference between WINE and Waydroid. WINE if implemented again today would likely do the same.)

> Exactly my point. The only difference is whether or not the kernel is shared, which is a very, very small fraction of the OS.

No, the main difference is whether the user-space is deeply integrated through various glue, or whether you're emulating the whole system as-is, with its original user-space and kernel, with just a virtual screen to interact with.

kllrnohj 136 days ago [-]
> Waydroid reimplements Android libraries and higher level APIs to convert them to something compatible with your host kernel,

This is simply incorrect, though, negating the entirety of the rest of your argument.

> No, the main difference is whether the user-space is deeply integrated through various glue, or whether you're emulating the whole system as-is

Okay, sure, but then again waydroid and a VM are kissing cousins going off of that definition anyway. Both emulate the whole system. The only difference is whether or not the kernel is replaced.

> That waydroid relies heavily on namespaces is a technical detail, not a relevant difference between WINE and Waydroid. WINE if implemented again today would likely do the same.

No, it wouldn't. WINE does the approach it does to avoid redistribution of any Microsoft binaries. Simply containerizing & emulating the kernel API would be useless for WINE as a result

tmtvl 139 days ago [-]
On my Ubuntu phone I use Waydroid to use the WhatsApp client as the kung fu club I'm in uses WA to communicate. It works well enough, though it is quite a battery drainer.
ebri 139 days ago [-]
anything like this for x11?
TheFreim 139 days ago [-]
I haven't tried it yet, but I did find this guide that might be useful:

https://github.com/1999AZZAR/use-waydroid-on-x11

If you try it please let me know how it went.

jeroenhd 139 days ago [-]
Waydroid is based on Anbox (https://github.com/anbox) which is no longer being maintained, but should still work for older Android versions on LTS distros.
buyucu 139 days ago [-]
I think you can use something like Weston in X11 to run Waydroid.
ekianjo 139 days ago [-]
So is it possible to have a postmarketOS device that runs Android apps at good speed with Waydroid?
seabass-labrax 139 days ago [-]
Yes! Here's a video (not mine) showing exactly that:

https://m.youtube.com/watch?v=N-Q0c3iy-5g

tuananh 139 days ago [-]
waydroid is very good. its very commonly used for playing android games on linux.
DonCalloway 136 days ago [-]
[dead]
kevinprice 138 days ago [-]
[dead]
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 13:15:49 GMT+0000 (Coordinated Universal Time) with Vercel.