RuyiSDK 双周进展汇报 第 071 期:ruyi 0.50.0 发布

RuyiSDK 双周进展汇报 第 071 期·2026 年 06 月 23 日

卷首语

端午刚过,夏至已至。过去两周,RuyiSDK 迎来了多项亮点进展。

运行时方面,V8 开始支持 RISC-V ZFH 半精度浮点扩展,适配 Wasm FP16 特性以加速计算;OpenJDK 的 JEP 401(值类与对象)移植取得突破,已完成解释器与 JIT 模块解耦,成功构建 Server 模式二进制。

工具链方面,GCC 提交多项草案扩展实现,并协助 compiler-explorer 社区完善 RVA23 支持;GLIBC 在玄铁 C908 平台完成 memcpy 特定优化。

开发者工具方面,包管理器 0.50.0 已发布,新增包大小展示、macOS 初步适配及解压模块底层重构。Eclipse 插件 0.1.4 通过测试正式发布,欢迎大家下载体验。

更多进展细节详见下方各板块,欢迎试用并在 GitHub 或社区中反馈建议,期待更多伙伴一起共建 RISC‑V 软件开发生态。

:fast_down_button: 包管理器和IDE插件工具都提供了多种下载或安装方式,您可以任意选择一种:

  • RuyiSDK 包管理器 0.50.0​:rocket:

    [!NOTE]
    RISC-V 用户可以使用 pip 安装 ruyi,但由于 ruyi 依赖的部分 Python
    库暂未在 PyPI 上提供 RISC-V 架构的预编译包,安装 ruyi 时 Python
    包管理器会尝试从源代码编译安装这些依赖,可能非常耗时或编译失败。

    如果您在 RISC-V 设备上安装 ruyi 时遇到问题,建议使用其他安装方法。对于 ruyi 的单文件二进制发行版,您必须将下载的文件重命名为一字不差的 ruyi 才能正常使用。

    请注意:从 RuyiSDK 0.48.0 开始,Ubuntu 22.04 LTS 与 Python 3.10 环境不再受到支持。相关用户,尤其是发行版打包者、CI 环境维护者与仍在使用旧版 Python 运行环境的用户,在升级前请提前确认兼容性影响并完成验证。

  • RuyiSDK VSCode Extension 0.1.4

  • RuyiSDK Eclipse Plugins 0.1.4 :rocket:

    [!NOTE]
    近期 Eclipse Marketplace 中的 RuyiSDK 插件查询与安装出现异常,详情可参考【RuyiSDK Eclipse 插件安装方式临时调整通知】,建议您通过 Eclipse 的 Install New Software… 方式安装插件。

如果您不清楚怎么选择,可以参考不同渠道和下载方式的说明:RuyiSDK 全渠道上架:包管理器登陆 PyPI,插件进驻 VS Code 和 Eclipse 市场

每一次版本的迭代,都离不开社区伙伴的反馈与贡献。下个版本计划于 7 月底发布,我们将持续给您带来更新!我们诚挚邀请您常来 RuyiSDK 技术社区 交流想法,共同成长。

基础开发环境

包管理器

RuyiSDK 0.50 已于 2026 年 6 月 23 日发布,对应的包管理器版本也为 0.50.0。本次 RuyiSDK 包管理器的更新主要包含了以下内容:

  • ruyi list 会展示本地未安装的软件包在当前架构的下载大小了。
  • 对于记载了相应元数据的软件包,ruyi list 会展示这些软件包的安装后大小了。
  • 工程化迭代:
    • 为 macOS 做了最初的部分适配工作。
    • 切换到了 Python 来解压缩文件,移除了 gunzipbzip2lz4xzzstd 这些外部命令依赖。
    • 简化了资源文件的捆绑方式。
    • 切换到了新的 ruyi-pytest 外部集成测试套件,替代原有的 ruyi-litester。
    • 更新了依赖版本。
    • 更新了平台基线依赖版本信息的文档。

本次 RuyiSDK 软件源的更新主要包含了以下内容:

  • 软件源格式更新:
    • 支持了给软件包附着更多元数据,当前支持记录 binary 类型软件包在每个架构的安装后大小。
  • 新增设备支持:
    • SpacemiT MUSE Pi Pro: 兼容各类 Bianbu 镜像。
  • 新增了以下软件包:
    • board-image/bianbu-desktop-lite-uefi-spacemit-k1: Bianbu Desktop Lite 的 UEFI 引导版本,适用于 SpacemiT K1 平台。
    • board-image/bianbu-desktop-lite-uefi-spacemit-k1-sd: Bianbu Desktop Lite 的 UEFI 引导版本,适用于使用 SD 卡存储的 SpacemiT K1 平台。
  • 更新了以下软件到最新版本:
    • board-image/bianbu-desktop-spacemit-k1: 更新到了 v2.3.3。
    • board-image/bianbu-desktop-lite-spacemit-k1: 更新到了 v2.3.3。
    • board-image/bianbu-minimal-spacemit-k1: 更新到了 v2.3.3。
    • board-image/bianbu-desktop-spacemit-k1-sd: 更新到了 v2.3.3。
    • board-image/bianbu-desktop-lite-spacemit-k1-sd: 更新到了 v2.3.3。
    • board-image/bianbu-minimal-spacemit-k1-sd: 更新到了 v2.3.3。

