Wie-CE是在不同指令集架构Liux系统上运行Widows程序的兼容层,它基于Wie项目和Qemu项目。与Wie相比,Wie-CE可以模拟执行不同指令集的Widows软件,它使用修改过的Qemu作为指令翻译层。
相比其它跨指令集Wi32模拟方案,Wie-CE有以下优势:
1.采用奇美拉架构,将基于修改版QEMU的指令模拟层嫁接于Wie的WidowsDLL和Uix库之间,非必要不模拟,可以直接调用本机的应用程序接口。因此性能上面具有优势。模拟代码和本机代码采用双协程模式,通过特定数据结构的数据进行交互,从而兼容性大幅提升。
2.安装方便,运行时无须ROOT权限。以往的方案都是采用指令模拟层(Box86、Exagear、QEMU等)和Widows模拟层(Wie)分开的模式,部署配置复杂,且部分方案需要ROOT权限进行chroot操作。Wie-CE方案只有一个APP,部署简单,无需ROOT权限进行chroot操作,因此配置更为方便。
3.构建方式简单,只需构建2个模块,基于Wie的构建方案进行构建,只需按照文档中显示的内容构建即可。
其软件架构如下:
+---------------------+\|WidowsEXE|}applicatio+---------------------+/+---------++---------+\|Widows||Widows|\applicatio&systemDLLs|DLL||DLL|/+---------++---------+/+---------++---------++-----------++--------+\|GDI32||USER32|||||\|DLL||DLL||||Wie|\+---------++---------+|||Server|\coresystemDLLs+---------------------+||||/(otheleftside)|Kerel32DLL||Subsystem||NT-like|/|(Wi32subsystem)||Posix,OS/2||Kerel|/+---------------------++-----------+||/||+---------------------------------------+|||NTDLL|||+---------------------------------------++--------++---------------------------------------+\|Qemuloaderexecutable|}emulateloader+---------------------------------------+/+---------------------------------------+\|QEMU|}specialQEMU+---------------------------------------+/+---------------------------------------------------+\|Wiedrivers|}WiespecificDLLs+---------------------------------------------------+/+------------++------------++--------------+\|libc||libX11||otherlibs|}uixsharedlibraries+------------++------------++--------------+/(userspace)+---------------------------------------------------+\|Uixkerel(Liux,*BSD,Solaris,OS/X)|}(Uix)kerelspace+---------------------------------------------------+/+---------------------------------------------------+\|Uixdevicedrivers|}Uixdrivers(kerelspace)+---------------------------------------------------+/该项目已经测试可以在树莓派上运行WidowsX86软件,测试视频如下:
测试平台:Raspberrypi400
仙剑奇侠传3:https://www.bilibili.com/video/BV1Kd4y157Lm
魔兽争霸III:https://www.bilibili.com/video/BV1qK411k7mu










评论