[HN Gopher] MiceWine - run Windows applications and games on And...
       ___________________________________________________________________
        
       MiceWine - run Windows applications and games on Android
       smartphones
        
       Author : bj-rn
       Score  : 155 points
       Date   : 2024-12-30 08:38 UTC (14 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | fermuch wrote:
       | How is this different to winlator? It seems to depend on termux
        
         | dizhn wrote:
         | Which winlator ? :) People are rightly very suspicious of
         | windows emulators coming out every day. Wonder why we haven't
         | seen this in emulator forums.
        
       | spidermonkey23 wrote:
       | Interesting, I've not heard of this one before. Most of the
       | emulation community has settled on 'Winlator' as the main android
       | windows emu of choice. Before this it was Exagear, but winlator
       | is easier to get started with. Another route is using proof
       | termux with a DE like xfce and connecting with X but not sure how
       | good this setup is for pure gaming performance, but may be a good
       | option for Dev work.
        
         | popcar2 wrote:
         | Winlator will still be the best option in the near future but
         | the community has been really wanting alternatives since
         | Winlator isn't fully open source. The lead dev develops outside
         | of the repo and appears every few months with an update, but
         | never released the source code for the newest version (8.0)
         | 
         | Now the community is split into multiple forks of version 7.1
         | in order to add new features & fixes, like Winlator Frost and
         | coffincolors' fork. It's hampering progress and makes the scene
         | very confusing to navigate, so we're rooting for a neater
         | alternative, whether that's MiceWine or whatever else is coming
         | up.
        
           | beAbU wrote:
           | https://xkcd.com/927/
        
       | andai wrote:
       | How does this work? Does it run the x86_64 version of Wine in
       | Box64? My understanding of wine was that it just translates API
       | calls, shouldn't it work on any ISA then? (Or is most of a
       | program / game math and that stuff would fail?)
        
         | jeroenhd wrote:
         | Box64 does the x64 to ARM translation (while keeping
         | performance as high as possible by calling native ARM library
         | code wherever possible). Throw Wine in there to implement the
         | Windows APIs and you can run amd64 PE binaries on aarch64 with
         | decent performance.
         | 
         | You can't run amd64 without something like Box64 because Wine
         | is not an emulator, so it doesn't interpret or rewrite the
         | instructions to aarch64.
         | 
         | You can use Box64 on other ISAs if you implement the necessary
         | translation code. I believe this is what's being done to run
         | games on RISC-V, but I'm not 100% sure. Good ol' qemu-static
         | would also do the job if Box64 isn't compatible (yet), but
         | that's running the entire application in a foreign architecture
         | so the overhead would be a lot more significant.
        
           | Vogtinator wrote:
           | Can wine do ARM64X resp. ARM64EC to mix native aarch64 code
           | with emulated x86(-64) code in the same process for better
           | efficiency?
        
             | jeroenhd wrote:
             | Wine doesn't do any of that as far as I know. It loads a
             | Windows PE file, it's (placeholder) DLL dependencies, and
             | starts executing at the main entrypoint. Box64 does
             | translation and has some specific placeholder DLLs that
             | intercept API calls and call native code rather than
             | emulating the entire process.
             | 
             | If what you describe is being done, it's being done by
             | Box64. I don't know enough about aarch64 to know what
             | ARM64X and ARM64EC do, though. I can find [a Github comment
             | ](https://github.com/ptitSeb/box64/pull/858#issuecomment-16
             | 057...) where one of the authors states that the goal is to
             | implement ARM64EC, but I wouldn't know what the status is
             | on that.
        
       | NullPrefix wrote:
       | Another app that demands my dick pics (storage permission) and
       | refuses to work without
        
         | daghamm wrote:
         | This is a bit surprising in 2024 (well almost 2025). Android
         | has a really nice API for reducing the need for this
         | permission, and most of it has been around sicnce android 10.
         | 
         | https://m.youtube.com/watch?v=UnJ3amzJM94
         | 
         | Maybe the author is not aware of these? How about opening an
         | issue?
        
           | moneytoo wrote:
           | If the non SAF API provides even 1% better performance, it
           | makes sense to use it. Especially for open source emulating
           | software.
        
             | maccard wrote:
             | Does it in this case?
        
             | anthk wrote:
             | Ironically Lemuroid doesn't work on Android 8 due to SAF.
        
           | wiseowise wrote:
           | > really nice API
           | 
           | Excuse me? SAF is awful and source of constant complaints
           | from developers.
        
             | pjmlp wrote:
             | Mostly by folks that keep the mindset Android is GNU/Linux,
             | instead of finally getting the point it is a managed OS
             | that happens to use the Linux kernel as implementation
             | detail.
        
         | wiseowise wrote:
         | How would you do it without storage permission? Win
         | applications generally have dozens to hundreds of files.
        
           | jeroenhd wrote:
           | Android applications can use their own private data
           | directories just fine, you don't need any permission for
           | that. Termux, for instance, can run entire Linux distros
           | without ever being granted storage permissions.
           | 
           | They can also request the user for a specific folder to get
           | read/write permissions for (rather than the entire shared
           | storage space).
           | 
           | Just requesting full access to the entire shared storage is a
           | lot easier to implement, but it's also not great for privacy
           | and security. Google is trying to crack down on these
           | permissions in the Play Store for this reason.
           | 
           | Several apps have been caught extracting location history
           | data from pictures stored in the camera directories already,
           | so it's not a theoretical threat. Unfortunately, app
           | developers have been reluctant to implement the (much better)
           | specific file picker introduced in Android 4.4, but now
           | they're being forced to if the want Google Play access in the
           | future.
           | 
           | The scoped storage API has some downsides, though, such as
           | reduced performance. Not really a problem if all you want to
           | do is upload a picture or save a document, but when you're
           | running executables from there you may run into a wall. This
           | can be circumvented by copying the files to the app's private
           | data directory, but people may want to use the selected
           | folder to copy output back to Android, and a copy action
           | obviously doubles the space required at least temporarily.
           | 
           | That being said, I believe applications shouldn't refuse to
           | work entirely without full access to every file on the shared
           | storage space. They can ask the user what they want to do if
           | the storage permission is denied rather than refuse to work.
           | 
           | Extra unfortunate is that the new file picker Google
           | introduced a few months ago for media selection is absolutely
           | terrible in my opinion (no directory support, just a flat
           | list of images), but some other phone brands offer file
           | pickers of their own.
        
             | wiseowise wrote:
             | I think both you and I agree that Android's implementation
             | is awful. I don't think it is fair to blame developers
             | because Google is being bad OS steward.
        
               | jeroenhd wrote:
               | I don't think invidual developers are to blame
               | necessarily, but Android developers at large have been
               | ignoring privacy-friendly storage APIs for a literal
               | decade at this point.
               | 
               | While I have my problems with the current state of things
               | in Android, I think the new mechanism is better as a
               | whole than the old mechanism where every flashlight app
               | could upload your nudes to the cloud without you knowing.
               | Had the Android developer landscape jumped ship to these
               | APIs earlier, I'm sure the kinks would've been worked out
               | years ago.
               | 
               | The unfortunate lesson Google seems to have learned is
               | that giving developers the option to use safer, privacy-
               | friendly APIs that put the user in control doesn't work,
               | and forcefully disabling old APIs and forcing developers
               | to update their apps to comply does. Hardly a surprise,
               | to be honest, given Android's ecosystem is still full of
               | shovelware and third-party "ad libraries" filled with
               | adware and stalkerware (often making use of an app's
               | legitimate permissions for nefarious means). I'd like
               | Google to crack down on these, at least on their store,
               | but then I'm sure we'd see weeks of HN threads about how
               | Google broke the latest and greatest app by altering the
               | API.
        
         | sureglymop wrote:
         | On GrapheneOS (an android AOSP fork) there is a "storage
         | scopes" feature such that one can give permission only to
         | select directories or files. I recommend this if you care a lot
         | about this.
        
           | bangaladore wrote:
           | One big plus I found when switching to Apple after using
           | Android phones for 10+ year was essentially always scoping
           | file/photo storage.
           | 
           | It seems like a pretty easy thing to do, and I don't know why
           | its not common / not a thing on common Android phones.
        
         | leshenka wrote:
         | oh man i hate when this happens. Same thing on ios,
         | applications want photo access and refuse to use the system
         | photo picker and leave me with a very uncomfortable dilemma.
         | And it's not like only small apps from indie devs that don't
         | know better, it's actually the opposite.
        
           | bbarnett wrote:
           | Even scanning metadata, exif tags can be valuable. So I'm not
           | surprised that larger companies do this.
        
         | xnx wrote:
         | I blame Android for not providing fake/empty storage to an app
         | when permission is not granted.
        
           | skeledrew wrote:
           | This is asking for trouble when someone accidentally doesn't
           | provide and fails to realize, or deliberately doesn't and
           | have forgotten the choice later on when they may want to.
        
             | anonymfus wrote:
             | I believe most of the commercial Android phones already
             | have a regular task that resets permissions for unused apps
             | to serve people who gave permissions accidentally or
             | forgotten about them after setting them deliberately.
        
           | n144q wrote:
           | You think that kind of solution is understandable for an
           | average user, like an uncle who has little computer
           | knowledge?
        
             | bbarnett wrote:
             | Should we target the lowest common denominator?
             | 
             | Should remove all books above a grade 10 reading level,
             | since most people can barely read?
        
             | sionisrecur wrote:
             | Average user would not care if their files are in an
             | application specific folder.
        
       | sirjaz wrote:
       | Now someone needs to make it work the other way. Android apps on
       | Windows!
        
         | givinguflac wrote:
         | It exists; but not for much longer:
         | 
         | https://learn.microsoft.com/en-us/windows/android/wsa/
        
         | bitwize wrote:
         | Well, there is BlueStacks...
        
           | thereticent wrote:
           | BlueStacks seems to work great for games. Compared to Nox
           | anyway, and even that was so cool when I first found it. I've
           | heard of LD Player as well but haven't used it.
           | 
           | Is it more difficult to get non-gaming apps working?
        
             | bangaladore wrote:
             | Last I tried, many non-gaming apps do not function anymore
             | because google identifies the device as non-physical.
             | 
             | I think its opt-in by the app developer, Authy (shitty
             | company, I'm aware) does not work on Bluestacks. That's a
             | pain, because I've used Bluestacks to migrate auth codes
             | before.
        
       | rkagerer wrote:
       | This is great! There are so many fantastic Windows games from the
       | pre-smartphone era, before ads, in-app purchases, etc. came along
       | and ruined things.
       | 
       | BTW if you liked _X-Com: UFO Defense_ and want a blast from the
       | past, try out _The X-Com Files_ [1]. It runs on the Android build
       | of _OpenXcom_ [2], and it's not terribly difficult to set it up
       | to sync Savegames between Android and your desktop.
       | 
       | [1] https://openxcom.org/forum/index.php?topic=4595.0
       | 
       | [2] https://openxcom.org/forum/index.php/topic,5258.0.html
        
       | mdaniel wrote:
       | Dear GitHub: please consider providing a nudge for the owner to
       | include a license when creating a public repo. Otherwise the fork
       | button becomes kind of weird, right?
        
         | do_not_redeem wrote:
         | 1. Off topic
         | 
         | 2. GitHub already does this. https://i.imgur.com/yAfwWGs.png
        
           | pmontra wrote:
           | Probably the default should not be None. There should be a
           | mandatory license, either the Unlicense
           | https://unlicense.org/ or something even simpler ("this is
           | public domain".)
        
             | MoreMoore wrote:
             | To expand on this a bit, in many places a software project
             | without a license means that all rights are reserved by the
             | author and that nobody else has any legal right to use it
             | in any way.
             | 
             | I'm not sure if unlicense/public domain would be a better
             | default though. _At the very least_ , that Github prompt
             | should explicitly state with a warning what it means when
             | you select "None" as the license. I think most people don't
             | realize or know what it means for others who want to look
             | at or use the project.
        
       | blacksmith_tb wrote:
       | Odd choice of name, to my ear at least, given that Android
       | devices rarely have mice...
        
       | shams93 wrote:
       | This is especially sweet for owners of high end android tablets,
       | where if you have an android 16 tablet you can then run both
       | windowws legacy apps and full linux desktop on the same device.
        
         | qup wrote:
         | How good is the desktop experience?
        
       | offmycloud wrote:
       | It would be great if this was on F-Droid.
        
       | cess11 wrote:
       | So, there's actually a chance I could play Populous: The
       | Beginning on a tablet?
        
       | preezer wrote:
       | Maybe my dream comes true... Playing WoW on my Fold with a
       | Controller without streaming.
        
       | lykahb wrote:
       | How does this work in practice once you run the application? The
       | windows games are designed for a large screen and keyboard&mouse.
        
       ___________________________________________________________________
       (page generated 2024-12-30 23:00 UTC)