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%
| .ci | ||
| .github | ||
| .patch | ||
| .reuse | ||
| .tx | ||
| CMakeModules | ||
| dist | ||
| docs | ||
| externals | ||
| hooks | ||
| LICENSES | ||
| patches | ||
| src | ||
| tools | ||
| .codespellrc | ||
| .git-blame-ignore-revs | ||
| .gitattributes | ||
| .gitignore | ||
| .shellcheckrc | ||
| build.bat | ||
| BUILDING.md | ||
| CMakeLists.txt | ||
| CONTRIBUTING.md | ||
| cpmfile.json | ||
| deploy.bat | ||
| Doxyfile | ||
| git | ||
| GUIA_INTEGRACION.md | ||
| LICENSE.txt | ||
| main | ||
| README.md | ||
| reconfigure.bat | ||
| shell.nix | ||
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
- Create an account at nexonetwork.space
- Launch NeXo Emulator and open Tools → NeXo Network Settings
- Log in with your username and password — the token is saved automatically
- 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
Legal
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.