NINTENDO SWITCH EMULATOR
Sol
Sol is an independent Nintendo Switch emulator for Apple Silicon Macs: a SwiftUI/AppKit frontend bundled with a UI-free managed engine. It currently targets macOS on Apple Silicon and uses Vulkan/MoltenVK for the main renderer with an experimental native Metal renderer behind a developer flag.

WHY IT MATTERS
Why Sol exists
Sol is designed as a native macOS-first Switch emulation experience that combines a SwiftUI/AppKit user interface and Mac-native features with a bundled managed engine. The project emphasizes Apple Silicon optimization (including experimental ML-based graphics reconstruction), integrated macOS features (Spotlight, widgets, Quick Look), and an application-first workflow rather than a standalone engine-only distribution.
BEST FOR
Best for
macOS users with Apple Silicon (M-series) who want a native SwiftUI/AppKit Switch frontend and are comfortable building from source or using early preview builds. Developers interested in the experimental SolMetal renderer or Sol's DLSM graphics research will find the repository useful.
The people behind Sol
Project history and status
The repository contains an app frontend and a bundled engine (the engine source is checked in under Vendor/Ryubing and pinned to a specific upstream commit). The project describes itself as early-stage and publishes development previews; the primary runtime path uses Vulkan via MoltenVK while SolMetal (direct Metal renderer) and DLSM (Apple-Silicon graphics research layer) are experimental and behind flags. Releases may be source-only developer previews or packaged ad-hoc builds; packaged previews are ad-hoc signed and not notarized. The README and Docs directory provide build instructions, engine architecture notes, and guidance for first-run setup. The project does not include any commercial games, firmware, keys, or other system content.
What Sol supports
- Nintendo Switch (emulated)
- macOS (Apple Silicon required)
- Vulkan via MoltenVK (primary renderer)
- Experimental SolMetal direct Metal renderer
- Keyboard and game controllers, motion, rumble, player LEDs
- Local and internet multiplayer controls (engine features)
Download and availability
OFFICIAL DOWNLOADS
Get Sol
Releases and packaged previews are published on the project's GitHub Releases page. Some development previews are source-only and intended for people building Sol. Packaged disk images (when provided) are ad-hoc signed and may require using System Settings → Privacy & Security → Open Anyway on first launch.
Get Sol ↗DOCUMENTATION
Official documentation
Read the official configuration, compatibility, and troubleshooting material before changing advanced options.
Read official documentation ↗Sol setup guide
Setup note: This guide explains practical setup and how to build or run Sol on an Apple Silicon Mac according to the project's documentation. It focuses on the verified steps in the repository: using the provided scripts, installing the local .NET SDK that the project expects, enabling required macOS entitlements, and installing your own Switch keys/firmware (not provided by the project).
- 1) Get the code or a release: Option A — Download a packaged preview: open the disk image from the project's Releases page and drag Sol to /Applications. If macOS blocks the first launch, open System Settings → Privacy & Security and choose Open Anyway for Sol. Option B — Build from source: clone the repository (git clone https://github.com/Zinedinarnaut/Sol.git) and follow the build script steps described in the README.
- 2) Prepare the build environment (when building): The repository includes a script that installs a project-local .NET SDK so your system-wide .NET installation is not changed. Run ./script/install_dotnet_sdk.sh from the repository root. The generated Xcode project and engine sources are checked in; the README shows how to produce a dev build with the project's build_and_run.sh script.
- 3) Build and run (verified commands): From the project root: ./script/install_dotnet_sdk.sh then SOL_APPLE_SIGNING=off ./script/build_and_run.sh –build This writes a Sol.app into /tmp/sol-derived-data/Build/Products/Debug/Sol.app by default. On Macs with an Apple Development identity, omit SOL_APPLE_SIGNING=off to build a signed app.
- 4) First-run setup inside Sol: Open Settings → choose the folder containing your own game backups. Under System, install keys and firmware sourced from hardware you own (the project explicitly states these are not included). Add DLC or title updates under Content when needed. Assign a keyboard or controller under Controllers and then pick a game and press Play.
- 5) Renderer and experimental features: The normal playback path uses Vulkan + MoltenVK. SolMetal (direct Metal renderer) and DLSM (Apple-Silicon reconstruction / ML layer) are experimental; SolMetal must be enabled manually and is intended for renderer development and testing. Expect instability and that those features may require building from source and setting developer flags as documented in the repo.
- 6) Engine, saves, and importing data: Sol keeps engine state in ~/Library/Application Support/Sol and will not automatically read other emulators' folders. To import compatible keys, firmware, profiles, or saves, use Settings → System → Import Existing Data… and point Sol at the other emulator's data folder. Existing Sol files are not overwritten by that import flow.
- 7) Notes about signing, notarization, and macOS Gatekeeper: Packaged previews are ad-hoc signed and not notarized — macOS may block them initially. Use System Settings → Privacy & Security → Open Anyway to allow the app once you verify the download. The README documents how to build signed binaries on a Mac with an Apple Development identity.
- 8) What the project does not provide: Sol releases and source do not include commercial games, Switch firmware, cryptographic keys, or other copyright-protected system content. You must provide keys and firmware yourself from hardware you own if you want to emulate protected system features.
Software reminder: You are responsible for providing any Switch firmware, cryptographic keys, or commercial game files; Sol does not include these. Follow the README instructions to import or install your own keys/firmware sourced from hardware you legally own.
Sources and further reading
Detailed guides and tutorials
Explore step-by-step guides for Sol as they are published.
Retro Replay Retro Gaming History, Reviews & Emulation