(评论)
(comments)

原始链接: https://news.ycombinator.com/item?id=39095337

Android x86/ARM 兼容性层(针对 x86 架构优化的应用程序)称为“应用程序兼容性转发”,自 Android N 起正式支持,通常通过 Dalvik VM 中的 ART 编译器实现,允许一定程度的交叉编译,并且最终应包括 将 x86 应用程序转换为 ARM 或反之亦然的框架(请参阅 https://android-developers.google.com/trouble ...)。 然而,它往往工作得很差(如果有的话),特别是对于较旧的、未优化的 ARM 应用程序,而不是 x86 <-> ARM 转换库,例如 QEMU(或更罕见的是 Virtualbox)或 KVM。 主要是由于二进制翻译开销、ARM 编译器中的解释开销、翻译应用程序缺少运行时依赖关系以及系统调用接口和特殊指令方面缺乏 x86 ISA 扩展。 虽然理论上可以移植/翻译,但像 Abiword、Fiji、OE、MS Office 套件、Adobe Suite 等应用程序,或者 WINE 本身,通常并不是那种会神奇地变得令人愉快或合理的东西,或者足够实用的东西 在这样的平台上远程享受。 根据经验,对于 Android(包括 ARM),与桌面操作系统发行版(例如 Debian)相反,即使这种翻译变得相当可行和/或足够高效以实际有用或实用,它并不总是 结果特别令人愉快或愉快,除非相关应用程序明确(或隐含)设计/构建为跨 ARM 和 x86 平台、或跨 iOS 和 Android 平台、或具有多平台功能(例如 Etherpad、Slack)无缝且愉快地工作。 com、Zulip),而不是将每个特定平台(设备)视为一个完全独立的宇宙,从根本上与其他宇宙互斥。 此类努力通常取决于某些设计模式、运行时条件或体系结构的细微差别。

相关文章

原文
Hacker News new | past | comments | ask | show | jobs | submit login
Winlator: Android app that lets you to run Windows apps with Wine (winlator.org)
356 points by davikr 2 days ago | hide | past | favorite | 122 comments










Fallout 3 video: https://www.youtube.com/watch?v=9E4wnKf2OsI

800x600, around 20 fps, settings on high.



What about proton-ge wine with Android x86? https://github.com/GloriousEggroll/proton-ge-custom

(Edit) the Moonlight + LizardByte/Sunshine server part of Steam-Headless can do 4k 120fps FWIU; and there's already a Moonlight client for Android [TV]. https://github.com/Steam-Headless/docker-steam-headless



Why would you run Android x86 on an Android ARM device?


Why would you run DirectX games in WINE also with x86 to ARM translation in userspace on Android?


because you own an arm device. emulation exploded on arm androids, see yuzu, dolphin and so on


"revng translates (i386, x86-64, MIPS, ARM, AArch64, s390x) binaries to LLVM IR" (2024) https://news.ycombinator.com/item?id=38975204


Impressive! What hardware is this running on?


Remarkable experiment, thanks for sharing.

How did you control it? Bluetooth maybe?



You can hook up a mouse and keyboard with an OTG USB cable.


Oh no! Those PC gamers are in trembles.


There are multiple Box+Wine distros floating around at the moment. r/EmulationOnAndroid likes to talk about https://github.com/olegos2/mobox as having the current best performance compared to Winlator.


On that note, termux is really freaking cool. It almost feels like I have Linux on a phone and makes me a bit sad that we have Android instead (yes, yes, I know it's technically based on Linux, but we all know that's not really the same thing).


Termux + nvim has enabled many from underpriviliged backgrounds who cannot afford a computer to get into programming and build a career for themselves.

Termux & F-Droid is so underrated.



>Termux + nvim has enabled many from underpriviliged backgrounds who cannot afford a computer to get into programming and build a career for themselves.

Really? Where? AFAIK even in poor countries, outdated old tower PCs over 10-15 years old, can be had for peanuts or even free if you go dumpster diving for parts through the imported e-waste scrap and build one yourself. No need to resort to using your phone as a computer.



This is still on the front page: https://news.ycombinator.com/item?id=39097681

The author says:

> I waited eagerly for the new release but got so excited I built this huge C++ project from source on my smartphone just to integrate lone with it



> No need to resort to using your phone as a computer.

I think you don't understand what it's like where I come from (India). Everyone has an android phone. Even kids who have never seen a laptop in their lives. If I was one of those kids, it would be quite unimaginable to go out and acquire a computer just to start programming. If I can just get started on my phone the barrier to entry is 10x lower.



Power it how? Stable electricity is not a given.


But you can power a smartphone enough to for long coding sessions?


The phone has a built in UPS for unstable power or rolling blackouts.

Also consider the power consumption of a smartphone vs a 10-15 year old PC.



That sounds ridiculous. If you can afford an android device then you can afford a $50 used laptop.


Used electronics of decent quality is really difficult to come across in third world countries.

There is both a cultural reason and an economic reason, people just keep their stuff longer instead of replacing it when the next generation technology is available.

I helped out at a computer repair shop as a teenager and the stuff people kept asking you repair were in really bad shape.



I imagine it's probably more than just price. A laptop is less portable and requires a backpack to carry it, and requires access to wall sockets to continuously charge it. You may be at greater risk of being robbed, and the people around you may have distrust of such technology or there may be other social factors at play. You also have to have the digital literacy to operate a full blown desktop operating system (may not be as much of a problem for people who figured out Termux, but Android is still much simpler in general).

Plus if someone has an Android device it doesn't mean they were easily able to afford it, it could've been a gift from long ago, or a hand-me-down, or required years of hard work to get, etc



>You may be at greater risk of being robbed

Isn't a phone a bigger target for theft??



Physically, no :-D


Why not? More people need smartphones than PCs, therefore there's a bigger market for them both legal and stolen.

PCs are more of a niche now.



I was just joking that a phone is physically smaller.


Here's a proof - https://twitter.com/cyb3rops/status/1548961346104053764

There are more such stories in Termux forums and in News sites.



There's no way that guy can't afford $50 for a used laptop.

He doesn't appear to say that he can't either - it's just a screenshot of termux. Guess what? I've also taken screenshots of termux. It's neat. If all you have is your phone or tablet, it works.

On his twitter page the only thing I see is a screenshot of gnome-terminal. So I guess he can indeed afford it.

Also lolled at "Volunteer Software Developer at @osintforukraine"



You need a phone to participate in society. Many people are in situations where they can afford a cheap phone and that's it.


standing up for the little man:

smartphones and tables are computers too!



True GNU/Linux phones exist.

Sent from my Librem 5.



My wife is using some custom software to create photo albums, so 99% of tablets don't work for her. With this I'm finally able to give her dream machine: affordable, lightweight and photo making machine.


I’d wonder how this would beat a used surface go or something similar - they’re pretty light and affordable. And, while they’re not powerhouses, I wouldn’t expect much from a budget android tablet emulating x86 and running wine.


You can get pretty powerful, nearly mint condition Surface alternatives from Dell and Lenovo for fraction of the price, if you look at post-lease hardware. My last two portable machines were such 2-in-1 devices - specs comparable to top Surface 2-in-1 line, but for one third of the price.


I would expect most budget Android tablets to provide a significantly more smooth experience than a Surface Go. While it was almost serviceable at launch, these days it can barely keep up with Windows.


Now I'm curious what photo software is so good to cling onto


The one you know how to work.

I'm also curious whichone that is for OP.



He said already.

"My wife is using some custom software"

Custom software.



I wonder if Wine on Windows has been done? Might be better backwards compatibility at this point.


Not exactly what you were asking, but winevdm [0] does use code from Wine to run 16-bit Windows applications on 64-bit Windows installs that don't support it natively (via ntvdm).

[0] - https://github.com/otya128/winevdm



While the specific names escape me, there have been a few projects over the years that have replaced DirectDraw or Direct X DLL files with re-implemented counterparts that tend to work much better on modern hardware.

I believe in one such case, the original StarCraft would run with really buggy colors using the official Windows DLL files and a drop-in DLL replacement would fix the issue (these days I think Blizzard has shipped their own fix for this issue).



Another would be DXWND which is amazing :) It has a ton of options that not only fix various issues with old games but you even have additional features like an ability to run games that never had that support in windowed mode.


