Moonlight-NX is a port of Moonlight Game Streaming Project for Nintendo Switch.
- Download latest Moonlight-NX release or automatic build (require github login for artifacts link appear);
- Put moonlight.nro to sdcard:/switch/moonlight;
- Launch hbmenu over Title Redirection (for FULL RAM access);
- 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:
- Minus+Plus - Guide button;
- ZL+ZR+Up - Exit from stream (without closing current app);
- ZL+ZR+Down - Exit from stream (and close current app);
- ZL+ZR+Left - Show/hide video decoder/render stats;
- L+R+Up - ESC key;
- L+R+Down - Win key;
- L+R+Left - Alt+Enter (for enable/disable fullscreen mode in some games or emulators);
- 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.
Moonlight-NX support attached hardware keyboard/mouse over USB connected to Switch directly or over dock (Switch should be in dock).
- Create a working dir:
mkdir moonlight-nx-build; cd moonlight-nx-build
- Download a Dockerfile:
wget https://raw.githubusercontent.com/rock88/moonlight-nx/master/Dockerfile
- Build and run a development environment:
docker build . -t moonlight-nx-build
docker run -it moonlight-nx-build
- Clone the repo:
git clone --recursive https://github.com/rock88/moonlight-nx.git
- Run the build:
cd moonlight-nx; make; exit
- 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 .
- Setup a Development Environment
- Install deps (
dkp-pacman
for Linux like arch,pacman
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
- Clone the repo:
git clone --recursive https://github.com/rock88/moonlight-nx.git
- Run the build:
cd moonlight-nx; make -j
Icon - moonlight-stream project logo.