Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rock88/moonlight-nx
Moonlight port for Horizon OS
https://github.com/rock88/moonlight-nx
Last synced: 27 days ago
JSON representation
Moonlight port for Horizon OS
- Host: GitHub
- URL: https://github.com/rock88/moonlight-nx
- Owner: rock88
- License: gpl-3.0
- Created: 2020-05-23T14:49:47.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-09-15T01:12:10.000Z (about 3 years ago)
- Last Synced: 2024-08-04T14:12:24.425Z (4 months ago)
- Language: C++
- Size: 1.34 MB
- Stars: 391
- Watchers: 20
- Forks: 47
- Open Issues: 43
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-switch-homebrew - Moonlight-NX - Game streaming for PCs with NVIDIA graphics cards (Homebrew / Media and Streaming)
README
![Build](https://github.com/rock88/moonlight-nx/workflows/Build/badge.svg)
# Moonlight-NX
Moonlight-NX is a port of [Moonlight Game Streaming Project](https://github.com/moonlight-stream "Moonlight Game Streaming Project") for Nintendo Switch.
# Installing
1. Download latest Moonlight-NX [release](https://github.com/rock88/moonlight-nx/releases) or [automatic build](https://github.com/rock88/moonlight-nx/actions?query=workflow%3ABuild+is%3Asuccess) (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`
2. Download a Dockerfile:
`wget https://raw.githubusercontent.com/rock88/moonlight-nx/master/Dockerfile`
3. Build and run a development environment:
```
docker build . -t moonlight-nx-build
docker run -it moonlight-nx-build
```4. Clone the repo:
`git clone --recursive https://github.com/rock88/moonlight-nx.git`
5. Run the build:
`cd moonlight-nx; make; exit`
6. 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](https://switchbrew.org/wiki/Setting_up_Development_Environment "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
```3. Clone the repo:
`git clone --recursive https://github.com/rock88/moonlight-nx.git`
4. Run the build:
`cd moonlight-nx; make -j`
# Assets
Icon - [moonlight-stream](https://github.com/moonlight-stream "moonlight-stream") project logo.