Wine-CE 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Wine-CE 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Wine-CE 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 LGPL
开发语言 C/C++
操作系统 Windows
软件类型 开源软件
开源组织
地区 国产
投 递 者 范文捷
适用人群 未知
收录时间 2023-01-24

软件简介

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

 

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣 发布并加入讨论🔥
发表了资讯
2023/04/03 09:02

Wine CE 8.5 发布,首次实现无本机 32 位库且无 softmmu 支持前提下模拟 32 位应用

Wine CE 8.5发布,该版本基于Wine 8.5和Qemu 8.0.0-rc2,是运行于Linux平台跨指令架构的Windows应用模拟器。此次更新除了携带Wine和Qemu的最新更新外,还解决了在64位平台上无本机32位库支持和无Softmmu(软内存管理单元)的前提下,高性能实现32位被模拟应用透传调用主机端64位接口的难题。 由于越来越多基于包括ARM、RISC-V等架构的芯片放弃了对32位的支持,传统的32on32同长度位架构高效模拟32位应用的方案面临挑战。且Windo...

0
0
发表了资讯
2023/02/19 23:30

全球首个运行于 RISC-V 平台的 Windows x64 软件模拟器发布

在最新的 Wine-CE 8.2 更新中,首次添加了针对RISC-V的支持,因此Wine-CE也成为全球首个运行于RISC-V平台的Windows x64软件模拟器。 近些年来,在半导体产业受到地缘政治影响的背景下,以开放性著称的RISC-V芯片指令集架构的影响力与日俱增。RISC-V指令集拥有基于开源、开放、共建、共治模式发展的全球生态,相较于其它指令集而言,其可以不受某个商业或政治实体控制,且无须支付授权费即可使用。因此,其被主导自主可控领域的企...

5
1
发表了资讯
2023/02/19 01:36

Wine CE 8.2 发布,新增 RISCV64 Linux 平台的支持

由于Wine更新至8.2版本,跨指令集架构Windows应用模拟器Wine CE也随之变基更新至8.2版本,此版本基于Wine 8.2和Qemu 7.2.50分支。在引入Wine 8.2的更新的同时,此版本有以下更新: 1. 添加本机端对RISCV64的支持,可以在RISCV64架构Linux平台运行x64和ARM64架构的Windows程序,并已经在赛防科技昉星光2开发板上进行了验证。此版本携带了QEMU未经正式发布的RISCV代码生成BUG的修复补丁,以及Wine CE作者对QEMU x86输入的GDT错误实...

0
0
发表了资讯
2023/02/05 20:49

Wine-CE 8.1 发布,新增交叉架构进程启动功能

Wine-CE 8.1 发布,此版本基于Wine-8.1和Qemu-7.2.0, 该版本是Wine-CE的第二个正式版本。 由于Wine更新至8.1版本,为了能充分利用Wine的最新特性,因此Wine-CE也针对Wine的最新版本进行了变基更新。此版本的Wine-CE,除了附带Wine的多项更新外,还增加了以下更新内容。 0. 新增交叉架构进程启动功能特性,例如可用armhf架构的可执行PE文件进程启动i386架构的可执行PE文件进程。即可安装不同架构的PE文件,并进行互相交互。 1. 对...

7
1
发表了资讯
2023/01/26 12:35

Wine-CE 首个正式版发布,可跨指令架构运行程序的 Wine

Wine-CE 首个正式版v8.0发布,该版本基于Wine 8.0和Qemu 7.2.0,可在ARM平台上运行x86 Win32程序。在此版本之前,已发布2个预览版。并已经在树莓派4平台上成功进行了测试。 和其它在ARM平台上运行x86应用程序的方案相比,该方案将指令翻译层,即修改过的Qemu,嫁接于Wine的Windows Dll层和Unix库层之间,从而遵循了非必要不模拟的原则,即只对x86架构的Windows Dll和所模拟的应用程序进行翻译,并且和原生的Wine共用一套Unix库。...

37
6
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
21 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部