RuyiSDK 双周进展汇报 第 075 期 :ruyi 0.52 & VS Code 插件 0.1.6 发布

RuyiSDK 双周进展汇报 第 075 期 · 2026 年 09 月 01 日

卷首语

各位 RISC-V 开发者与 RuyiSDK 社区伙伴,大家好!

RuyiSDK 0.52 已于 9 月 1 日发布,包管理器同步更新至 0.52.0。本次更新为未来的 “RuyiSDK 认证” 做了包管理器层面的预留,修复了 ruyi entity list 多参数解析问题以及服务端 macOS 二进制条目键名错误,并优化了依赖与构建维护逻辑。RuyiSDK IDE 发布 0.1.6 版本,新增复制包 ID、本地化 CI 等功能,修复了仓库切换后包树未刷新等问题,并调整了侧边栏图标样式。测试工作新增 macOS 14 平台覆盖,相关遗留缺陷已明确分类与跟踪。

社区与内容建设方面,软件源格式更新支持供应商元数据,并为认证状态预留字段;新增RuyiSDK GNU 工具链 macOS AArch64 实验支持、SpacemiT Muse Pi Pro Armbian 镜像,以及知合 A210 SODIMM 官方 EVB 系统镜像。
开发板支持矩阵新增 VisionFive 2 Lite 多系统测试报告,更新 K510 Buildroot 报告;
开发板示例仓库新增 SpacemiT K3 Pico-ITX、BPI-CANMV-K230D-Zero 等板卡文档与示例,并为 15 款开发板完善英文入门文档。
官网同步上线 “软件包” 页面,方便用户提前浏览软件包资源。
此外,社区近期开启了 Ruyi Imager 图形化镜像刷写工具内测,欢迎大家体验反馈。

基础组件方面,基础 C 库在 GLIBC 的 libmvec 框架下移植了 hypot、expm1f、lgamma 等函数,并针对 C908 对 strstr 进行初步调优;newlib 则新增 acospi、asinpi 等向量数学函数。GCC 持续推动 P 扩展 intrinsic 支持,API 测试通过率进一步提升,并协助 RISE 基金会完善 CI 维护。LLVM 围绕 P 扩展与整数比较优化合入多个补丁,支持多种 packed 运算与 intrinsic 接口。V8 后端新增 Zcb 压缩扩展支持,开启压缩指令集后内置库静态代码尺寸减小约 10%。OpenJDK 完成了 JEP 401 值对象的 RISC-V 初步移植并通过兼容性测试,同时优化 G1GC barrier、新增 GCM intrinsic 等。Go 提交了 sha256 的 zvknha 支持等主线补丁,并审阅多项编译优化与指令支持修改。

欢迎阅读正文,了解更详尽的更新内容,并期待您与我们一同参与社区共建。获取更多资讯、下载最新工具或参与技术讨论,欢迎通过文章最下方的项目资源入口 找到我们。
下个版本计划于 2026 年 9 月下旬发布,敬请期待!

基础开发环境

包管理器

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

  • 为未来的“RuyiSDK 认证”做了包管理器方面的预留。
  • 修复了实验性的 ruyi entity list 命令只接受多个 -t 参数中的第一个的问题。感谢 weilinfox 报告此问题,感谢 Mr-Eric666贡献
  • 工程化迭代:
    • 更新了依赖版本。
    • 使 ruyi 的代码写法兼容了 argcomplete 3.7.2 及更高的版本。
    • pygit2 上游已从 1.20.0 版本开始提供 RISC-V 二进制,故移除了 pygit2 的本地构建逻辑,降低维护成本。

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

  • 修复了“最新包管理器版本”API 返回的 macOS 二进制条目的“操作系统/架构”键名不对的问题。感谢 weilinfox 报告此问题!

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。

RuyiSDK IDE

  • feat: 新增复制包ID功能
  • feat: 新增 l10n CI
  • fix: 共用 toolchain 和 sysroot 组件
  • fix: 修改 repo 后没有重新加载 package tree
  • fix: package tree 的中文翻译错误
  • docs: 完善 Sipeed Lichee Pi 4A 的相关文档。
  • test: VSCodium 平台 RuyiSDK 插件适配,Java、JavaScript、Go、Python 语言相关插件测试。
  • ci: 维护 CI 脚本,提高安全性。
  • feat: 调整 IDE 侧边栏图标样式,提高辨识度。
  • build: 发布 0.1.6 版本

