Last week, we wrote about Raspberry Pi 4 Vulkan project status and future plans, and one person commented they are currently trying to get dxvk to work Box86, and that CNX Software should write about the latter.
Cool, but what does that mean? dxvk is an open-source Vulkan-based implementation of D3D9, D3D10, and D3D11 for Linux, and Box86 is a Linux userspace x86 emulator that works on 32-bit Arm targets like the Raspberry Pi SBC. Nice, and I remember I ran x86 Linux and Windows on Raspberry Pi a few years ago using a closed-source commercial program called Exagear, but having an open-source solution is even better.
That means 64-bit Arm is not supported at all, and Box86 can not even be built for Aarch64 targets. Since many x86 games require OpenGL, as opposed to OpenGL ES, Box86 works best in conjunction with gl4es.
By installing Box86 on Raspberry Pi 4, or other Arm boards like many of the Rockchip RK3399 SBC around, you’ll be able to run some older, lightweight x86 Windows or Linux games including WorldOfGoo, Airline Tycoon Deluxe, and FTL: Faster Than Light. You’ll find many video demos on Pi Labs YouTube channel including the one embedded below.
That’s Rayman 2 on Raspberry Pi 4 @ 1.5 GHz with Box86 and Wine x86, running at 30 frames per second with 1280×720 resolution with high graphics settings. Not too bad! There are also other platforms showcased including Rock Pi 4C (RK3399) with Armbian and Panfrost open-source GPU driver, Orange Pi 4, ODROID-XU4 (Exynos 5422), OpenPandora (TI OMAP3530), and more.
Not everything is running perfectly just yet, as for example Unity games are rather hit or miss for now due to Mono and the complexity of providing OpenGL 3+ support on Arm for games that require it, Linux Steam can run now with box86 but can be unstable, and Wine x86 emulator is only partly supported, albeit good enough to play Rayman 2 as we’ve seen above.
Check out the project on Github to find out how to get started, or get involved with software development.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
dxdk -> dxvk
many thanks!!
about gl4es. it’s not needed anymore on RPI, but it’s a requirement on any other ARM sbc running on blob drivers. it translate GL calls to GLES ones bc blob drivers mostly don’t support GL desktop profile. we used it on RPI4 when we didn’t have s3tc support to run games like don’t starve. we requested s3tc support on mesa, and now we have it, for both panfrost and videocore6 (v3d).
It is awesome. I’m running it on the RK3399 thanks to Salvador and Pitseb.
Performs great with many of my favorite old games.
Great to see ARM Linux having better GPU and mainline support.
Times are a changin’.
I’m just thinking that it could possibly make a good use of RK3288 boards like the MiQi, the Tinker board and various HDMI sticks. The 4 Cortex A17 in this CPU are very powerful, they’re about equivalent to A72 in 32 bit at the same frequency.
cod2 , pi4 ….0730:fixme:d3d9:Direct3DShaderValidatorCreate9 Returning stub validator 42932364.
0730:fixme:d3d9:Direct3DShaderValidatorCreate9 Returning stub validator 42932364.
0730:err:winediag:wined3d_texture_init The application tried to create a DXTn texture, but the driver does not support them.
Great. I used in past exagear but my PI4-key is lost or not available.
I could not get started BOX86 until now. Somebody sold me an WIN10-Version for RPI4 but until now it did not start – does anybody have a better IMG of WINdows-ARM for Raspberry pi armhf? – Emulator?