RuyiSDK Biweekly Progress Report Issue 052 – September 11, 2025

Foreword

Hello, RuyiSDK partners!

Welcome to the 52nd issue of the “RuyiSDK Biweekly Progress Report”!

In this issue, we have focused on optimizing the release testing process, further enhancing compatibility and documentation testing before version releases. After two days of concentrated fixes, RuyiSDK 0.40 has been officially released. This version has some known issues (see the end of the document for details), but they do not affect core functionality. Please read the relevant instructions carefully before downloading and using it.

We plan to release RuyiSDK 0.41 on September 30, providing an extra week of updates for your holiday tinkering. We will continue to bring you more new features and experience optimizations, so stay tuned! We also welcome everyone to come to the RuyiSDK technical community to share ideas and suggestions!

Additionally, don’t forget our RuyiSDK Office Hours, which are held regularly every other Thursday. We welcome you to come and discuss technology and progress!

Package Manager

The package manager version corresponding to RuyiSDK 0.40 is also 0.40.0, which was released on September 9. You can download and experience it from GitHub Releases, PyPI, or the ISCAS mirror source.

  • PyPI: <span>pip install ruyi</span>
  • GitHub Releases
  • ISCAS Mirror Source

Note

RISC-V users can install ruyi using pip, but since some Python libraries that ruyi depends on do not yet provide precompiled packages for the RISC-V architecture on PyPI, the Python package manager will attempt to compile these dependencies from source when installing ruyi, which may be time-consuming or result in compilation failures.

If you encounter issues installing ruyi on RISC-V devices, it is recommended to use alternative installation methods.

The updates to the RuyiSDK software source mainly include the following:

  • Improved device support:
    • Debian built by fishwaldo for Sipeed LicheeRV Nano: Added historical versions 1.2.0 and 1.3.0.
    • RevyOS for Milk-V Pioneer: Updated to version 0.20250901.0.
  • Engineering iterations:
    • Fixed the data structure of <span>board-image/debian-desktop-sdk-milkv-mars-cm-sd</span> and ensured that similar issues will not occur again through CI.

Thanks to @weilinfox for the contribution!

We welcome you to try it out or come and observe upstream; your needs are our goals and motivation for iterative development. You can also personally participate in the packaging and distribution of RuyiSDK software: currently, you can directly view and modify some of our packaging scripts and software source repositories on GitHub. In the future, according to this year’s development plan, we will also support authorized third-party contributors to upload distribution files such as software packages and system images programmatically to facilitate the packaging work.

IDE

No new features have been added to the Eclipse plugin this issue. We welcome those interested in Eclipse plugin development to join the development team. For details, refer to J159 RuyiSDK IDE Development Intern. We look forward to your participation.

GCC

The official toolchain has added the ‘–with-profiles’ option to specify the default enabled RISC-V Profiles during build time, organized the Profiles definitions in GCC upstream into ‘riscv-profiles.def’, and updated the RVP Intrinsics documentation, which is synchronized in GCC implementation.

V8

Patches submitted and merged by PLCT:

  1. [riscv] Optimize Overflow check when right operand is Immediate[RISC-V] Optimize overflow check when the right operand is an immediate value
  2. [riscv][sandbox] Bottleneck kUnknownIndirectPointerTag[RISC-V][sandbox] Address performance bottleneck of kUnknownIndirectPointerTagchromium-review.googlesource.com/c/6907272
  3. [riscv][wasm, codegen] Add skipped write barrier verification to Liftoff[RISC-V][WebAssembly, codegen] Add skipped write barrier verification to Liftoffchromium-review.googlesource.com/c/6914315
  4. [riscv] Revert “Reland ‘Reland’ ‘[turboshaft] Direct call for known functions'”[RISC-V] Revert “Reland ‘Reland’ ‘[turboshaft] Direct call for known functions'”chromium-review.googlesource.com/c/6907270
  5. [riscv][wasmfx] Implement the resume instruction[RISC-V][wasmfx] Implement the resume instructionchromium-review.googlesource.com/c/6908524

Patches reviewed and merged:

  1. [riscv] Remove branch instruction in AssembleReturn[RISC-V] Remove branch instruction in AssembleReturnchromium-review.googlesource.com/c/6873604
  2. [risc-v] Use bexti for kRiscvCvtDS[RISC-V] Use bexti instruction for kRiscvCvtDSchromium-review.googlesource.com/c/6873191
  3. [riscv] Hoisting sign extension for switch table[RISC-V] Hoist sign extension for switch tablechromium-review.googlesource.com/c/6873189
  4. [riscv] Remove sll32 instruction if r2 is less than 0x7FFFFFFF[RISC-V] Remove sll32 instruction if r2 is less than 0x7FFFFFFFchromium-review.googlesource.com/c/6873603
  5. [riscv] Use zextw in DecompressTagged to reduce the number of instructions[RISC-V] Use zextw in DecompressTagged to reduce the number of instructionschromium-review.googlesource.com/c/6873192
  6. [riscv] Handle kRiscvPeek with simd128 output[RISC-V] Handle kRiscvPeek with simd128 outputchromium-review.googlesource.com/c/6879783
  7. [riscv] Only save clobbered registers when calling RecordWrite[RISC-V] Only save clobbered registers when calling RecordWritechromium-review.googlesource.com/c/6873602
  8. [riscv] Don’t round to zero when doing an i32x4-mul operation[RISC-V] Don’t round to zero when performing an i32x4-mul operationchromium-review.googlesource.com/c/6916101
  9. [riscv] Use a function to save and restore Wasm params[RISC-V] Use a function to save and restore WebAssembly parameterschromium-review.googlesource.com/c/6842159
  10. [riscv][compiler] Support skipped write barrier verification in Turbofan[RISC-V][compiler] Support skipped write barrier verification in Turbofanchromium-review.googlesource.com/c/6917460
  11. [riscv][maglev] Reset last young allocation in stack checks[RISC-V][Maglev] Reset last young allocation in stack checkschromium-review.googlesource.com/c/6904549
  12. [riscv] Use shxadd instruction to calculate address for load & store[RISC-V] Use shxadd instruction to calculate addresses for load and storechromium-review.googlesource.com/c/6873190

Operating System Support Matrix

  • Dump ArchLinux@Duo_S
  • Fix OrangePi-RV metadata

Version Testing and Legacy Issues

RuyiSDK 0.40 has passed release testing. This version of RuyiSDK has some known issues that do not affect core functionality. Please be sure to understand the relevant situation before downloading and using it, and evaluate carefully to avoid potential negative experiences or losses.

RuyiSDK Biweekly Progress Report Issue 052 - September 11, 2025

Leave a Comment