Welcome to oboromi
oboromi is a work-in-progress emulator for the Nintendo Switch 2, written in Rust. It’s designed as a foundation for emulating the next-generation Nintendo console, focusing on accuracy and performance.What oboromi Emulates
oboromi currently emulates the core hardware components of the Nintendo Switch 2:- 8-core ARMv8 CPU with 12GB of shared memory
- SM86 (NVIDIA Ampere) GPU with shader translation capabilities
- Firmware services via High-Level Emulation (HLE)
Key Features
CPU Emulation
8-core ARMv8 CPU emulation powered by Unicorn Engine
GPU Emulation
SM86 (NVIDIA Ampere) GPU with SASS to SPIR-V shader translation
Memory Management
12GB shared memory emulation with multicore support
Firmware Services
150+ Nintendo firmware service stubs via HLE
Current Status
oboromi is in the proof-of-concept stage:- ✅ ARMv8 CPU emulation with multicore support
- ✅ SM86 GPU instruction decoder (auto-generated)
- ✅ SASS to SPIR-V shader translation foundation
- ✅ Firmware service framework (150+ service stubs)
- ✅ Filesystem VFS structure
- ✅ Basic debugging GUI with eframe
- ❌ Commercial game support
- ❌ Firmware boot capability
Architecture Overview
oboromi is structured as a Rust workspace with two main components:- oboromi-core: Core emulation library containing CPU, GPU, filesystem, and firmware emulation
- oboromi-gui: eframe-based graphical frontend for debugging and testing
- Unicorn Engine for ARMv8 CPU emulation
- Ash (Vulkan bindings) for GPU acceleration
- eframe/egui for the debugging interface
Get Started
Ready to build and explore oboromi? Follow our quickstart guide:Quickstart
Build oboromi and run your first test
