Skip to main content
oboromi logo

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.
oboromi is in very early development. It cannot run commercial games or firmware at this stage. This is a proof-of-concept project for research and educational purposes.

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
The emulator uses several key technologies:
  • 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

Join the Community

oboromi is an open-source project. Join the community to contribute, report issues, or discuss emulation techniques:

License

oboromi is licensed under GPL-3.0. The GUI component uses MPL-2.0.