[HN Gopher] Box64 - Linux Userspace x86_64 Emulator Targeted at ...
       ___________________________________________________________________
        
       Box64 - Linux Userspace x86_64 Emulator Targeted at ARM64 Linux
       Devices
        
       Author : varbhat
       Score  : 142 points
       Date   : 2023-03-11 11:27 UTC (11 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | Aissen wrote:
       | How does it compare to FEX ? Last time I looked it was the state
       | of the (FOSS) art for this use case. https://fex-emu.com/
        
       | SillyUsername wrote:
       | Supports Vulkan... so an RPi 4 can run x64 Linux, emulating
       | Wine64 (and Wine32), "emulating" DirectX games on Windows...
        
         | ThatPlayer wrote:
         | Vulkan drivers on the RPi are kinda terrible. Only supports
         | Vulkan 1.0. For better compatibility, a Rockchip SoC with Mali
         | GPU and Panfrost drivers support desktop OpenGL 3.1, so you can
         | use Wine's WineD3D on that.
         | 
         | https://mesamatrix.net/
        
         | ekianjo wrote:
         | It will work on a RPi4 but the limitations is going to be the
         | quality of the Vulkan drivers, and the memory that can be
         | allocated for graphics.
         | 
         | Also, a Rpi4 is going to be massively underpowered to run most
         | games in any way.
         | 
         | A much better example is the Mini PC with a D2000 Phytium 8
         | cores ARM process from China, equipped with an AMD RX550 GPU -
         | it can actually run Doom 2016 with Box86 and Box64:
         | https://youtu.be/5JwflzpWDzk?t=614
        
           | [deleted]
        
       | sylware wrote:
       | arm64 is not that interesting due the toxic IP tied to this ISA.
       | Would be more interesting to target RISC-V.
        
         | klelatti wrote:
         | You keep repeating that the Arm isa has toxic or super-toxic
         | IP. Are you implying that it can actively harm users of the Arm
         | ISA or do you just object to anything with proprietary IP?
        
         | qbasic_forever wrote:
         | ARM64 is very interesting because some of the best laptop
         | hardware in existence (best battery life, screens, etc.) use
         | it.
        
           | skrowl wrote:
           | [dead]
        
           | maven29 wrote:
           | Smartphones, tablets and ARM64 server deployments vastly
           | outnumber these luxury segment consumer devices.
           | 
           | There is a much better business case for x86 binary
           | translation outside of a lineup of laptops relatively few
           | people own (despite the crowd having formidable purchasing
           | power)
        
           | smoldesu wrote:
           | ARM does indeed have benefits, but if the most notable ones
           | to you are laptop hardware and screen quality then I'd argue
           | that ARM doesn't really interest you at all.
        
         | mort96 wrote:
         | ARM64 is interesting because a ton of people have ARM64
         | hardware. In an ideal world we'd all be using RISC-V rather
         | than either ARM64 or x86_64, but we're a long, long way away
         | from that.
        
         | teilo wrote:
         | RISC-V may become the open source ARM, or it may be a complete
         | bust. At this point, either could happen. As it is now, there
         | are only a few hardware implementations and all of them are dog
         | slow compared to ARM.
        
           | snvzz wrote:
           | With RISC-V having shipped billions of cores in 2022, the
           | latter is unlikely.
        
         | IOT_Apprentice wrote:
         | RISC-V has a minimal installed based and ARM64 doesn't.
         | Therefore the potential number of users positively impacted by
         | further development is larger.
        
         | snvzz wrote:
         | Fortunately, the author seems to care[0].
         | 
         | 0. https://forum.rvspace.org/t/work-on-risc-v-dynarec-for-
         | box64...
        
       | tkiolp4 wrote:
       | Talking about emulation/VMs, I have recently played with
       | multipass (from canonical) to run ubuntu VMs on my Apple M1. It
       | works like a charm! In the past I have tried VMware and Vagrant,
       | and while they somehow work, I'm always running into issues. More
       | recently I tried qemu, and I spent many days trying to figure out
       | the correct set of command line parameters to run linux. The bad
       | thing about multipass is that it only runs Ubuntu VMs. The good
       | thing (besides working out of the box) is that mutipass uses qemu
       | behind the curtains, and as part of the logs multipass spits out,
       | one can see the complete set of command line parameters that was
       | used to spin up the VM (so that can be used as a blueprint to run
       | other VMs besides Ubuntu)
        
         | rcarmo wrote:
         | It uses _parts_ of QEMU, but not the whole thing.
        
         | yonz wrote:
         | TIL Adroid Emulator is Qemu
         | 
         | https://android.googlesource.com/platform/external/qemu/+/2d...
         | 
         | It saddens me that so many of these open source projects barely
         | get any monetary love.
        
         | vbezhenar wrote:
         | One issue with those "shortcuts" is that you'll end up with
         | crazy arg strings consisting of 20+ cryptic parameters.
         | 
         | qemu actually has sane defaults, so it's not that hard to
         | launch a VM, if you don't need all fancy features (chances you
         | don't).
         | 
         | I'm not sure if it's really worth it to spend time reading qemu
         | manuals. I did it and I'm using shell scripts to start VMs
         | which is easier for me than learning another qemu wrapper. And
         | I know that I'm using bare minimum which I like.
        
         | jweir wrote:
         | We migrated from Vagrant/VirtualBox to Mutlipass and Mutagen.io
         | for file sync. The only thing I miss is the private networking
         | options of VirtualBox. So we pull the ip from Multipass and put
         | it in etc/hosts for name registration.
        
         | nousermane wrote:
         | > tried qemu, and spent many days trying to figure out the
         | correct set of parameters
         | 
         | It's really not that hard, once you get used to it. Or, if you
         | rather not spend that precious time, there is a GUI tool that
         | would configure those parameters for you:
         | 
         | https://virt-manager.org/
         | 
         | Bonus: once started with virt-manager, run "ps ax | grep qemu",
         | et voila - you have your qemu parameters, ready to copy-paste,
         | should you wish to run exact same VM later from a script, or
         | something...
        
           | moondev wrote:
           | Does virt-manager run on aarch64 macOS? I thought it needed
           | libvirtd.
        
         | shoo_pl wrote:
         | Have you seen https://github.com/lima-vm/lima ?
         | 
         | Runs linux VMs and can run x64 via quemu or even using rosetta2
         | & apple virtualization framework
        
           | dicknuckle wrote:
           | I've used that and can confirm it works great. I just use it
           | to run Arm64 Linux on my M1 chip at work for speed.
        
         | ekianjo wrote:
         | > Talking about emulation/VMs,
         | 
         | Box86 / Box64 is however not emulation or VM. It translates X86
         | and X86_64 cpu code to ARM code. If anything it's very close to
         | what Rosetta2 does on Mac.
        
       | ekianjo wrote:
       | Recent video here about what the latest update brings (Steam Full
       | Picture Mode in action)
       | https://www.youtube.com/watch?v=wcck7ZTo4-8
        
       | mogery wrote:
       | oh hey! i worked on this a while back!
       | 
       | really cool project. runs unity games too. author is a very
       | talented guy
        
         | ekianjo wrote:
         | > author is a very talented guy
         | 
         | Almost an understatement, he's done amazing projects throughout
         | the years:
         | 
         | https://github.com/ptitSeb?tab=repositories
        
       | skrowl wrote:
       | [dead]
        
       | parasti wrote:
       | Slightly off-topic, but the author also made gl4es, a library
       | that basically allows all kinds of OpenGL apps to run on modern
       | devices. Shameless plug: gl4es is what allowed me to port
       | Neverball to the browser.
       | 
       | https://neverball.github.io
        
         | dicknuckle wrote:
         | What about GL2ES and GL3ES? I use them in Retroarch on my
         | android TV box.
        
           | mort96 wrote:
           | I don't think there's a GL2ES and GL3ES? Are you thinking
           | about GLES 2 and GLES 3? Those are graphics APIs standardized
           | by Khronos, being versions of OpenGL for Embedded Systems
           | (OpenGL ES).
        
         | lunixbochs wrote:
         | > made gl4es
         | 
         | Neverball was working in the original glshim project before
         | ptitseb forked it to gl4es. (Not to discount the significant
         | work he's put in since, including the ES2 backend)
        
       | MuffinFlavored wrote:
       | How does performance for this compare with QEMU?
        
       ___________________________________________________________________
       (page generated 2023-03-11 23:00 UTC)