Wine-CE —— 基于 Wine 和 Qemu 的 Windows 兼容层

Wine-CE 是在不同指令集架构Linux系统上运行Windows程序的兼容层,它基于Wine项目和Qemu项目。与Wine相比,Wine-CE可以模拟执行不同指令集的Windows软件,它使用修改过的Qemu作为指令翻译层。

相比其它跨指令集Win32模拟方案,Wine-CE有以下优势:

1. 采用奇美拉架构,将基于修改版QEMU的指令模拟层嫁接于Wine的Windows DLL和Unix库之间,非必要不模拟,可以直接调用本机的应用程序接口。因此性能上面具有优势。模拟代码和本机代码采用双协程模式,通过特定数据结构的数据进行交互,从而兼容性大幅提升。

2. 安装方便,运行时无须ROOT权限。以往的方案都是采用指令模拟层(Box86、Exagear、QEMU等)和Windows模拟层(Wine)分开的模式,部署配置复杂,且部分方案需要ROOT权限进行chroot操作。Wine-CE方案只有一个APP,部署简单,无需ROOT权限进行chroot操作,因此配置更为方便。

3. 构建方式简单,只需构建2个模块,基于Wine的构建方案进行构建,只需按照文档中显示的内容构建即可。

其软件架构如下:

+---------------------+                                  \
|     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)
+---------------------------------------------------+   /

该项目已经测试可以在树莓派上运行Windows X86软件,测试视频如下:

测试平台:Raspberrypi 400

仙剑奇侠传3:https://www.bilibili.com/video/BV1Kd4y157Lm

魔兽争霸III:https://www.bilibili.com/video/BV1qK411k7mu

 

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/p/fanwenjie-wine-ce

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。