当前位置: 首页 > news >正文

探索二进制翻译,openKylin成功在RISC-V平台运行X86架构软件!

众所周知,在新的指令集架构发展初期,往往采用兼容其他架构软件的方法来拓展自身生态体系,如苹果公司的Rosetta 2和微软的Arm64EC,都是将X86架构软件运行在ARM架构的系统之上。

RISC-V作为一个新兴的指令集架构,亟需软件生态的快速发展与拓展。为此,openKylin社区RISC-V SIG积极开展了二进制翻译相关工作,参与开源项目box64的研发。截至目前,已提交合并20余个PR,增加了GTK3、nettle等多个动态库及函数的封装,完善RISC-V动态重编译模块等功能,总计贡献代码2000余行。

近期,RISC-V SIG团队通过解决指令翻译、函数库封装等关键问题,成功在算能SG 2042平台和openKylin 2.0 RISC-V版本系统中运行了X86架构软件,包括微信、WPS Office和腾讯会议等,所提交的相关PR也得到了box64项目作者ptitSeb的点赞。

01

微信

目前能够进行文字、图片和文件的传输,并可以使用语言发送、语音在线翻译、即时对话等功能。

02

WPS Office

支持文字、表格、演示和pdf等功能的使用,可以进行文件打开、编辑和保存等操作;此外,还可以结合openKylin适配的RISC-V原生搜狗输入法,高效地进行中文编辑。

03

腾讯会议

支持多人在线会议、文字聊天和线上语音等功能,满足了日常办公会议的基本需求。

虽然openKylin在RISC-V二进制翻译方面取得了一定成果,但在性能、兼容性等方面仍存在不足。未来,RISC-V SIG将持续进行二进制翻译的技术探索,积极参与并贡献box64等开源项目的建设。

RISC-V作为一个非常具有前景的指令集架构,openKylin社区自成立起便率先布局基于RISC-V架构的新一代桌面应用场景,构筑操作系统与RISC-V架构生态协同发展。目前,社区已适配完成国内外主流RISC-V硬件平台,构建了较为完整的软件生态体系,率先完成钉钉、搜狗输入法和福昕等商用软件的移植,针对AI应用与开发进行了优化。未来,openKylin将在RISC-V领域持续发力,助力RISC-V生态发展迈上新的台阶!

关于RISC-V SIG

openKylin RISC-V SIG主要负责社区RISC-V架构开源软件包的维护,发布openKylin的RISC-V版本,进行软件包构建、系统构建等工作,欢迎所有对RISC-V开发平台技术方向感兴趣的爱好者加入到RISC-V SIG!

SIG主页:

https://gitee.com/openkylin/community/tree/master/sig/RISC-V

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 李宏毅 深度学习 Deep 学习记录
  • 交叉编译工具链整理
  • 『 Linux 』信号的写入与保存
  • java课程设计项目之图书管理系统
  • Android APP CameraX应用(02)预览流程
  • Linux权限维持篇
  • 创业团队如何选择DevOps工具?
  • 计算机网络知识-面试点1
  • 快速入门了解Ajax
  • 【前端学习】CSS三大特性
  • JVM 11 的优化指南:如何进行JVM调优,JVM调优参数有哪些
  • h265decode解码1080P的故障溯源 [ 2 - 1 ]
  • 力扣高频SQL 50题(基础版)第六题
  • Conda和Pip有什么区别?
  • 分布式系统常见软件架构模式
  • django开发-定时任务的使用
  • express.js的介绍及使用
  • JavaScript新鲜事·第5期
  • jquery cookie
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • node学习系列之简单文件上传
  • use Google search engine
  • Vue ES6 Jade Scss Webpack Gulp
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 从0实现一个tiny react(三)生命周期
  • 前端自动化解决方案
  • 如何优雅地使用 Sublime Text
  • -- 数据结构 顺序表 --Java
  • 原生 js 实现移动端 Touch 滑动反弹
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​你们这样子,耽误我的工作进度怎么办?
  • (1)(1.11) SiK Radio v2(一)
  • (1)(1.13) SiK无线电高级配置(五)
  • (2)MFC+openGL单文档框架glFrame
  • (Oracle)SQL优化基础(三):看懂执行计划顺序
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (ZT)出版业改革:该死的死,该生的生
  • (分类)KNN算法- 参数调优
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (四)鸿鹄云架构一服务注册中心
  • (原)本想说脏话,奈何已放下
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (自用)仿写程序
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .bat文件调用java类的main方法
  • .equals()到底是什么意思?
  • .net 7 上传文件踩坑
  • .NET 8 跨平台高性能边缘采集网关
  • .NET Core 中插件式开发实现
  • .net refrector
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • ?.的用法
  • @Autowired自动装配