The first official version v8.0 of Wine-CE is released, which is based on Wine 8.0 and Qemu 7.2.0, and can run x86 Win32 programs on the ARM platform. Prior to this version, 2 preview versions were released. And it has been successfully tested on the Raspberry Pi 4 platform.

Compared with other solutions for running x86 applications on the ARM platform, this solution grafts the instruction translation layer, that is, the modified Qemu, between the Windows Dll layer of Wine and the Unix library layer, thus following the non-essential and non-emulated The principle is to only translate the Windows Dll of the x86 architecture and the simulated application program, and share a set of Unix libraries with the original Wine. In this way, the library and driver of the host architecture ARM can be used directly, and the simulation work of the underlying library and driver such as the graphics API can be avoided. Compared with other solutions, this project can directly consume the host’s file system without rootfs and chroot operations, so it can be used normally without root permissions.

The project is based on the latest stable branch of the Wine and Qemu projects, and takes full advantage of the latest features of Wine and Qemu. During the development of this project, the global description table (GDT) bug in Qemu x86 user mode was fixed, which would cause the segment register value simulated by multi-threaded runtime to be accidentally modified. Due to the repair of this bug, Wine-CE can directly use Qemu’s user mode without soft page table as the instruction translation layer, so that the simulation layer and the base layer use the same memory address space, and then ensure the two-way communication between the two by means of coroutines Quick interaction.

In addition, this project uses DXVK as the implementation of Direct3D. Compared with other projects, this project modifies DXVK so that it can run on Raspberry Pi. Therefore, for the execution of the Direct3D program, the Direct3D call will be translated into a Vulkan call, which will be handed over to the host for local execution, thereby greatly improving the graphics rendering performance and laying a solid foundation for the operation of 3D games.

The Wine-CE project not only provides complete source code and construction process description in the warehouse, but also provides binary packages, which can be quickly deployed to machines for execution.

Project address: https://gitee.com/fanwenjie/wine-ce

The test video is as follows:

Test platform: Raspberrypi 400

Legend of Sword and Fairy 3: https://www.bilibili.com/video/BV1Kd4y157Lm

Warcraft III: https://www.bilibili.com/video/BV1qK411k7mu

#official #version #WineCE #released #Wine #run #programs #instruction #architectures #News Fast Delivery

Leave a Comment

Your email address will not be published. Required fields are marked *