One is DXVK which replaces DirectX calls with Vulkan calls


Do you mean WineD3D for windows? https://fdossena.com/?p=wined3d/index.frag




I've seen a blog post in the past about running it under WSL so it's entirely possible. That said you could probably just side-load Winlator in Windows 11 as well


They had official documentation on how to do this, although this page has been deleted: https://web.archive.org/web/20160115055656/http://wiki.wineh...


You can compile against Wine for Windows compatibility.


Wine is part of this project[1] to run 16-bit windows executables on 64-bit windows. But I think I've seen it referred to generally as 'wine for windows'. It's definitely been a target at times, but I can't find it at the moment.

[1] https://github.com/otya128/winevdm



On a similar/tangential note about running stuff on wine, does anyone know how to run Microsoft Office, or Netflix (or any similar DRM service like Prime videos) on Linux using wine?

I’m seriously considering switching to Linux on a new laptop as someone tired of windows eating resources randomly and I don’t want to install Windows 10 when I get my laptop. I’ve looked at hypervisors and have used hyper x but there still appears to be a performance hit even if the host is Linux (if I’m not mistaken).



DRM used to work; I installed Chrome in Lutris and managed to get Amazon Prime working, though Chrome was very buggy. Netflix sort of works in Firefox (needs an addon to play 1080p video, no idea about 4k).

