Box86, an x86 app player for ARM with native rendering performance
github.comSee this for a lot more details: https://www.giantpockets.com/box86-run-x86-code-and-games-on...
Thanks for linking that as well as your earlier HN posts about Box86:
* https://news.ycombinator.com/item?id=19389120
* https://news.ycombinator.com/item?id=19400920
I think there are a couple factors that have limited the awareness of Box86. One is having the word "Box" in its title which reminds too much of existing solutions DOSBox or Bochs that already do their job.
The second is occasionally headlining Box86 as an "emulator", taking into account that most of the audience does not get very far into the article. Even if Box86 does use x86 emulation it's important to highlight that libraries like OpenGL and SDL run natively. Compare that framing to WINE, which is so forthcoming on not being an emulator that it's in the name.
How does this compare to the ish.app Linux emu for iOS?
I’d love tinker with using my iPhone as my workstation. Airplay or av-cable, usb keyboard
Good question. iSH appears to be a true emulator with syscall translation much like qemu-user, so it's versatile but wouldn't run a game library like SDL natively.
"App player". That's a really curious term. Is there any chance this will run on 64-bit Arm cores in the near future? I may have gotten the wrong impression, but from the past few years that I've perused the market of Arm SBCs - including the incredible variety of highly affordable Chinese "Android TV boxes" - it seems that 32-bit Arm has more or less left the building already.
Good question. ptitSeb's work tends to target armv7 as that's the architecture used by OpenPandora.
I don't know if this design currently depends on specifics of the armhf ABI vs aarch64.
With regard to the market, 64-bit SBCs (such as Raspberry Pi 4) often run 32-bit operating systems such as Raspbian. Even 64-bit ARM operating systems such as Ubuntu, Gentoo, and Manjaro are capable of running 32-bit software such as this via multiarch, chroot, or containers.
Does this mean we can finally use 32bit wine on android??
Hangover kind-of works: https://github.com/AndreRH/hangover/releases
Where does he get these games? Are they freeware?
https://www.gog.com/game/airline_tycoon_deluxe
https://www.gog.com/game/world_of_goo (was also free on Epic Game Store a while ago, plus in a million different bundles)
for example.
The games used as tests seem to be lower end indie titles that can be found DRM-free (because you don't also want to have to work around that)
Nice - thanks
Question: does anyone know if this can be used to run chrome / Netflix on a raspberry pi?
I guess it's theoretically possible to emulate the x86 Widevine DRM plugin while running other browser code natively.
However, there's already an easier way to run Netflix on a Pi 4 natively. Someone figured out to just to grab the armv7l libwidevine binary from Chrome OS: https://blog.vpetkov.net/2019/07/12/netflix-and-spotify-on-a...
Nice progress towards making x86 redundant.
Too bad it targets ARM and not rv64gc, but it's a start.
I'm curious why it isn't based on qemu-user.
It targets a widely deployed architecture rather than one you can't buy at consumer level?
In addition of Risc-V not being generally available for consumers the currently available dev boards are hilariously slow compared to ARM.
It’s bit like arm and x86 15 years ago. There is not even a contest between them. Only in the later years with the new 64bit arm cores it’s getting there, heck the latest Apple chips actually beat Intel ones in IPC.
EDIT: The emulator doesn’t have anything arm specific. It will work on anything 32bit and little-endian.
> I'm curious why it isn't based on qemu-user.
I've also wondered what it would take to do multi-architecture dynamic linking in qemu-user. Such a capability would avoid one shortcoming of Box86, the current lack of dynamic recompilation.
I suspect that modifying QEMU in this way is not trivial.
I understand your perspective, but I think it's GREAT that it targets Arm. If anything finally can and finally should replace x86/64, to usher in a new era of power-efficient computing, it should be Arm.
Just curious why you think that? ARM cores can sip power when idle, but the story for performance-per-watt under load appears less clear.
> the story for performance-per-watt under load appears less clear.
Is this referring specifically to their in-order cores (Cortex-A53, A35), out-of-order cores (Cortex-A72, A73), or big.LITTLE configurations in general? *
Thinking more broadly, the next era of power-efficient computing may depend more on heterogeneous architectures than the CPU alone. The Arm ML Processor IP and corresponding offerings from competitors play a large role in this.
* Can be generalized to custom cores designed by NVIDIA, Qualcomm, Samsung, Apple, and other vendors.