{"id":15715819,"url":"https://github.com/xitrix/moonlight-switch","last_synced_at":"2025-05-15T04:02:37.155Z","repository":{"id":40605141,"uuid":"375381453","full_name":"XITRIX/Moonlight-Switch","owner":"XITRIX","description":"Moonlight port for Nintendo Switch","archived":false,"fork":false,"pushed_at":"2025-04-01T22:11:01.000Z","size":25785,"stargazers_count":1121,"open_issues_count":32,"forks_count":60,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-04-14T01:58:55.932Z","etag":null,"topics":["homebrew","moonlight","nintendo-switch","nvidia","shield"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/XITRIX.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-09T14:20:01.000Z","updated_at":"2025-04-13T04:39:24.000Z","dependencies_parsed_at":"2023-09-23T08:16:03.726Z","dependency_job_id":"3792dbb0-f837-4e72-b5ca-da839c2ac615","html_url":"https://github.com/XITRIX/Moonlight-Switch","commit_stats":{"total_commits":128,"total_committers":3,"mean_commits":"42.666666666666664","dds":0.0390625,"last_synced_commit":"b84c88a6e49ad2c554000aaab9525a42f7c1a0ad"},"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XITRIX%2FMoonlight-Switch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XITRIX%2FMoonlight-Switch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XITRIX%2FMoonlight-Switch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XITRIX%2FMoonlight-Switch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/XITRIX","download_url":"https://codeload.github.com/XITRIX/Moonlight-Switch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248809032,"owners_count":21164895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["homebrew","moonlight","nintendo-switch","nvidia","shield"],"created_at":"2024-10-03T21:43:10.243Z","updated_at":"2025-04-14T01:59:04.787Z","avatar_url":"https://github.com/XITRIX.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Moonlight-Switch\n\nMoonlight-Switch is a port of [Moonlight Game Streaming Project](https://github.com/moonlight-stream \"Moonlight Game Streaming Project\") for Nintendo Switch.\n\n## Screenshots\n\u003cdetails\u003e\n  \u003csummary\u003ePreview\u003c/summary\u003e\n  \u003cp float=\"left\"\u003e\n  \u003cimg width=\"500\" src=\"https://user-images.githubusercontent.com/9553519/135712658-20382345-2da5-4968-9f57-f9f4470ae819.jpg\" /\u003e\n  \u003cimg width=\"500\" src=\"https://user-images.githubusercontent.com/9553519/135712664-bf2481b2-2791-490d-99a9-2f968682db76.jpg\" /\u003e\n  \u003cimg width=\"500\" src=\"https://user-images.githubusercontent.com/9553519/135712669-fd8b2495-e1ea-4357-949f-7fa7312da46f.jpg\" /\u003e\n  \u003cimg width=\"500\" src=\"https://user-images.githubusercontent.com/9553519/135712672-b9ac3785-bd1c-4948-82b2-9b353019feba.jpg\" /\u003e\n  \u003cimg width=\"500\" src=\"https://user-images.githubusercontent.com/9553519/135712676-aaa85bb7-9517-4a6d-bc35-070df092383c.jpg\" /\u003e\n  \u003c/p\u003e\n\u003c/details\u003e\n\n# Installing\n### Switch\n1. Download latest Moonlight-Switch [release](https://github.com/XITRIX/Moonlight-Switch/releases).\n2. Put Moonlight.nro to sdcard:/switch/Moonlight-Switch;\n3. Launch hbmenu over *Title Redirection* (for FULL RAM access);\n4. Launch moonlight.\n\nOr download it from [HB App Store](https://apps.fortheusers.org/switch/Moonlight-Switch)\n\n\u003e [!TIP]\n\u003e To be able to use high bitrate setting especially with 1080p - resolution, you need to overclock CPU/GPU of your console.\n\u003e\n\u003e To learn more about that you can take a look at [Sys-Clk homebrew](https://github.com/retronx-team/sys-clk) or entire [Atmosphere build - 4IFIR](https://github.com/rashevskyv/4IFIR/blob/main/README_ENG.md) which includes everything you need to overclock your console\n\n\u003e [!WARNING]\n\u003e I DO NOT RESPOSIBLE FOR ANY DAMAGE TO YOUR CONSOLE IF SOMETHING WILL GO WRONG!\n\u003e\n\u003e I am using 4IFIR by myself and not find any issue, but everything is possible. So think by you own head and be responsible for what you do with your devices!\n\n### iOS, tvOS and macOS\nAccept [invite for TestFlight](https://testflight.apple.com/join/P9EX5vQ5) and download app from there\n\n## Discord\nFeel free to join [Moonlight discord server](https://discord.gg/fmtcVPzaG4), you will find me there in \"switch-help\" channel \n\n## Controls\n### Mouse\nWith touch screen you can move your coursor, tap to left click, scroll 2 fingers to scroll.\n\nWhile touching screen ZR and ZL buttons will work like left and right mouse buttons.\n\nAlso while touching screen L and R sticks will work like scrolling wheel.\n\nUSB mouse working as well.\n\n### Keyboard\nYou can use onscreen keyboard, tap 3 fingers on screen to show it.\n\nUSB keyboard working as well.\n\n### Gamepad\nBy default, Switch gamepad configured as X360 gamepad (A/B and X/Y swapped). Key mapping available in application settings.\n\nUp to 5 gamepads (includes handheld mode) supported. Half of joycons are also supported.\n\n### SixAxis\nYou should configure your Sunshine server to recognise controller as DS4 one to be able to use Gyro and Accelerometer. Only works for player 1 controller.\n\n### Ingame overlay\nTo open overlay, press - and + key simultaneously by default or Hold ESC on keyboard.\n\nKey combination and holding time are configurable in settings.\n\n## NSP forwarder\nApp supports NSP forwarders to start stream immediately with predefined configuration. Add app you want to launch in Favorites list first. You can generate forwarder using [NSP Forwarder Generator](https://nsp-forwarder.vercel.app/moonlight)\n\n### Manually\nIf you'd like to create it manually, without help of generator, you'll need to create forwarder which will pass thees arguments to the application:\n- `--ip` - IP address of your PC\n- `--appid` - ID of the app to launch, it has to be added into \"Favorites list\" (you could find it in /switch/Moonlight-Switch/settings.json)\n- `--appname` - The name of the app without any spacings\n\nexample:\n`--ip=192.168.1.101 --appid=1233211234 --appname=Steam`\n\n## Localization\n- English (100%)\n- Russian (100%)\n- German (86%)\n- Spanish (72%)\n- Japanese (70%)\n- Chinese (simplified) (86%)\n- Czech (70%) - unsupported yet, as HOS has no such system language\n\n### Contribution\nIf you'd like to improve existing language, or add a new one, follow the instruction:\n1. Ask a permission to modify language [here](https://poeditor.com/join/project?hash=9kiCIvN0dc)\n2. Notify me by [creating an issue](https://github.com/XITRIX/Moonlight-Switch/issues/new) with title \"[Localization] - {Name of language}\", in description write your nickname on POEditor\n3. After translation is done, notify me in issue created earlier\n\nYou have 2 options to add that translation:\n1. If you'd like your profile in \"contributors\" section, you could add that localization by creating a PR\n2. If you don't care, I could do that by myself\n\nIf you'd like to test your translation, you could follow build instructions, or ask me to create a build with your localization, I'll attach that build in issue.\n\n\u003e [!WARNING]\n\u003e Currently there is no way to select language inside of app, it takes from system settings, so it is impossible to add locatization, that HOS doesn't support (that happend with Czech language).\n\n## Build Moonlight-Switch\n\n```bash\ncd 'folder/to/store/the/sources'\n\n# Clone this repo with submodules\ngit clone https://github.com/XITRIX/Moonlight-Switch.git --recursive\ncd Moonlight-Switch\n```\n\n### Switch\n\nTo build for Switch, a standard development environment must first be set up. In order to do so, [refer to the Getting Started guide](https://devkitpro.org/wiki/Getting_Started).\n\n```bash\ncmake -B build/switch -DPLATFORM_SWITCH=ON\nmake -C build/switch Moonlight.nro -j$(nproc)\n```\n\n### PC (Windows/Linux/MacOS)\n\nTo build for PC, the following components are required:\n\n- cmake/make build system\n- A C++ compiler supporting the C++17 standard\n\nPlease refer to the usual sources of information for your particular operating system. Usually the commands needed to build this project will look like this:\n\n```bash\ncmake -B build/pc -DPLATFORM_DESKTOP=ON -DCMAKE_BUILD_TYPE=Release\nmake -C build/pc -j$(nproc)\n```\n\nAlso, please note that the `resources` folder must be available in the working directory, otherwise the program will fail to find the shaders.\n\n### iOS / tvOS:\n\n```shell\n# build libromfs generator\n./build_libromfs_generator.sh\n\n# prepare vcpkg\n./extern/vcpkg/bootstrap-vcpkg.sh\n```\n\n#### 1. Build for arm64 iphoneOS\n\n```shell\n# 1. Generate a Xcode project\ncmake -B build/ios -G Xcode -DPLATFORM_IOS=ON\n\n# 2. open project in Xcode\nopen build/ios/*.xcodeproj\n\n# 3. Set up Team and Bundle Identifiers in Xcode, then connect devices to run.\n```\n\n#### 2. Build for arm64 tvOS\n\n```shell\n# 1. Generate a Xcode project\ncmake -B build/tvos -G Xcode -DPLATFORM_TVOS=ON\n\n# 2. open project in Xcode\nopen build/tvos/*.xcodeproj\n\n# 3. Set up Team and Bundle Identifiers in Xcode, then connect devices to run.\n```\n\n## Credits\nThanks a lot to [Rock88](https://github.com/rock88) and his [Moonlight-NX](https://github.com/rock88/moonlight-nx), lots of streaming code has been lend from it 👍.\n\n[Xfangfang](https://github.com/xfangfang) for maintaining [Borealis](https://github.com/xfangfang/borealis) library. iOS port would not be possible without it. \n\nAlso thanks to [Averne](https://github.com/averne) for NVDEC implementation into [FFmpeg](https://github.com/averne/FFmpeg) and useful guidance of how to enable it \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxitrix%2Fmoonlight-switch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxitrix%2Fmoonlight-switch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxitrix%2Fmoonlight-switch/lists"}