Microsoft Office (at least, a version that's kept up to date) doesn't work in Wine. I find ONLYOFFICE to be a very competent replacement, though.

I've also used Cassowary to configure a Windows 10 VM + Remote Desktop Apps, which allow for Windows programs to appear native in the Linux launcher while secretly launching the VM and starting an RDP session for that application alone. It's a bit fiddly to set up, but it works if you rarely ever use Office.

As a last resort, you could do what Microsoft did with Windows 11 when Wordpad got removed: install Microsoft Office Online as a web application (requires Chromium/WebKit browser to be installed since Mozilla decided PWAs aren't important to desktop users).

If you don't care much about privacy risks, you could also skip the Linux crap and install ChromeOS Flex. It's probably the most user-friendly Linux desktop out there, and DRM should work out of the box.



Or just use reactos' Wordpad. Get their ISO, use 7zip to uncompress it, and search inside for a bigass CAB file which is hundred of MB's in size. Extract that with 7zip again under a "ros" folder and you'll have WordPad.exe, Calc and lots of goodies for free (as in freedom) in your Windows machine.


Why do you want to use wine to play Netflix videos on Linux. It works fine in the browser


Chrome on Windows supports different Widevine levels than Chrome on Linux does.


The higher levels all require keys baked into the GPU/other hardware support.

Doubt an emulator will help.



Yeah at that point just pirate things. Much easier and I don't think even the most moral person could argue against pirating something you can legally access anyway.


The money flows differently if you pirate it...

If you have a prime account and watch the show, then the shows actors/creators will get paid some cents from your prime membership fee.

Whereas if you have a prime subscription and pirate it, they won't.



Thats a content creator issue if they lose income due to DRM. Not our problem.


That's a you issue if a show you like gets canceled from lack of profitability due to pirating. It is your problem.


Open discussions like this should give them a hint what to do. Supporting DRM is just less ethical than pirating.


Sounds like a job for a bot that follows your Plex / Jellyfin history and clicks play on the original streaming service. You get to avoid whatever terrible UI the media conglomerate shackled their content to, get a persistent copy that works offline, and the creators still get paid. Everybody wins :)


> I don't think even the most moral person could argue against pirating something you can legally access anyway.

you'll be surprised



Yeah I'd say use the browser version.

Id recommend just dual booting Linux for a while. I have windows installed on my pc basically for when I need to sign a PDF, but it's handy every once in a while.

I'm one very happy Linux Mint user. It's the best distro by far imo.



> Yeah I'd say use the browser version.

That's what I was hopeful of but I think online office doesn't support features like comparing documents and other "heavier"/pro tasks.



I am working on Linux and using web versions of office 365 apps. Outlook, teams, onenote, word, excel...

No issue with streaming on the browser either.



Recently I've been using more and more the web versions of Microsoft apps. This made me think that I'll be able to switch back to Linux soon, as now almost everything can be done in the browser.


As someone who loves the dev experience of WSL2 on Win11, try out https://github.com/LeDragoX/Win-Debloat-Tools to strip down your Win install and get some resources back.


Feels like swimming against the current tho. Said dev experience poorly emulates actual linux at best. Also, I’d think twice before running custom windows isos or unvetted scripts.


I wonder how well audited these random GitHub projects are that claim to make Windows suck less.

Running random shit from GitHub with my root password gives me the creeps, even though most of them are probably innocuous.



I've been thinking along similar lines for a while now, among a lot of users there isn't a sense of security 'hygiene' and a lot of trust granted that doesn't have a foundation beyond looking legit (i.e. has a github). The main thing that seems to be stop it happening is a lack of returns compared to going after a corporation or social engineering/phishing to find someone who will give you money. What I do wonder about is supply chain attacks on something used by a lot of smaller projects, which would end up hitting more targets compared to compromising individual small projects.


Be wary, unknown actors are targeting devs. My email that is only exposed in github recieves targeted mails on the regular, maybe randomly or maybe because I released and contributed to several popular code bases.

Dev credentials tend to unlock more doors than hacking a soccer mom.



Older versions of Office can work quite well under Wine. 2007 is quite easy to get going using PlayOnLinux or Crossover for example. Newer versions are more trouble.


Netflix and Prime work fine on Linux, directly in the browser. I simply use Firefox, it just works.


Office has some pretty decent web apps (all of their apps switch to electron sooner or later anyway)


Fair warning though, your battery life will be like 1/4 of what it is on Windows, and Linux's memory handling on OOM is much worse than Windows. So saving resources probably isn't the best motivation.


This depends on your hardware. Choose a laptop designed to run Linux, not Windows.


Really cool. Just tried it with notepad++ and it seemed to work as expected. Can't find a use case for me yet but may come up.


Running iexplore.exe ;)


