Need help with moonlight-nx?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

210 Stars 23 Forks GNU General Public License v3.0 225 Commits 32 Opened issues


Moonlight port for Horizon OS

Services available


Need anything else?

Contributors list

# 292,993
214 commits
# 70,217
5 commits
# 130,330
1 commit



Moonlight-NX is a port of Moonlight Game Streaming Project for Nintendo Switch.


  1. Download latest Moonlight-NX release or automatic build (require github login for artifacts link appear);
  2. Put moonlight.nro to sdcard:/switch/moonlight;
  3. Launch hbmenu over Title Redirection (for FULL RAM access);
  4. Launch moonlight.



With touch screen you can configure two mouse input mode: - Moving the cursor along the movement your finger (by default); - Immediately move cursor by tap area and perform left mouse click (enable

Mouse click by tap on screen
option in Settings).

In both case you can hold L/R buttons an tap on a screen for left/right click (cursor will not move) or hold ZL/ZR for allow cursor movement while left/right mouse buttons holded.

Also you can scroll pages with two fingers.


Currently full keyboard input not supported, but you can use this combinations for most common cases:

  1. Minus+Plus - Guide button;
  2. ZL+ZR+Up - Exit from stream (without closing current app);
  3. ZL+ZR+Down - Exit from stream (and close current app);
  4. ZL+ZR+Left - Show/hide video decoder/render stats;
  5. L+R+Up - ESC key;
  6. L+R+Down - Win key;
  7. L+R+Left - Alt+Enter (for enable/disable fullscreen mode in some games or emulators);
  8. L+R+Right - Shift+Tab (for open/close Steam overlay).

You can change this combos on a Input Settings screen (Gamepad icon on a main screen, next tap keyboard icon) or by press Y button on a Applications screen for adjust keyboard combos for a specific game/application.


By default Switch gamepad configured as X360 gamepad (A/B and X/Y swapped). You can reconfigure buttons on a Input Settings screen or by press Y button on a Applications screen for adjust gamepad mapping for a specific game/application.

Multiple gamepad currently not supported.

HID Keyboard/Mouse

Moonlight-NX support attached hardware keyboard/mouse over USB connected to Switch directly or over dock (Switch should be in dock).

Build Moonlight-NX

Using Docker

  1. Create a working dir:

mkdir moonlight-nx-build; cd moonlight-nx-build
  1. Download a Dockerfile:

  1. Build and run a development environment:
docker build . -t moonlight-nx-build
docker run -it moonlight-nx-build
  1. Clone the repo:

git clone --recursive
  1. Run the build:

cd moonlight-nx; make; exit
  1. Copy the .nro out of the container: ``` // Find your container ID docker ps -a

// Use container ID for copy .nro from container docker cp CONTAINER_ID:moonlight-nx/moonlight.nro . ```

Build Manually

  1. Setup a Development Environment
  2. Install deps (
    for Linux like arch,
    for MacOS) and update all to latest versions:
sudo (dkp-)pacman --noconfirm -S devkitA64 switch-tools libnx switch-ffmpeg switch-glad switch-glfw switch-jansson switch-libdrm_nouveau switch-libexpat switch-libopus switch-libvpx switch-mbedtls switch-mesa switch-zlib switch-ffmpeg switch-curl
sudo (dkp-)pacman --noconfirm -Suy
  1. Clone the repo:

git clone --recursive
  1. Run the build:

cd moonlight-nx; make -j


Icon - moonlight-stream project logo.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.