README 明确说明当前无法运行商业游戏或固件;构建依赖较多,需自行按 CONTRIBUTING.md 配置 Rust、CMake、Ninja、C++ 编译器和 Qt 6;CPU 模拟器依赖外部 rapid-arm-emu 项目
oboromi
0xNikiliteGPL-3.0活跃维护用 Rust 编写的 Nintendo Switch 2 模拟器概念验证项目,探索下一代 Switch 主机的模拟可行性,目前仍在开发中。
a proof-of-concept project for a possible Nintendo Switch 2 emulator.
README 未给出可直接运行的命令,仅说明构建需 stable Rust、CMake、Ninja、C++ 编译器与 Qt 6,具体步骤见 CONTRIBUTING.mdREADME 未说明显存或 CPU 运行要求;GPU 实现面向 NVIDIA SM86 架构。
实验性 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/
容易踩的坑
- 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)
- Major fix for linux. by @PersonFromLatvia in https://github.com/0xNikilite/oboromi/pull/9
- Fix build on Linux by @mlaadd in https://github.com/0xNikilite/oboromi/pull/31
- fix(build): Update the way to build app by @twde49 in https://github.com/0xNikilite/oboromi/pull/33
New Contributors
- @dependabot[bot] made their first contribution in https://github.com/0xNikilite/oboromi/pull/3
- @PersonFromLatvia made their first contribution in https://github.com/0xNikilite/oboromi/pull/9
- @mlaadd made their first contribution in https://github.com/0xNikilite/oboromi/pull/31
- @twde49 made their first contribution in https://github.com/0xNikilite/oboromi/pull/33
Full Changelog: https://github.com/0xNikilite/oboromi/compare/v0.0.0...v0.0.1-dynarmic
- v0.0.0pre-release v0.0.0pre-release2025-07-15 · 2025-07-15 15:51 UTC
查看更新说明
Full Changelog: https://github.com/0xNikilite/oboromi/commits/v0.0.0
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
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 coregui-qt/cpp Qt 6 frontendscripts/code-generation and helper scriptsdocs/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.