oboromi

0xNikiliteGPL-3.0活跃维护

用 Rust 编写的 Nintendo Switch 2 模拟器概念验证项目,探索下一代 Switch 主机的模拟可行性,目前仍在开发中。

a proof-of-concept project for a possible Nintendo Switch 2 emulator.

v0.0.1-dynarmic发布于 2025-10-12 20:57 UTC1,405star68fork同步于 2026-11-10 17:50 UTC

怎么上手

由 README 提炼,执行前请确认
README 未给出可直接运行的命令,仅说明构建需 stable Rust、CMake、Ninja、C++ 编译器与 Qt 6,具体步骤见 CONTRIBUTING.md
硬件要求按 README 说明

README 未说明显存或 CPU 运行要求;GPU 实现面向 NVIDIA SM86 架构。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

实验性 Nintendo Switch 2 模拟器雏形,用 Rust 写核心、Qt 6 做调试前端,目前还不能跑商业游戏

用 Rust 编写的 Nintendo Switch 2 模拟器概念验证项目,探索下一代 Switch 主机的模拟可行性,目前仍在开发中。

核心能力

  • Rust 实现模拟器核心,代码位于 core/ 目录
  • Qt 6 编写的 C++ 调试前端,位于 gui-qt/ 目录
  • 自研 ARMv9 CPU 模拟器,覆盖 NS2 T239 所需扩展
  • GPU 实现针对 NVIDIA SM86 架构
  • 附带代码生成与辅助脚本目录 scripts/

容易踩的坑

README 明确说明当前无法运行商业游戏或固件;构建依赖较多,需自行按 CONTRIBUTING.md 配置 Rust、CMake、Ninja、C++ 编译器和 Qt 6;CPU 模拟器依赖外部 rapid-arm-emu 项目

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

2 个版本v0.0.1-dynarmic
  1. v0.0.1-dynarmicpre-release最新正式版2025-10-12 · 2025-10-12 20:57 UTC

    [!WARNING] if you are using macOS ARM64, RET fails in this Release

    What's Changed

    A LOT of things since v0.1.0 (now called v0.0.0): Now we use Dynarmic as a JIT backend for AArch64 instruction translation. macOS support has been greatly improved, including x86_64 and ARM64 builds. Build scripts and CI workflows were refactored for cross-platform consistency.

    • Added x86_64 support for macOS in CMake build script
    • Refactored macOS build environment setup and ARM64 handling
    • Improved macOS ARM64 build and CI workflow
    • Refactored test harness for more flexible instruction execution
    • Various build fixes for case-sensitive library paths and cross-platform support
    • Updated dependencies (serde, cc, eframe, egui, bitflags, criterion, thiserror, fern, log)
    • Dynarmic CPU interface and FFI bindings refactored
    • Added some atomic operations and FFI interface to memory system
    • Improved Boost patching and unified build flags
    • Added JIT warmup phase to prevent compilation timeouts on slower hardware

    PRs (without @dependabot[bot] ones)

    New Contributors

    Full Changelog: https://github.com/0xNikilite/oboromi/compare/v0.0.0...v0.0.1-dynarmic

  2. v0.0.0pre-release v0.0.0pre-release2025-07-15 · 2025-07-15 15:51 UTC
    查看更新说明

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    oboromi is an experimental emulator written primarily in Rust, with a Qt 6 debugging frontend.

    current focus

    we are developing a new ARMv9 CPU emulator (credit: vrtgs), targeting the ARM extensions required by the ns2's T239.

    the GPU implementation targets NVIDIA SM86.

    oboromi cannot currently run commercial games or firmware.

    repository

    • core/ Rust emulator core
    • gui-qt/ cpp Qt 6 frontend
    • scripts/ code-generation and helper scripts
    • docs/ documentation

    building

    Requirements: stable Rust, CMake, Ninja, a C++ compiler, and Qt 6.

    See CONTRIBUTING.md for setup and build instructions.

    license

    GPL-3.0. See license.txt.

    what does the name mean?

    oboromi (朧実) is a constructed japanese neologism combining 朧 (oboro, "hazy/vague") + 実 (-mi, "essence/fruit").

    it means "the tangible essence of imperfection." even if oboromi was ever finished, it could never be perfect, and that's not a failure, just what it means to be an emulator.