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
Jous99 797c48e16d
Some checks failed
Build NeXo-Emu (Windows) / build (push) Has been cancelled
tx-src / sources (push) Has been cancelled
Check Strings / check-strings (push) Has been cancelled
Update .gitignore
2026-04-27 00:27:57 +02:00
.ci Commit message 2026-04-01 17:23:05 +02:00
.github nightly builds 2026-04-26 17:42:39 +02:00
.patch Commit message 2026-04-01 17:23:05 +02:00
.reuse Commit message 2026-04-01 17:23:05 +02:00
.tx Commit message 2026-04-01 17:23:05 +02:00
CMakeModules Commit message 2026-04-01 17:23:05 +02:00
dist Commit message 2026-04-01 17:23:05 +02:00
docs nightly builds 2026-04-26 17:42:39 +02:00
externals docs 2026-04-26 17:32:30 +02:00
hooks Commit message 2026-04-01 17:23:05 +02:00
LICENSES Commit message 2026-04-01 17:23:05 +02:00
patches Commit message 2026-04-01 17:23:05 +02:00
src some fixes 2026-04-26 17:47:23 +02:00
tools Commit message 2026-04-01 17:23:05 +02:00
.codespellrc Commit message 2026-04-01 17:23:05 +02:00
.git-blame-ignore-revs Commit message 2026-04-01 17:23:05 +02:00
.gitattributes Commit message 2026-04-01 17:23:05 +02:00
.gitignore Update .gitignore 2026-04-27 00:27:57 +02:00
.shellcheckrc Commit message 2026-04-01 17:23:05 +02:00
build.bat change all names to nexo 2026-04-26 13:59:03 +02:00
BUILDING.md change all names to nexo 2026-04-26 13:59:03 +02:00
CMakeLists.txt updates 2026-04-07 00:46:32 +02:00
CONTRIBUTING.md Commit message 2026-04-01 17:23:05 +02:00
cpmfile.json Commit message 2026-04-01 17:23:05 +02:00
deploy.bat change all names to nexo 2026-04-26 13:59:03 +02:00
Doxyfile Commit message 2026-04-01 17:23:05 +02:00
git Commit message 2026-04-01 17:23:05 +02:00
GUIA_INTEGRACION.md Commit message 2026-04-01 17:23:05 +02:00
LICENSE.txt Commit message 2026-04-01 17:23:05 +02:00
main Commit message 2026-04-01 17:23:05 +02:00
README.md change all names to nexo 2026-04-26 13:59:03 +02:00
reconfigure.bat change all names to nexo 2026-04-26 13:59:03 +02:00
shell.nix Commit message 2026-04-01 17:23:05 +02:00

NeXo Emulator

Nintendo Switch Emulator with NeXo Network Online Support


What is NeXo Emulator?

NeXo Emulator is a Nintendo Switch emulator based on yuzu/Eden with full NeXo Network online services integration. It lets you play Nintendo Switch games on PC with real online multiplayer support through NeXo Network's infrastructure.

  • Base: Eden Emulator (actively maintained fork of yuzu)
  • Online layer: Ported from RaptorCitrus, adapted and extended for NeXo Network
  • Project: NeXo Emulator — a modern, online-capable Nintendo Switch emulator

Features

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

NeXo Network integration

  • Online authentication — log in with your NeXo Network account; automatic token refresh
  • Hardware ID — secure per-machine identification for account binding
  • URL rewriting — transparent redirection of Nintendo servers to NeXo Network
  • FQDN resolver — routes Nintendo server requests to NeXo Network endpoints
  • Subscription info — displays your NeXo Network subscription status in the UI
  • Friends system — full friends list with send/accept/reject requests, online presence
  • Direct messages (chat) — real-time DM chat with friends via WebSocket
  • Notifications — toast alerts for friend requests, friend online, and new messages
  • BCAT — game content delivery via NeXo Network servers
  • Online status monitor — live connection indicator in the status bar

Building

See BUILDING.md for full build instructions.


Setting up NeXo Network

  1. Create an account at nexonetwork.space
  2. Launch NeXo Emulator and open Tools → NeXo Network Settings
  3. Log in with your username and password — the token is saved automatically
  4. The status bar will show a green icon when connected

Architecture overview

NeXo Emulator (yuzu/Eden base + NeXo Network)
├── src/common/
│   ├── hardware_id.h/cpp        [NEW] Unique machine ID for NeXo Network auth
│   ├── nexo_httplib.h           [NEW] Windows-safe httplib wrapper
│   └── settings.h               [MOD] nexo_token, nexo_refresh_token, nexo_server_domain
│
├── src/core/
│   ├── online_initiator.h/cpp   [NEW] NeXo Network connection manager + auto token refresh
│   ├── core.h/cpp               [MOD] OnlineInitiator added to System
│   └── hle/service/
│       └── nsd/nsd.cpp          [MOD] FQDN resolver routes Nintendo DNS to NeXo Network
│
├── src/web_service/
│   └── web_backend.cpp          [MOD] R-HardwareId header on all web requests
│
└── src/yuzu/
    ├── overlay.h                [NEW] Base class for overlay widgets
    └── online/                  [NEW] Full online UI module
        ├── types.h              Connection status enums
        ├── monitor.h/cpp        Online status widget
        ├── friends.h/cpp        Friends list dialog
        ├── chat.h/cpp           Direct message chat dialog (WebSocket)
        ├── notification.h/cpp   Toast notification widget
        ├── notification_queue.h/cpp  Real-time notification queue (WebSocket)
        ├── login_dialog.h/cpp   Login dialog with token auto-save
        ├── user_delegate.h/cpp  User display widgets
        └── online_util.h/cpp    Shared online utilities

NeXo Network protocol

NeXo Emulator communicates with NeXo Network using HTTPS with these custom headers:

Header Value Purpose
Authorization Bearer <token> User authentication
R-Platform 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

NeXo 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
Chat chat-lp1.nexonetwork.space
P2P Connector connector-lp1.nexonetwork.space
BCAT bcat-lp1.nexonetwork.space
Status status-lp1.nexonetwork.space

Credits

  • yuzu Emulator Project — the original emulator this lineage is built on
  • Eden Emulator Project — the actively maintained base this project forks from
  • NeXo Network — online services infrastructure
  • NeXo Emulator Project — integration, porting, and maintenance

NeXo Emulator is licensed under GPL-3.0-or-later.

NeXo Emulator 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.