Experimental Nintendo Switch emulator in C++, for online services https://nexo.joustech.space/
  • C++ 62.1%
  • cpp 27.8%
  • POV-Ray SDL 4.5%
  • Kotlin 3.5%
  • CMake 0.8%
  • Other 1.2%
Find a file
2026-03-31 23:27:57 +02:00
CMakeModules upload 2026-03-31 22:58:47 +02:00
dist upload 2026-03-31 22:58:47 +02:00
docs upload 2026-03-31 22:58:47 +02:00
externals upload 2026-03-31 22:58:47 +02:00
hooks upload 2026-03-31 22:58:47 +02:00
LICENSES upload 2026-03-31 22:58:47 +02:00
patches upload 2026-03-31 22:58:47 +02:00
src upload 2026-03-31 22:58:47 +02:00
tools upload 2026-03-31 22:58:47 +02:00
website upload 2026-03-31 22:58:47 +02:00
.codespellrc upload 2026-03-31 22:58:47 +02:00
.git-blame-ignore-revs upload 2026-03-31 22:58:47 +02:00
.gitattributes upload 2026-03-31 22:58:47 +02:00
.gitignore upload 2026-03-31 22:58:47 +02:00
.shellcheckrc upload 2026-03-31 22:58:47 +02:00
CMakeLists.txt upload 2026-03-31 22:58:47 +02:00
CONTRIBUTING.md upload 2026-03-31 22:58:47 +02:00
cpmfile.json upload 2026-03-31 22:58:47 +02:00
Doxyfile upload 2026-03-31 22:58:47 +02:00
git upload 2026-03-31 22:58:47 +02:00
GUIA_INTEGRACION.md upload 2026-03-31 22:58:47 +02:00
LICENSE.txt upload 2026-03-31 22:58:47 +02:00
main upload 2026-03-31 22:58:47 +02:00
README.md Actualizar README.md 2026-03-31 23:27:57 +02:00
shell.nix upload 2026-03-31 22:58:47 +02:00

NeXoEmu

Nintendo Switch Emulator with NeXo Network Online Support


What is NeXoEmu?

NeXoEmu is a Nintendo Switch emulator based on Eden with full NeXoNetwork online services integration. It allows you to play Nintendo Switch games on PC with online multiplayer support through Raptor Network's infrastructure.

  • Base: Eden Emulator (2026, actively maintained fork of yuzu)
  • Online layer: Ported from RaptorCitrus (Raptor Network client, 2021)
  • Project: NexoEmu — a modern, online-capable Nintendo Switch emulator

Features

From Eden (base emulator)

  • Full Nintendo Switch emulation (ARM64 via Dynarmic JIT)
  • Vulkan and OpenGL rendering backends
  • High accuracy mode for demanding titles
  • Room-based local multiplayer (LDN)
  • Android support
  • Active development and bug fixes

Added by NeXoEmu (Raptor Network integration)

  • Online authentication — log in with your NeXoNetwork token
  • Hardware ID — secure per-machine identification for account binding
  • URL rewriting — transparent redirection of Nintendo servers to NeXoNetwork
  • FQDN resolver — blocks Nintendo server connections, routes to Raptor endpoints
  • Subscription info — displays your NeXoNetwork subscription status
  • Friends system — see your friends list, send/accept requests
  • Notifications — real-time alerts for friend requests and game invites
  • BCAT — game content delivery via Raptor's servers
  • Online status monitor — live connection status indicator in the UI

Building

Requirements

Dependency Version Notes
CMake >= 3.22 Build system
C++ compiler C++20 GCC 12+, Clang 15+, MSVC 2022
Qt 5 or 6 GUI framework
OpenSSL >= 1.1 HTTPS + hardware ID
SDL2 >= 2.0 Input
Vulkan SDK latest Rendering

Clone

git clone https://github.com/your-fork/NeXoEmu.git
cd NeXoEmu
git submodule update --init --recursive

Linux / macOS

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . -j$(nproc)

Windows (MSVC)

mkdir build && cd build
cmake .. -G "Visual Studio 17 2022" -A x64
cmake --build . --config Release

Setting up NeXoNetwork

  1. Create an account at nexonetwork.space
  2. Generate a token from your account dashboard
  3. Open NeXoEmu → SettingsRaptor Network
  4. Paste your token and click Connect
  5. The status indicator turns green when connected

Architecture overview

NeXoEmu (Eden base + RaptorNetwork)
├── src/common/
│   ├── hardware_id.h/cpp        [NEW] Unique machine ID for Raptor auth
│   └── settings.h               [MOD] Added raptor_token setting
│
├── src/core/
│   ├── online_initiator.h/cpp   [NEW] Raptor Network connection manager
│   ├── core.h/cpp               [MOD] OnlineInitiator added to System
│   └── hle/service/sockets/
│       └── nsd.cpp              [MOD] FQDN resolver uses Raptor URL rewriting
│
├── src/web_service/
│   └── web_backend.cpp          [MOD] R-HardwareId header on all web requests
│
└── src/yuzu/
    ├── online/                  [NEW] Full online UI module
    │   ├── types.h              Connection status enums
    │   ├── monitor.h/cpp        Online status widget
    │   ├── friends.h/cpp        Friends list dialog
    │   ├── notification*.h/cpp  Real-time notification system
    │   ├── user_delegate.h/cpp  User display widgets
    │   └── online_util.h/cpp    Shared online utilities
    └── configuration/
        └── configure_raptor_online.*  [NEW] Raptor Network settings UI

Raptor Network protocol

NeXoEmu communicates with Raptor Network using HTTPS with these custom headers:

Header Value Purpose
Authorization Bearer <token> User authentication
R-ClientId nexoemu Identifies this emulator
R-HardwareId <48-char ID> Machine binding
R-Target config, friends Service routing
R-TitleId <hex game ID> Per-game auth tokens

Raptor Network endpoints

Service Host
Accounts accounts-api-lp1.nexonetwork.space
Config config-lp1.nexonetwork.space
Friends friends-lp1.nexonetwork.space
Profile profile-lp1.nexonetwork.space
Notifications notification-lp1.nexonetwork.space
P2P Connector connector-lp1.nexonetwork.space
BCAT bcat-lp1.nexonetwork.space
Status status-lp1.nexonetwork.space

Credits

  • Eden Emulator Project — the modern base emulator
  • yuzu Emulator Project — the original emulator this lineage is built on
  • Raptor Network / Ultramarine Holdings LLC — online services and RaptorCitrus client
  • NeXoEmu Project — integration, porting, and maintenance

NeXoEmu is licensed under GPL-3.0-or-later.

NeXoEmu does not include or distribute Nintendo software. You must provide your own legally obtained game files. Nintendo Switch is a trademark of Nintendo Co., Ltd.