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

来源: 投稿
作者: 范文捷
2023-02-05 20:49:00

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. 对代码进行了部分重构,将部分PE文件内的修改移至Unixlib部分。包括但不限于Ntdll、Kernel32。并大幅简化了代码实现,对性能有轻微提升。彻底解耦前后端功能。

2. 修复了若干Bug,例如ARM平台上i386架构进程在system32文件夹内安装文件会覆盖ARM架构PE文件。异构进程在system32文件夹内安装文件将重定位路径至该架构对应的系统文件夹内。

Wine-CE是运行于Linux平台。基于Wine和Qemu的异架构Win32二进制翻译执行软件。和其它方案相比,该软件采用了奇美拉架构。即软件架构由上到下分为3个层次:

1. 客户端指令架构层(奇美拉之狮头):该层主要是客户端指令集架构的Win32 PE可执行文件,包括但不限于被翻译执行软件和内置的可执行文件、动态链接库等。该层用于提供被翻译软件的依赖库,并将部分PE调用封装为系统调用。和接收来自本机的回调。

2. 指令翻译层(奇美拉之羊身):该层是修改过的用户模式的Qemu,和原版Qemu相比,此Qemu去除了不必要的线程锁,以及新增了用于访问宿主端指令架构层的系统调用接口。该层用于翻译客户端指令和转发客户端的本机系统调用。或者将系统端指令架构层的回调转发给客户端指令架构层执行。

3. 系统端指令架构层(奇美拉之蛇尾):该层是修改过的Wine的unix库,属于本机指令集架构。用于接收指令翻译层转发的本机系统调用,包括但不限于图形接口调用、文件系统调用以及其它高性能调用。并执行收到的系统调用。

和其它二进制Win32翻译方案相比,该方案无需客户端驱动(virtio-gpu, virgl等),可高效部署并执行二进制翻译任务。

展开阅读全文
精彩评论
macOS把32位阉割了,导致即使做出来也没法用大量32位软件及依赖。除非Wine把Wow64的bug解决,才可以通过Wow64接64位QEMU来用。目前问题似乎是Wow64的bug太棘手,解决遥遥无期。
2023-02-06 17:29
2
举报
BSD的ARM图形驱动似乎有些问题。不过问题不大,主要是缺乏测试平台。
2023-02-06 17:30
1
举报
最新版可以正常使用了,截图正常,就是公众号列表,小程序显示不出来
2023-02-06 11:13
1
举报
1 收藏
分享
7 评论
1 收藏
分享
返回顶部
顶部