And then try running a PWA in there, submit a ticket because it doesn't work on your machine


You monster...


I just played Master of Orion (bought via GOG), which is a DOS game on DOSBox, one Wine, on Android :)


Love that game


I recently changed my work desktop environment to Linux, however the transition has been a bit rough. The University I work for uses Microsoft OneDrive for file storage and sharing, but won't authorize the 3rd party Linux onedrive app. I want the files locally, so the clunky web interface is a no go. I don't have a spare wINDOWS LICENSE.

There is however an official Android OneDrive app. So I installed an virtual android instance on my Linux workstation and logged in with the Onedrive app...but boom. The Ondrive app will store files locally, but not in the way of the Desktop app. Each file is named something random which is indexed by some database file, and the directory structure is not maintained at all. Making it pretty much unusable without some fix.

Its infuriating. A smart programmer might be able to make an interface that translates their directory system to the real one, but ugh.



I don't know if that helps in your case, but rclone is capable to sync onedrive ot a local folder (send/receiving). https://rclone.org/onedrive/>


here's a hunch assuming you tried the below client:

https://github.com/abraunegg/onedrive/blob/1a88d33be3e2c6747...

try changing that to e.g. the android onedrive client's id (hint: possibly b26aadf8-566f-4478-926f-589f601d9c74).

a similar trick works for exchange oauth (allowing third-party mail clients).



I'll try it!!


couldn't you run an absolutely minimal windows install in a virtual machine that boots up in the background and uses limited resources (1 CPU, 1GB RAM) and then use the virtual machine settings to share the OneDrive folder between host and guest?


With 3rd party do you mean this one?

https://github.com/abraunegg/onedrive/

Or which one did you try?



Try insync (one-time payment), and works like a charm. I've been using it for a couple of years, zero problems. Syncs noy only OneDrive, also Google Drive and others.

https://www.insynchq.com/



I don't understand that intersection of constraints:

- No Windows license

- Works for a large institution

- Institution's IT won't approve OAuth to a 3rd party client

Did you have a Windows license before you switched to Linux? How are you meant to do your job?



This kind of crap is typical for "shadow IT" scenarios... like, email is done by central, but individual departments can run their own IT because central IT doesn't want to be bothered with the kind of demands that the people who want to run desktop Linux tend to have on the regular.

And then, when stuff like OP crops up, they say "good luck, we only approve our system".



Gnome and Budgie desktop environments support Microsoft accounts just fine. Mail and everything will be synced.


Is this Box86 running Linux running WINE? That seems convoluted, but it's probably the most straightforward right now. Impressive!