本次 RuyiSDK 服务端组件的更新主要包含了以下内容:

  • 例行安全更新与依赖更新。
  • 支持了查询 RuyiSDK Eclipse 与 VSCode 插件最新版本的 API。

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。您也可以亲自参与
RuyiSDK 软件的打包与分发工作:目前您可以直接在 GitHub 上查看、修改我们的部分打包脚本软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。

RuyiSDK VSCode 插件

  • 支持阅读本地已缓存的新闻
  • 支持 Ruyi 包管理器 0.49 版本 --project-sysroot-from-rootfs 选项

RuyiSDK Eclipse 插件

  • venv: 初步支持一键添加使用 qemu-user 的启动和调试配置。
  • venv: 提供默认的 venv 名称并默认选择唯一打开的项目。
  • venv: 修复使用 ruyi 创建虚拟环境时错误传递的命令行参数。

版本测试及遗留问题

重新开展测试后发版的 Eclipse 插件测试报告

遗留缺陷:

  • Ruyi 包管理器 0.50.0 已通过发版测试。详见测试报告

遗留缺陷:

缺陷 问题等级 判定依据
Occasional pygit2 failures during testing #415 一般 已有 issue 回复

基础组件

基础C库

  • GLIBC:
    • 实现了 strncasecmp 和 strstr 的通用版本 RVV 优化。
    • 在阿里玄铁 C908 平台尝试完成了一版基于 RVV 和 xthead 标量访问扩展的 memcpy 平台特定优化。

GCC

LLVM

V8

本期亮点:开始支持 RISCV ZFH 扩展,适配 Wasm FP16 特性,可以应用于加速半精度浮点计算。

本期提交并合入的 patch:

  1. [riscv][codegen] Fix slot calculation for move cycle resolution [RISC-V][代码生成] 修复寄存器移动循环解析的槽位计算错误(https://chromium-review.googlesource.com/c/7911096)
  2. [riscv] Fix error that use of undeclared identifier [RISC-V] 修复使用未声明标识符引发的编译错误(https://chromium-review.googlesource.com/c/7908311)
  3. [riscv] Fix Debug check failed: !L->is_bound() [RISC-V] 修复调试断言 !L->is_bound() 触发失败问题(https://chromium-review.googlesource.com/c/7917370)
  4. [riscv][acqrel] Add acquire-release support for atomic.fence [RISC-V][内存序] 为原子屏障指令 atomic.fence 提供获取-释放内存序支持(https://chromium-review.googlesource.com/c/7947903)
  5. [riscv]Implement ZFH in Simulator [RISC-V] 在模拟器中实现 ZFH 半精度浮点扩展指令集(https://chromium-review.googlesource.com/c/7897892)
  6. [riscv] Implement CompareSmiAndAssert [RISC-V] 实现 CompareSmiAndAssert 校验辅助逻辑(https://chromium-review.googlesource.com/c/7953184)
  7. [riscv][debug] Move DebugInfo to trusted space [RISC-V][调试] 将调试信息存放至可信内存区域(https://chromium-review.googlesource.com/c/7953185)
  8. [riscv] Implement vfadd/vfsub/vfmul/vfdiv for fp16 [RISC-V] 实现半精度浮点向量四则运算指令 vfadd/vfsub/vfmul/vfdiv(https://chromium-review.googlesource.com/c/7953190)

OpenJDK

本期提交的JDK主线patch:

本期审阅并合入的JDK主线patch:

Java重要新特性JEP 401: 值类与对象(Value Classes and Objects)的调研和移植工作进展:
目前已完成RISC-V平台模板解释器、C1& C2 JIT模块的代码全解耦,能够构建和运行支持Server模式RISC-V JDK二进制。
同时,已着手调试和实现RISC-V平台模板解释器模块对JEP 401的支持,优先考虑兼容性问题,短期目标能够在解释模式下跑通JEP 401新增测试用例。
本期详细修改如下:

Go

本期提交主线的CL:

本期审阅并提出修改意见CL:

1 个赞