No description
Find a file
Andrey Konoplyankin 2a6631a956 keyboards key refactoring;
add few dummy control frontends
2021-04-18 20:57:33 +03:00
.github/workflows Plz work 2021-02-07 14:46:15 +03:00
curl/lib Add prebuiled libcurl 7.69.1-1 :C 2021-02-06 17:32:31 +03:00
moonlight.xcodeproj keyboards key refactoring; 2021-04-18 20:57:33 +03:00
src keyboards key refactoring; 2021-04-18 20:57:33 +03:00
third_party keyboards key refactoring; 2021-04-18 20:57:33 +03:00
.gitignore New inspect crash reports util 2021-02-08 22:08:12 +03:00
.gitmodules Save/load settings with jansson 2020-05-22 22:42:32 +03:00
build.sh Try to fix docker build 2021-02-07 13:15:59 +03:00
dbg.ruby New inspect crash reports util 2021-02-08 22:08:12 +03:00
Dockerfile Update Dockerfile 2021-02-07 15:22:52 +03:00
icon.jpg Add icon 2020-05-23 21:15:04 +03:00
LICENSE Initial commit 2020-04-29 20:05:00 +03:00
Makefile Add KeyboardFrontend for switch 2021-04-18 13:16:16 +03:00
README.md Update README.md 2021-04-16 21:54:22 +03:00
run.sh Remove libretro stuff 2020-05-23 20:16:26 +03:00

Build

Moonlight-NX

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

Installing

  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.

Controls

Mouse

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.

Keyboard

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.

Gamepad

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:

wget https://raw.githubusercontent.com/rock88/moonlight-nx/master/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 https://github.com/rock88/moonlight-nx.git

  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 (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
  1. Clone the repo:

git clone --recursive https://github.com/rock88/moonlight-nx.git

  1. Run the build:

cd moonlight-nx; make -j

Assets

Icon - moonlight-stream project logo.