Box64 and a bunch of extra settings (DXVK and such). It's a bit buggy in some places, but it works well once you get through the setup process.

This sucks the voltage out of my phone's battery faster than any other app I know, though. On the one hand, I now have a modded Oblivion install on my phone, on the other hand, I can play it for maybe half an hour before I need to look for a charger.



You can run Morrowind thru OpenMW.


Think it is Box64 (POSIX emulation w/ ISA translation, amd64 -> arm64) running WINE and DXVK via Mesa (Direct3Dxx -> Vulkan translation).

Wonder if Google Dawn (ANGLE and SwiftShader), which is bundled with Chromium for WebGPU, could be a drop-in replacement for DXVK + Mesa.



Not drop-in, because Dawn doesn't implement the Direct3D API. You could probably bridge Direct3D to WebGPU by implementing the headers[1] though, which is exactly what DXVK does for Vulkan [2].

[1]: https://github.com/Joshua-Ashton/mingw-directx-headers

[2]: https://github.com/doitsujin/dxvk/blob/master/src/d3d9/d3d9_...



Thanks.

> Not drop-in, because Dawn doesn't implement the Direct3D API.

Not Vulkan, but Dawn (I guess, I mean ANGLE specifically) can do D3DX 9 & 11 to OpenGLES? https://chromium.googlesource.com/angle/angle/+/main/README.... / https://archive.is/u2z2a



ANGLE is the opposite of what you want; it implements OpenGL ES (WebGL) on top of DirectX, when you want to implement DirectX on top of WebGPU.


Oh this sounds like a potentially fun way to do music production. I wonder how well stuff like Reason and Live might work here.


Wine does run Windows music software quite well, sometimes even better than Windows; in fact the first and most famous hardware VST host, the Muse Receptor, used Linux + WINE under the hood almost 20 years ago.

Here's a SOS review from 2005: https://www.soundonsound.com/reviews/muse-research-receptor

I'm not so sure about that under Android, however, since latency in audio apps has been a big problem on that platform for ages.



Wine on Linux desktop runs an older version of Reason okish, I believe. I never tested that, just read somewhere. But if you wanna run, say, Reason 12, I don't think it works very well.




Sounds very fun (except latency), contrary to my sibling commenters I'd also prefer "big boy" music software (even if very old) to something "made for mobile".

Makes me think this could also be the way to run PureData (the whole thing, not just compiled patches) on Android. Was a bit surprised it never got ported last time I looked.



But... why??? Are you going to hook up a mouse and keyboard and USB midi controller? Why not just do that on a similarly priced laptop?


Would be nice to sketch out small ideas like making patches or beats etc when bored / out and about in places it's not conducive to bring or bust all that stuff out.


What does that do that something like FLStudio mobile doesn't?

I feel like Reason or Live, out of all the available options, would be a worst case. I can barely read the text on Reason VST and Live's UI is very crowded. Unless you're walking around with a 10"+ tablet or something how would that even work?

Just seems like more trouble than its worth.



You'd be better of with a mobile music app than a DAW designed to work on a desktop Gui.


Reminds me of the approach for `ExaGear Strategies`. Was a popular way to run Heroes of Might and Magic III on Android.


I'd have named it aNTroid


Until you speak it out loud. Then it sounds like a creme you apply where the sun does not shine.


Or steroids for ants


Works for Google


I got Blender 2.79b working! So cool!


Brilliant, well done!


I wonder if with some tweaking, this could be used to run PC/Windows VR software on Android VR Platforms (e.g. Quest).


It should probably work normally. I will check if it works in my gearVR


Can I install Android on a macOS VM on UTM or parallels?

Virtualise Android to emulate x86



Sure, but why?

    brew install wine-stable


1. Install Android 2. Install Winlator on Android 3. Install x86 apps on macOS m processor


and Box86/64... not mentioned in this title here on HN


I've tried to use Wine throughout the decades and still feel delight when and application loads, but I've never once found it usable, due to one glitch or another, with the only exception being a couple video games. I'm not sure what I'm doing wrong. My recent attempts have been Fusion 360 and the Remarkable 2 app, both executing but so glitchy that it wasn't worth it. I appreciate the effort but it seems like chasing the dragon, at least with desktop apps. It does seem to have gotten a lot of traction with video games though.






Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact



Search:
联系我们 contact @ memedata.com