Wine-CE is a compatibility layer for running Windows programs on Linux systems with different instruction set architectures. It is based on the Wine project and the Qemu project. Compared with Wine, Wine-CE can emulate Windows software that executes different instruction sets, and it uses a modified Qemu as an instruction translation layer.

Compared with other cross-instruction set Win32 emulation solutions, Wine-CE has the following advantages:

1. Adopt the Chimera architecture, and graft the instruction emulation layer based on the modified version of QEMU between the Windows DLL of Wine and the Unix library. If it is not necessary, the emulation layer can directly call the application program interface of the machine. So there is an advantage in performance. The simulation code and the native code adopt the double coroutine mode, and interact through the data of a specific data structure, so that the compatibility is greatly improved.

2. It is easy to install and does not need ROOT authority when running. In the past, the schemes used the mode of separating the instruction emulation layer (Box86, Exagear, QEMU, etc.) and the Windows emulation layer (Wine). The deployment configuration was complicated, and some schemes required ROOT privileges for chroot operations. The Wine-CE solution has only one APP, which is easy to deploy and does not require ROOT permission for chroot operation, so the configuration is more convenient.

3. The construction method is simple, only need to build 2 modules, build based on the Wine construction scheme, just follow the content shown in the document to build.

Its software architecture is as follows:

+---------------------+                                  \
|     Windows EXE     |                                   } application
+---------------------+                                  /

+---------+ +---------+                                  \
| Windows | | Windows |                                   \ application & system DLLs
|   DLL   | |   DLL   |                                   /
+---------+ +---------+                                  /

+---------+ +---------+     +-----------+  +--------+  \
|  GDI32  | |  USER32 |     |           |  |        |   \
|   DLL   | |   DLL   |     |           |  |  Wine  |    \
+---------+ +---------+     |           |  | Server |     \ core system DLLs
+---------------------+     |           |  |        |     / (on the left side)
|    Kernel32 DLL     |     | Subsystem |  | NT-like|    /
|  (Win32 subsystem)  |     |Posix, OS/2|  | Kernel |   /
+---------------------+     +-----------+  |        |  / 
                                           |        |
+---------------------------------------+  |        |
|                 NTDLL                 |  |        |
+---------------------------------------+  +--------+
+---------------------------------------+               \
|            Qemuloader executable      |                } emulate loader
+---------------------------------------+               /
+---------------------------------------+               \
|                 QEMU                  |                } special QEMU
+---------------------------------------+               /
+---------------------------------------------------+   \
|                   Wine drivers                    |    } Wine specific DLLs
+---------------------------------------------------+   /

+------------+    +------------+     +--------------+   \
|    libc    |    |   libX11   |     |  other libs  |    } unix shared libraries
+------------+    +------------+     +--------------+   /  (user space)

+---------------------------------------------------+   \
|         Unix kernel (Linux,*BSD,Solaris,OS/X)     |    } (Unix) kernel space
+---------------------------------------------------+   /
+---------------------------------------------------+   \
|                 Unix device drivers               |    } Unix drivers (kernel space)
+---------------------------------------------------+   /

The project has been tested to run Windows X86 software on the Raspberry Pi. 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

#fanwenjieWineCE #Homepage #Documentation #Downloads #Compatibility #Layer #Windows #Based #Wine #Qemu #News Fast Delivery

Leave a Comment

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