8 ms·
Waydroid – Android in a Linux container
- gnabgib 2y agoPopular in 2021 (684 points, 207 comments) https://news.ycombinator.com/item?id=28616985 https://news.ycombinator.com/item?id=28616985
- bsimpson 2y agoSurprised 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 https://source.android.com/docs/core/tests/vts/gsi
- Onavo 2y agoGoogle provides one that runs in Docker
- seabass-labrax 2y agoI 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 2y agoJust 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 2y agoWould you hire a well known electrician who was not bonded and insured? Sometimes it's nice to know there is more than blind trust.
- Wowfunhappy 2y agoFYI, Firefox has also been on the front page before, it's allowed. :)
- deleted 2y ago[deleted]
- ulrikrasmussen 2y agoIs 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.
- ignoramous 2y agoIsn'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 https://news.ycombinator.com/item?id=32116819
- buyucu 2y agoTo be honest I trust LineageOS more than I trust any Google-vended image.
- pizzalife 2y agoSince Binder is a kernel feature, how do they get it to work?
- homebrewer 2y agoYou'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 2y agoAccrding to the Arch Wiki, it uses the kernel modules. Have a look at section 1.4 here: https://wiki.archlinux.org/title/Waydroid https://wiki.archlinux.org/title/Waydroid
- refulgentis 2y agowritten 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 https://brauner.io/2019/01/09/android-binderfs.html
- jeroenhd 2y agoWhile 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 2y agoAh, 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.
- 2y ago
- sweeter 2y agoWhat 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 2y agoWaydroid uses the host kernel.
- jaidan 2y agoThis 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 https://github.com/FuriLabs/waydroid
- GranPC 2y agoHi, Jesus from FuriLabs here! We're just winding down from FOSDEM but happy to answer any questions & feedback :)
- moondev 2y agoI'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 2y agoWaydroid 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 2y agoWill that stuff end up upstream at some point, and if not, where's the bottleneck?
- OsrsNeedsf2P 2y agoWhat's the difference between FuriLabs and all the other Linux phones that have 1 hour of battery life and no app support?
- Demiurge 2y agoDoes 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 2y agoI 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 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.
- dchuk 2y agoWhat 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 2y agoIf 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 2y agoWireshark 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.
- feanaro 2y agoWhat do you mean by the Wireguard option for mitmproxy? EDIT: Oh, look at this https://mitmproxy.org/posts/wireguard-mode/ https://mitmproxy.org/posts/wireguard-mode/. TIL.
- jeroenhd 2y agoIt'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.
- deleted 2y ago[deleted]
- 2y ago
- scottydelta 2y agoAny 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 2y agoI 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/ https://mac.getutm.app/gallery/
- scottydelta 2y agofrom 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 2y agoThey 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.
- mauvehaus 2y agoI 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.
- tmtvl 2y agoOn 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.
- toasteros 2y agoThe 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.
- ankurdhama 2y agoDoes this support DP alt mode on the USB-C port?
- toasteros 2y agoNo 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.
- ekianjo 2y agoHow do you like the Furiphone FLX1? Very few reviews online...
- jaidan 2y agoYep. Been daily driving since September. I love it. No DP Alt mode.
- GranPC 2y agoFWIW 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/ https://blog-d.luigi311.com/furilabs-flx1/
- KetoManx64 2y agoYou 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.
- WD-42 2y agoEvery 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?
- bowbe 2y agoI mostly see this recommended for people who want to play mobile games on a Steam Deck.
- WD-42 2y agoAhhh, that actually makes a lot of sense. I didn't even think of games. Maybe I'll use it to play Candy Crush.
- saghm 2y agoIsn'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
- alias_neo 2y agoI 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.
- prmoustache 2y agoBut are there still mobile games worth playing when you have access to steam?
- razemio 2y agoTFT 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.
- ekianjo 2y agoSo is it possible to have a postmarketOS device that runs Android apps at good speed with Waydroid?
- seabass-labrax 2y agoYes! Here's a video (not mine) showing exactly that: https://m.youtube.com/watch?v=N-Q0c3iy-5g https://m.youtube.com/watch?v=N-Q0c3iy-5g
- bjoli 2y agoI 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.
- CodeCompost 2y agoWhat happened to Microsoft's implementation? Wasn't it supposed to come to Windows? Or did that end up by the wayside?
- Wii2 2y agoYou 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/ https://learn.microsoft.com/en-us/windows/android/wsa/ [1] - https://github.com/LSPosed/MagiskOnWSALocal https://github.com/LSPosed/MagiskOnWSALocal
- Hackbraten 2y agoActually, Wayside would have been a nice name for the software that became Waydroid.
- creshal 2y agoIt 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.
- Klasiaster 2y agoMany 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_translation_layer https://gitlab.com/android_translation_layer/android_transla... might help to trick apps into believing that they run on an "official" Android distro.
- notpushkin 2y agoThere 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.
- tuananh 2y agowaydroid is very good. its very commonly used for playing android games on linux.
- ebri 2y agoanything like this for x11?
- TheFreim 2y agoI haven't tried it yet, but I did find this guide that might be useful: https://github.com/1999AZZAR/use-waydroid-on-x11 https://github.com/1999AZZAR/use-waydroid-on-x11 If you try it please let me know how it went.
- jeroenhd 2y agoWaydroid is based on Anbox (https://github.com/anbox https://github.com/anbox) which is no longer being maintained, but should still work for older Android versions on LTS distros.
- buyucu 2y agoI think you can use something like Weston in X11 to run Waydroid.
- account-5 2y agoMight be barking up the wrong tree but how does this compare with android studios emulator?
- arghwhat 2y agoWaydroid 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 2y agoThe 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 2y agoThis 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 2y 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.
- tgtweak 2y agoA 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 2y agovirtio-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.html#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 https://crosvm.dev/book/appendix/rutabaga_gfx.html gfxstream: https://android.googlesource.com/platform/hardware/google/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 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 2y agoThere 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.
- kevinprice 2y ago[dead]
- DonCalloway 2y ago[dead]
- babrababra4151 2y agoFirstly, 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