版本测试及遗留问题

本版本测试增加了 macOS 14 平台测试,并给出相应的测试报告。

Ruyi 包管理器遗留缺陷:

缺陷 问题等级 判定依据
Occasional pygit2 failures during testing #415 一般 已有 issue 回复
ruyi entity list 传入多个 -t 参数时只消费其中一个 #492 一般 下一版本修复

RuyiSDK Eclipse IDE 遗留缺陷:

RuyiSDK VSCode IDE 遗留缺陷:

缺陷 问题等级 备注
版本切换过程中中英文切换不灵活 #231 建议

社区与内容建设

packages-index 资源更新

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

  • 软件源格式更新:
    • 支持为软件包附着供应商元数据:位于 manifest TOML 的 metadata.vendor.data 字段,其类型为 供应商 ID: 键值对 的字典(TOML 表格);支持布尔型与字符串类型的值。
    • 预留 metadata.vendor.data.ruyisdk.certified 为表示“RuyiSDK 认证”状态的元数据字段。
  • 更新软件包:
    • board-image/armbian-spacemit-musepipro-minimal: SpacemiT Muse Pi Pro 的 Armbian。感谢 SmulllLu 的贡献!
    • toolchain/gnu-ruyisdk: RuyiSDK GNU 工具链,增加了实验性的 macOS AArch64 (Apple Silicon) 支持。
  • 新增设备支持:
    • 知合 (Zhihe Computing) A210 SODIMM: 兼容其官方提供的 EVB 系统镜像。感谢 weilinfox 的贡献!

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

开发板支持矩阵

  • 新增 VisionFive 2 Lite 的 Ubuntu 24.04 和 Debian 工程版中英文测试报告。PR #390PR #391
  • 更新 K510 的 Buildroot 中英文测试报告。PR #392

开发板示例仓库

  • 新增 SpacemiT K3 Pico-ITX 板卡文档,并补充 CoreMark、HelloWorld 和 llama-server 示例。PR #33
  • 新增 BPI-CANMV-K230D-Zero 中英文板卡说明,并补充中文 CanMV Linux SDK 安装指南,涵盖 RV64ILP32、RV64LP64 镜像烧录流程。PR #41PR #42
  • 为 15 款开发板补充或完善英文 HelloWorld 入门文档。PR #36PR #37
  • 完善仓库维护机制:自动生成中英文开发板索引并通过 CI 校验,补充命名、版本与双语文档规范,统一 Ruyi 安装版本引用并建立定期更新机制,同时新增双语覆盖报告。PR #34PR #35PR #38PR #39PR #40

官网&文档

  • 官网上线“软件包”页面,现在可以在安装 ruyi 之前方便的查看软件包索引资源了。欢迎大家访问并提供反馈和建议。如果您有资源想要“登记”到 RuyiSDK 软件源,可以参考《RuyiSDK 生态资源接入指南》 提交 issue 或者直接发起 PR 参与贡献。

基础组件

基础C库

  • GLIBC:
    • 移植了 hypot、hypotf、expm1f、lgamma 和 lgammaf 至现有的 glibc libmvec 框架。
    • 基于 C908 针对 strstr 接口进行了初步调优。
  • newlib:
    • 移植了 acospi、asinpi、atan2、atanpi 至现有的 newlib 向量数学框架。

GCC

LLVM

本期提交 PR 如下

V8

本期亮点:V8 RISC-V后端增加了Zcb扩展的汇编、反汇编、内置模拟器和代码生成支持。目前V8已经完整支持Zca,Zcb,Zcd,Zcf,开启压缩指令集扩展后,AOT内置库的静态代码尺寸从2.70MB减小到2.43MB,减小幅度达10%。

