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.