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

在最新的 Wine-CE 8.2 更新中,首次添加了针对RISC-V的支持,因此Wine-CE也成为全球首个运行于RISC-V平台的Windows x64软件模拟器。

近些年来,在半导体产业受到地缘政治影响的背景下,以开放性著称的RISC-V芯片指令集架构的影响力与日俱增。RISC-V指令集拥有基于开源、开放、共建、共治模式发展的全球生态,相较于其它指令集而言,其可以不受某个商业或政治实体控制,且无须支付授权费即可使用。因此,其被主导自主可控领域的企业和中小型企业所青睐。

然而,作为一款新兴的指令集,RISC-V的缺陷也显而易见,尤其是软件生态。即使由于上述优势,相关企业可以大幅降低生产过程中的风险和成本,但倘若没有足量可供运行的软件,那么实现RISC-V指令集崛起的梦想也若水中之月,可望而不可即。另一方面,在现代信息技术产业中,软件的开发成本远胜于硬件采购成本。且软件产业在全球化分工合作的背景下,单个软件的指令架构移植工作往往要涉及多个商业实体间的沟通合作,尤其是在RISC-V在市场占有率还不具备优势的前提下,其本不良好的私有软件生态只会雪上加霜。为了打破低硬件市场占有率导致低软件市场占有率的恶性循环,提升RISC-V指令集硬件市场占有率是当务之急的工作。

在此背景下,通过兼容高市场占有率的Windows软件来快速提升RISC-V硬件市场占有率不失为一条可行的解决方案。因此,Wine的以跨指令集架构为特色的衍生版Wine CE, 在最新的8.2更新中,提供了针对RISC-V Linux的支持工作。目前Wine CE RISC-V可运行Windows x64和ARM64指令架构的64位软件(32位软件因为BUG的缘故在当前版本暂未支持),并已经在StarFive的VisionFive2单板计算机上成功运行。

基于QEMU用户模式在RISC-V平台上模拟x86_64以往遇到2个BUG:RISC-V主机端代码生成存在生成非法指令的BUG、x86客户端由于误读Intel文档导致错误GDT错误实现的BUG。前者在2023年2月的最新主分支更新代码中得到解决,后者在Wine CE作者提交的暂未合入主分支的修复补丁中也得到解决。因此借着Wine发布8.2的契机,Wine CE在迅速跟进Wine发布最新分支的同时,将QEMU用户模式的BUG修复代码引入。因此,Wine CE成为全球首个运行于RISC-V平台的Windows x64/ARM64软件模拟器。

和其它跨指令集架构模拟器相比,Wine CE创新性的将QEMU TCG二进制翻译层置于基于本机指令集架构的Wine运行时系统和基于客户端指令集架构的Windows PE可执行文件之间,且Wine运行时系统和Windows PE可执行文件之间通过协程进行双向交互。因此,Wine CE无需以virtio-gpu、virgl为代表的客户端驱动,可直接通过Wine运行时系统直接调用本机的接口和库。换句话说,整个Wine CE可以看作一个脚本解释器,客户端指令集代码可以看作脚本,QEMU通过加载Wine的本机指令集架构动态链接库,在翻译执行客户端指令集代码的同时,调用Wine的动态链接库中的函数,完成绘制等行为的操作。因此,Wine CE无需chroot操作,也无需root权限即可运行。

目前,Wine CE作者在视频网站哔哩哔哩上发布了Wine CE在RISC-V平台上的演示视频,网址如下:

https://www.bilibili.com/video/BV1ao4y1e7To

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

微信关注我们

原文链接:https://www.oschina.net/news/229018

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

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

相关文章

发表评论

资源下载

更多资源
Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

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等操作系统。