本期提交并合入的patch:

  1. [riscv] Replace JAL with AUIPC/JALR in lazy compile jump slots
    [RISC‑V] 将惰性编译跳转槽的 JAL 指令替换为 AUIPC/JALR 指令组合(https://chromium-review.googlesource.com/c/8301500

  2. [riscv] Add ZCB extension and unify RVC register checks
    [RISC‑V] 添加 ZCB 压缩扩展支持,并统一 RVC 压缩指令的寄存器校验逻辑(https://chromium-review.googlesource.com/c/8271868

  3. [riscv][sandbox] Harden TailCalls after code update
    [RISC‑V][沙箱] 加固代码更新完成后的尾调用安全处理逻辑(https://chromium-review.googlesource.com/c/8311072

  4. [riscv] Fix OSR code check in OnStackReplacement
    [RISC‑V] 修复栈上替换(OSR)流程里的代码校验逻辑(https://chromium-review.googlesource.com/c/8311188

  5. [riscv] Harden jump offset range checks in the assembler and deoptimizer
    [RISC‑V] 强化汇编器与反优化器中跳转偏移量的范围检查(https://chromium-review.googlesource.com/c/8305697

  6. [riscv] Remove unused ER creation in builtins‑riscv
    [RISC‑V] 删除 riscv 内置函数中未被使用的 ER 对象创建代码(https://chromium-review.googlesource.com/c/8284941

  7. [riscv][maglev] Zero‑extend Int32 index in element address
    [RISC‑V][Maglev] 在数组元素地址计算时对 Int32 索引做零扩展(https://chromium-review.googlesource.com/c/8221145

  8. [riscv] Implement Zcb extension in RISC‑V simulator
    [RISC‑V] 在 RISC‑V 模拟器中实现 Zcb 压缩扩展指令集(https://chromium-review.googlesource.com/c/8268575

  9. [riscv] Add Zcb compressed extension support
    [RISC‑V] 新增 Zcb 压缩扩展指令集后端支持(https://chromium-review.googlesource.com/c/8263250

本期审核并合入的patch:

  1. [riscv] Fix typo of RoundingMode in simulator
    [RISC‑V] 修复模拟器中 RoundingMode 拼写错误(https://chromium-review.googlesource.com/c/8251431

  2. [riscv] Fix emulator sNaN check
    [RISC‑V] 修复模拟器信号 NaN(sNaN)检测逻辑(https://chromium-review.googlesource.com/c/8253666

  3. [riscv] Fix some issues
    [RISC‑V] 修复若干代码问题(https://chromium-review.googlesource.com/c/8253281

  4. [riscv] Make Smi int32 checks safe with pointer compression
    [RISC‑V] 保证指针压缩模式下 Smi int32 校验逻辑安全可靠(https://chromium-review.googlesource.com/c/8236678

  5. [riscv] Avoid clobbering live input registers
    [RISC‑V] 避免生成代码时覆盖仍处于活跃状态的输入寄存器(https://chromium-review.googlesource.com/c/8263861

  6. [riscv] Fix integer masking and pointer branch comparisons
    [RISC‑V] 修复整数掩码运算以及指针分支比较逻辑缺陷(https://chromium-review.googlesource.com/c/8265241

  7. [riscv] Store Liftoff constants using their value width
    [RISC‑V] Liftoff 按照常量实际位宽执行常量存储操作(https://chromium-review.googlesource.com/c/8267767

  8. [riscv] Fix atomic stores of tagged and compressed values
    [RISC‑V] 修复标记指针、压缩值的原子存储实现(https://chromium-review.googlesource.com/c/8267768

OpenJDK

本期提交的JDK主线patch:

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

Java重要新特性JEP 401: 值类与对象(Value Classes and Objects)RISC-V移植工作进展:
RISC-V平台JEP 401兼容性相关工作已随Value Class PR合并到JDK主线仓,通过兼容性测试,且支持值类型Flattening优化(UseArrayFlattening & UseFieldFlattening)。
下一步工作:继续调研方法调用场景下Value Class值类型参数传递内联优化在X86和ARM64上的实现细节(InlineTypePassFieldsAsArgs & InlineTypeReturnedAsFields)。
Value Class PR详细修改如下:

Go

提交主线代码

review主线代码

社区动态


项目资源入口 {#project-resources}

获取更多资讯、下载最新工具、查阅硬件适配资料或参与社区共建,欢迎通过以下官方渠道访问: