Exploring Binary Translation: openKylin Successfully Runs x86 Architecture Software on RISC-V Platform!
In the early stages of developing a new instruction set architecture, a common approach to expand the ecosystem is to adopt methods for running software from other architectures. Examples include Apple's Rosetta 2 and Microsoft's Arm64EC, both of which enable x86 architecture software to run on ARM-based systems.
As an emerging instruction set architecture, RISC-V urgently needs rapid development and expansion of its software ecosystem. To address this, the openKylin community's RISC-V Special Interest Group (SIG) has actively engaged in binary translation work, participating in the development of the open-source project box64. To date, they have submitted and merged over 20 Pull Requests (PRs), adding wrappers for multiple dynamic libraries and functions including GTK3 and nettle, and improving the RISC-V dynamic recompilation module, among other features. In total, they have contributed more than 2,000 lines of code.
Recently, the RISC-V SIG team has successfully run x86 architecture software on the Sophon SG 2042 platform and the openKylin 2.0 RISC-V version system. This includes applications such as WeChat, WPS Office, and Tencent Meeting. The achievement was made possible by resolving key issues in instruction translation and function library wrapping. The related Pull Requests submitted by the team have also received praise from ptitSeb, the author of the box64 project.
While openKylin has achieved some success in RISC-V binary translation, there are still shortcomings in areas such as performance and compatibility. In the future, the RISC-V SIG will continue to explore binary translation technology and actively participate in and contribute to the development of open-source projects like box64.
As a highly promising instruction set architecture, the openKylin community has been actively working on developing next-generation desktop application scenarios based on the RISC-V architecture since its inception, aiming to foster the coordinated development of operating systems and the RISC-V architecture ecosystem. Currently, the community has completed adaptation for several mainstream domestic and international RISC-V hardware platforms, built a relatively comprehensive software ecosystem, and has successfully ported commercial software such as DingTalk, Sogou Input Method, and Foxit. Optimizations have also been made for AI applications and development. In the future, openKylin will continue its efforts in the RISC-V field, contributing to the advancement of the RISC-V ecosystem.
The openKylin RISC-V SIG is primarily responsible for maintaining open-source software packages for the RISC-V architecture in the community, releasing the RISC-V version of openKylin, and carrying out tasks such as software package building and system construction. We welcome all enthusiasts interested in RISC-V development platform technology to join the RISC-V SIG! Please send an email to openkylin.top@gmail.com or contact@openkylin.top