update docs (#574)
This commit is contained in:
parent
27919697a7
commit
88a450bf1f
22 changed files with 306 additions and 196 deletions
3
.github/workflows/CI.yml
vendored
3
.github/workflows/CI.yml
vendored
|
|
@ -886,7 +886,6 @@ jobs:
|
||||||
mingw-w64-x86_64-openssl
|
mingw-w64-x86_64-openssl
|
||||||
mingw-w64-x86_64-opus
|
mingw-w64-x86_64-opus
|
||||||
mingw-w64-x86_64-toolchain
|
mingw-w64-x86_64-toolchain
|
||||||
mingw-w64-x86_64-x265
|
|
||||||
nasm
|
nasm
|
||||||
yasm
|
yasm
|
||||||
|
|
||||||
|
|
@ -903,7 +902,7 @@ jobs:
|
||||||
-DSUNSHINE_ASSETS_DIR=assets \
|
-DSUNSHINE_ASSETS_DIR=assets \
|
||||||
-G "MinGW Makefiles" \
|
-G "MinGW Makefiles" \
|
||||||
..
|
..
|
||||||
mingw32-make -j2
|
mingw32-make -j$(nproc)
|
||||||
|
|
||||||
- name: Package Windows
|
- name: Package Windows
|
||||||
shell: msys2 {0}
|
shell: msys2 {0}
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,14 @@
|
||||||
cmake_minimum_required(VERSION 3.0)
|
cmake_minimum_required(VERSION 3.0)
|
||||||
|
|
||||||
project(Sunshine VERSION 0.16.0
|
project(Sunshine VERSION 0.16.0
|
||||||
DESCRIPTION "Sunshine is a Gamestream host for Moonlight."
|
DESCRIPTION "Sunshine is a self-hosted game stream host for Moonlight."
|
||||||
HOMEPAGE_URL "https://app.lizardbyte.dev"
|
HOMEPAGE_URL "https://app.lizardbyte.dev"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(PROJECT_LONG_DESCRIPTION "Sunshine is a self hosted, low latency, cloud gaming solution with support for AMD, \
|
set(PROJECT_LONG_DESCRIPTION "Offering low latency, cloud gaming server capabilities with support for AMD, Intel, \
|
||||||
Intel, and Nvidia GPUs. It is an open source implementation of NVIDIA's GameStream, as used by the NVIDIA Shield. \
|
and Nvidia GPUs for hardware encoding. Software encoding is also available. You can connect to Sunshine from any \
|
||||||
Connect to Sunshine from any Moonlight client, available for nearly any device imaginable.")
|
Moonlight client on a variety of devices. A web UI is provided to allow configuration, and client pairing, from \
|
||||||
|
your favorite web browser. Pair from the local server or any mobile device.")
|
||||||
|
|
||||||
option(SUNSHINE_CONFIGURE_APPIMAGE "Configuration specific for AppImage." OFF)
|
option(SUNSHINE_CONFIGURE_APPIMAGE "Configuration specific for AppImage." OFF)
|
||||||
option(SUNSHINE_CONFIGURE_AUR "Configure files required for AUR." OFF)
|
option(SUNSHINE_CONFIGURE_AUR "Configure files required for AUR." OFF)
|
||||||
|
|
@ -246,7 +247,7 @@ else()
|
||||||
if(WAYLAND_FOUND)
|
if(WAYLAND_FOUND)
|
||||||
add_compile_definitions(SUNSHINE_BUILD_WAYLAND)
|
add_compile_definitions(SUNSHINE_BUILD_WAYLAND)
|
||||||
macro(genWayland FILENAME)
|
macro(genWayland FILENAME)
|
||||||
make_directory(${CMAKE_BINARY_DIR}/generated-src)
|
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/generated-src)
|
||||||
|
|
||||||
message("wayland-scanner private-code ${CMAKE_SOURCE_DIR}/third-party/wayland-protocols/${FILENAME}.xml ${CMAKE_BINARY_DIR}/generated-src/${FILENAME}.c")
|
message("wayland-scanner private-code ${CMAKE_SOURCE_DIR}/third-party/wayland-protocols/${FILENAME}.xml ${CMAKE_BINARY_DIR}/generated-src/${FILENAME}.c")
|
||||||
message("wayland-scanner client-header ${CMAKE_SOURCE_DIR}/third-party/wayland-protocols/${FILENAME}.xml ${CMAKE_BINARY_DIR}/generated-src/${FILENAME}.h")
|
message("wayland-scanner client-header ${CMAKE_SOURCE_DIR}/third-party/wayland-protocols/${FILENAME}.xml ${CMAKE_BINARY_DIR}/generated-src/${FILENAME}.h")
|
||||||
|
|
@ -533,11 +534,15 @@ if(WIN32) # see options at: https://cmake.org/cmake/help/latest/cpack_gen/nsis.h
|
||||||
# Sets permissions on the installed folder so that we can write in it
|
# Sets permissions on the installed folder so that we can write in it
|
||||||
# Install service
|
# Install service
|
||||||
SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS
|
SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS
|
||||||
"${CPACK_NSIS_EXTRA_INSTALL_COMMANDS}
|
"${CPACK_NSIS_EXTRA_INSTALL_COMMANDS}
|
||||||
ExecWait 'icacls \\\"$INSTDIR\\\" /grant:r Users:\\\(OI\\\)\\\(CI\\\)\\\(F\\\)'
|
ExecWait '\\\"$SYSDIR\\\\cmd.exe\\\" /c \\\"start https://sunshinestream.readthedocs.io/\\\"'
|
||||||
ExecWait '\\\"$INSTDIR\\\\scripts\\\\add-firewall-rule.bat\\\"'
|
ExecWait 'icacls \\\"$INSTDIR\\\" /grant:r Users:\\\(OI\\\)\\\(CI\\\)\\\(F\\\)'
|
||||||
ExecWait '\\\"$INSTDIR\\\\scripts\\\\install-service.bat\\\"'
|
ExecWait '\\\"$INSTDIR\\\\scripts\\\\add-firewall-rule.bat\\\"'
|
||||||
")
|
ExecWait '\\\"$INSTDIR\\\\scripts\\\\install-service.bat\\\"'
|
||||||
|
MessageBox MB_YESNO|MB_ICONQUESTION 'Do you want to add/update ViGEmBus (virtual controller support)?' IDNO NoController
|
||||||
|
ExecWait '\\\"$SYSDIR\\\\cmd.exe\\\" /c \\\"start https://github.com/ViGEm/ViGEmBus/releases/latest\\\"' ; skipped if no
|
||||||
|
NoController:
|
||||||
|
")
|
||||||
|
|
||||||
# Extra uninstall commands
|
# Extra uninstall commands
|
||||||
# Uninstall service
|
# Uninstall service
|
||||||
|
|
@ -566,10 +571,16 @@ if(WIN32) # see options at: https://cmake.org/cmake/help/latest/cpack_gen/nsis.h
|
||||||
# Checking for previous installed versions
|
# Checking for previous installed versions
|
||||||
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL "ON")
|
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL "ON")
|
||||||
|
|
||||||
set(CPACK_NSIS_HELP_LINK "https://docs.lizardbyte.dev/projects/sunshine/en/latest/about/installation.html")
|
set(CPACK_NSIS_HELP_LINK "https://sunshinestream.readthedocs.io/about/installation.html")
|
||||||
set(CPACK_NSIS_URL_INFO_ABOUT "${CMAKE_PROJECT_HOMEPAGE_URL}")
|
set(CPACK_NSIS_URL_INFO_ABOUT "${CMAKE_PROJECT_HOMEPAGE_URL}")
|
||||||
set(CPACK_NSIS_CONTACT "${CMAKE_PROJECT_HOMEPAGE_URL}/support")
|
set(CPACK_NSIS_CONTACT "${CMAKE_PROJECT_HOMEPAGE_URL}/support")
|
||||||
|
|
||||||
|
set(CPACK_NSIS_MENU_LINKS
|
||||||
|
"https://sunshinestream.readthedocs.io" "Sunshine documentation"
|
||||||
|
"https://app.lizardbyte.dev" "LizardByte Web Site"
|
||||||
|
"https://app.lizardbyte.dev/support" "LizardByte Support"
|
||||||
|
)
|
||||||
|
|
||||||
# Setting components groups and dependencies
|
# Setting components groups and dependencies
|
||||||
# sunshine binary
|
# sunshine binary
|
||||||
set(CPACK_COMPONENT_APPLICATION_DISPLAY_NAME "${CMAKE_PROJECT_NAME}")
|
set(CPACK_COMPONENT_APPLICATION_DISPLAY_NAME "${CMAKE_PROJECT_NAME}")
|
||||||
|
|
|
||||||
|
|
@ -71,13 +71,13 @@ port `47990` (e.g. `http://<host_ip>:47990`). The internal port must be `47990`,
|
||||||
(e.g. `-p 8080:47990`). All the ports listed in the `docker run` and `docker-compose` examples are required.
|
(e.g. `-p 8080:47990`). All the ports listed in the `docker run` and `docker-compose` examples are required.
|
||||||
|
|
||||||
|
|
||||||
| Parameter | Function | Example Value | Required |
|
| Parameter | Function | Example Value | Required |
|
||||||
|-----------------------------|---------------------------|--------------------|----------|
|
|-----------------------------|----------------------|--------------------|----------|
|
||||||
| `-p <port>:47990` | Web UI Port | `47990` | True |
|
| `-p <port>:47990` | Web UI Port | `47990` | True |
|
||||||
| `-v <path to data>:/config` | Volume mapping | `/home/sunshine` | True |
|
| `-v <path to data>:/config` | Volume mapping | `/home/sunshine` | True |
|
||||||
| `-e PUID=<uid>` | User ID | `1001` | False |
|
| `-e PUID=<uid>` | User ID | `1001` | False |
|
||||||
| `-e PGID=<gid>` | Group ID | `1001` | False |
|
| `-e PGID=<gid>` | Group ID | `1001` | False |
|
||||||
| `-e TZ=<timezone>` | Lookup TZ value [here][1] | `America/New_York` | False |
|
| `-e TZ=<timezone>` | Lookup [TZ value][1] | `America/New_York` | False |
|
||||||
|
|
||||||
[1]: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
[1]: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||||
|
|
||||||
|
|
|
||||||
95
README.rst
95
README.rst
|
|
@ -4,34 +4,91 @@ LizardByte has the full documentation hosted on `Read the Docs <https://sunshine
|
||||||
|
|
||||||
About
|
About
|
||||||
-----
|
-----
|
||||||
Sunshine is a Game stream host for Moonlight.
|
Sunshine is a self-hosted game stream host for Moonlight.
|
||||||
Sunshine is a self hosted, low latency, cloud gaming solution with support for AMD, Intel, and Nvidia gpus.
|
Offering low latency, cloud gaming server capabilities with support for AMD, Intel, and Nvidia GPUs for hardware
|
||||||
It is an open source implementation of NVIDIA's GameStream, as used by the NVIDIA Shield.
|
encoding. Software encoding is also available. You can connect to Sunshine from any Moonlight client on a variety of
|
||||||
Connect to Sunshine from any Moonlight client, available for nearly any device imaginable.
|
devices. A web UI is provided to allow configuration, and client pairing, from your favorite web browser. Pair from
|
||||||
|
the local server or any mobile device.
|
||||||
|
|
||||||
These are the advantages of Sunshine over GeForce Experience.
|
System Requirements
|
||||||
|
-------------------
|
||||||
|
|
||||||
- FOSS (Free and Open Source Software)
|
.. warning:: This table is a work in progress. Do not purchase hardware based on this.
|
||||||
- Multi-platform
|
|
||||||
|
|
||||||
- Linux
|
**Minimum Requirements**
|
||||||
- macOS
|
|
||||||
- Windows
|
|
||||||
|
|
||||||
- Pair over web ui
|
+------------+------------------------------------------------------------+
|
||||||
- Supports AMD, Intel, and Nvidia GPUs for encoding
|
| GPU | AMD: VCE 1.0 or higher, see `obs-amd hardware support`_ |
|
||||||
- Supports software encoding
|
| +------------------------------------------------------------+
|
||||||
- Supports streaming to multiple clients
|
| | Intel: VAAPI-compatible, see: `VAAPI hardware support`_ |
|
||||||
- Web UI for configuration
|
| +------------------------------------------------------------+
|
||||||
|
| | Nvidia: NVENC enabled cards, see `nvenc support matrix`_ |
|
||||||
|
+------------+------------------------------------------------------------+
|
||||||
|
| CPU | AMD: Ryzen 3 or higher |
|
||||||
|
| +------------------------------------------------------------+
|
||||||
|
| | Intel: Core i3 or higher |
|
||||||
|
+------------+------------------------------------------------------------+
|
||||||
|
| RAM | 4GB or more |
|
||||||
|
+------------+------------------------------------------------------------+
|
||||||
|
| OS | Windows: 10+ (Windows Server not supported) |
|
||||||
|
| +------------------------------------------------------------+
|
||||||
|
| | macOS: 11.7+ |
|
||||||
|
| +------------------------------------------------------------+
|
||||||
|
| | Linux/Debian: 11 (bullseye) |
|
||||||
|
| +------------------------------------------------------------+
|
||||||
|
| | Linux/Fedora: 36+ |
|
||||||
|
| +------------------------------------------------------------+
|
||||||
|
| | Linux/Ubuntu: 20.04+ (focal) |
|
||||||
|
+------------+------------------------------------------------------------+
|
||||||
|
| Network | Host: 5GHz, 802.11ac |
|
||||||
|
| +------------------------------------------------------------+
|
||||||
|
| | Client: 5GHz, 802.11ac |
|
||||||
|
+------------+------------------------------------------------------------+
|
||||||
|
|
||||||
|
**4k Suggestions**
|
||||||
|
|
||||||
|
+------------+------------------------------------------------------------+
|
||||||
|
| GPU | AMD: Video Coding Engine 3.1 or higher |
|
||||||
|
| +------------------------------------------------------------+
|
||||||
|
| | Intel: HD Graphics 510 or higher |
|
||||||
|
| +------------------------------------------------------------+
|
||||||
|
| | Nvidia: GeForce GTX 1080 or higher |
|
||||||
|
+------------+------------------------------------------------------------+
|
||||||
|
| CPU | AMD: Ryzen 5 or higher |
|
||||||
|
| +------------------------------------------------------------+
|
||||||
|
| | Intel: Core i5 or higher |
|
||||||
|
+------------+------------------------------------------------------------+
|
||||||
|
| Network | Host: CAT5e ethernet or better |
|
||||||
|
| +------------------------------------------------------------+
|
||||||
|
| | Client: CAT5e ethernet or better |
|
||||||
|
+------------+------------------------------------------------------------+
|
||||||
|
|
||||||
|
**HDR Suggestions**
|
||||||
|
|
||||||
|
+------------+------------------------------------------------------------+
|
||||||
|
| GPU | AMD: Video Coding Engine 3.4 or higher |
|
||||||
|
| +------------------------------------------------------------+
|
||||||
|
| | Intel: UHD Graphics 730 or higher |
|
||||||
|
| +------------------------------------------------------------+
|
||||||
|
| | Nvidia: Pascal-based GPU (GTX 10-series) or higher |
|
||||||
|
+------------+------------------------------------------------------------+
|
||||||
|
| CPU | AMD: todo |
|
||||||
|
| +------------------------------------------------------------+
|
||||||
|
| | Intel: todo |
|
||||||
|
+------------+------------------------------------------------------------+
|
||||||
|
| Network | Host: CAT5e ethernet or better |
|
||||||
|
| +------------------------------------------------------------+
|
||||||
|
| | Client: CAT5e ethernet or better |
|
||||||
|
+------------+------------------------------------------------------------+
|
||||||
|
|
||||||
Integrations
|
Integrations
|
||||||
------------
|
------------
|
||||||
|
|
||||||
.. image:: https://img.shields.io/github/workflow/status/lizardbyte/sunshine/CI/master?label=CI%20build&logo=github&style=for-the-badge
|
.. image:: https://img.shields.io/github/actions/workflow/status/lizardbyte/sunshine/CI.yml?branch=master&label=CI%20build&logo=github&style=for-the-badge
|
||||||
:alt: GitHub Workflow Status (CI)
|
:alt: GitHub Workflow Status (CI)
|
||||||
:target: https://github.com/LizardByte/Sunshine/actions/workflows/CI.yml?query=branch%3Amaster
|
:target: https://github.com/LizardByte/Sunshine/actions/workflows/CI.yml?query=branch%3Amaster
|
||||||
|
|
||||||
.. image:: https://img.shields.io/github/workflow/status/lizardbyte/sunshine/localize/nightly?label=localize%20build&logo=github&style=for-the-badge
|
.. image:: https://img.shields.io/github/actions/workflow/status/lizardbyte/sunshine/localize.yml?branch=nightly&label=localize%20build&logo=github&style=for-the-badge
|
||||||
:alt: GitHub Workflow Status (localize)
|
:alt: GitHub Workflow Status (localize)
|
||||||
:target: https://github.com/LizardByte/Sunshine/actions/workflows/localize.yml?query=branch%3Anightly
|
:target: https://github.com/LizardByte/Sunshine/actions/workflows/localize.yml?query=branch%3Anightly
|
||||||
|
|
||||||
|
|
@ -69,3 +126,7 @@ Stats
|
||||||
.. image:: https://img.shields.io/badge/dynamic/json?color=blue&label=AUR&style=for-the-badge&query=$.results.0.NumVotes&url=https%3A%2F%2Fapp.lizardbyte.dev%2Funo%2Faur%2Fsunshine.json&logo=archlinux
|
.. image:: https://img.shields.io/badge/dynamic/json?color=blue&label=AUR&style=for-the-badge&query=$.results.0.NumVotes&url=https%3A%2F%2Fapp.lizardbyte.dev%2Funo%2Faur%2Fsunshine.json&logo=archlinux
|
||||||
:alt: AUR votes
|
:alt: AUR votes
|
||||||
:target: https://aur.archlinux.org/packages/sunshine
|
:target: https://aur.archlinux.org/packages/sunshine
|
||||||
|
|
||||||
|
.. _nvenc support matrix: https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new
|
||||||
|
.. _obs-amd hardware support: https://github.com/obsproject/obs-amd-encoder/wiki/Hardware-Support
|
||||||
|
.. _VAAPI hardware support: https://www.intel.com/content/www/us/en/developer/articles/technical/linuxmedia-vaapi.html
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,18 @@ Advanced Usage
|
||||||
==============
|
==============
|
||||||
Sunshine will work with the default settings for most users. In some cases you may want to configure Sunshine further.
|
Sunshine will work with the default settings for most users. In some cases you may want to configure Sunshine further.
|
||||||
|
|
||||||
|
Performance Tips
|
||||||
|
----------------
|
||||||
|
|
||||||
|
AMD
|
||||||
|
^^^
|
||||||
|
In Windows, enabling `Enahanced Sync` in AMD's settings may help reduce the latency by an additional frame. This
|
||||||
|
applies to `amfenc` and `libx264`.
|
||||||
|
|
||||||
|
Nvidia
|
||||||
|
^^^^^^
|
||||||
|
Enabling `Fast Sync` in Nvidia settings may help reduce latency.
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
-------------
|
-------------
|
||||||
The default location for the configuration file is listed below. You can use another location if you
|
The default location for the configuration file is listed below. You can use another location if you
|
||||||
|
|
@ -341,6 +353,9 @@ dwmflush
|
||||||
If enabled, this feature will automatically deactivate if the client framerate exceeds
|
If enabled, this feature will automatically deactivate if the client framerate exceeds
|
||||||
the host monitor's current refresh rate.
|
the host monitor's current refresh rate.
|
||||||
|
|
||||||
|
.. Note:: If you disable this option, you may see video stuttering during mouse movement in certain scenarios.
|
||||||
|
It is recommended to leave enabled when possible.
|
||||||
|
|
||||||
**Default**
|
**Default**
|
||||||
``enabled``
|
``enabled``
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,19 +21,10 @@ See :ref:`Docker <about/docker:docker>` for additional information.
|
||||||
|
|
||||||
Linux
|
Linux
|
||||||
-----
|
-----
|
||||||
First, follow the instructions for your preferred package type below.
|
Follow the instructions for your preferred package type below.
|
||||||
|
|
||||||
Then start sunshine with the following command, unless a start command is listed in the specified package.
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
sunshine
|
|
||||||
|
|
||||||
AppImage
|
AppImage
|
||||||
^^^^^^^^
|
^^^^^^^^
|
||||||
.. image:: https://img.shields.io/github/issues/lizardbyte/sunshine/pkg:appimage?logo=github&style=for-the-badge
|
|
||||||
:alt: GitHub issues by-label
|
|
||||||
|
|
||||||
According to AppImageLint the supported distro matrix of the AppImage is below.
|
According to AppImageLint the supported distro matrix of the AppImage is below.
|
||||||
|
|
||||||
- [✖] Debian oldstable (buster)
|
- [✖] Debian oldstable (buster)
|
||||||
|
|
@ -82,9 +73,6 @@ Uninstall:
|
||||||
|
|
||||||
Debian Package
|
Debian Package
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
.. image:: https://img.shields.io/github/issues/lizardbyte/sunshine/pkg:deb?logo=github&style=for-the-badge
|
|
||||||
:alt: GitHub issues by-label
|
|
||||||
|
|
||||||
#. Download ``sunshine-{ubuntu-version}.deb`` and run the following code.
|
#. Download ``sunshine-{ubuntu-version}.deb`` and run the following code.
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
@ -103,9 +91,6 @@ Uninstall:
|
||||||
|
|
||||||
Flatpak Package
|
Flatpak Package
|
||||||
^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^
|
||||||
.. image:: https://img.shields.io/github/issues/lizardbyte/sunshine/pkg:flatpak?logo=github&style=for-the-badge
|
|
||||||
:alt: GitHub issues by-label
|
|
||||||
|
|
||||||
#. Install `Flatpak <https://flatpak.org/setup/>`_ as required.
|
#. Install `Flatpak <https://flatpak.org/setup/>`_ as required.
|
||||||
#. Download ``sunshine_{arch}.flatpak`` and run the following code.
|
#. Download ``sunshine_{arch}.flatpak`` and run the following code.
|
||||||
|
|
||||||
|
|
@ -145,9 +130,6 @@ Uninstall:
|
||||||
|
|
||||||
RPM Package
|
RPM Package
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
.. image:: https://img.shields.io/github/issues/lizardbyte/sunshine/pkg:rpm?logo=github&style=for-the-badge
|
|
||||||
:alt: GitHub issues by-label
|
|
||||||
|
|
||||||
#. Add `rpmfusion` repositories by running the following code.
|
#. Add `rpmfusion` repositories by running the following code.
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
@ -170,12 +152,11 @@ Uninstall:
|
||||||
|
|
||||||
macOS
|
macOS
|
||||||
-----
|
-----
|
||||||
.. image:: https://img.shields.io/github/issues/lizardbyte/sunshine/os:macos?logo=github&style=for-the-badge
|
Sunshine on macOS is experimental. Gamepads do not work. Other features may not work as expected.
|
||||||
:alt: GitHub issues by-label
|
|
||||||
|
|
||||||
pkg
|
pkg
|
||||||
^^^
|
^^^
|
||||||
.. Warning:: The `pkg` does not include runtime dependencies and should be considered experimental.
|
.. Warning:: The `pkg` does not include runtime dependencies.
|
||||||
|
|
||||||
#. Download the ``sunshine.pkg`` file and install it as normal.
|
#. Download the ``sunshine.pkg`` file and install it as normal.
|
||||||
|
|
||||||
|
|
@ -218,16 +199,14 @@ Uninstall:
|
||||||
|
|
||||||
Windows
|
Windows
|
||||||
-------
|
-------
|
||||||
.. image:: https://img.shields.io/github/issues/lizardbyte/sunshine/os:windows:10?logo=github&style=for-the-badge
|
|
||||||
:alt: GitHub issues by-label
|
|
||||||
|
|
||||||
.. image:: https://img.shields.io/github/issues/lizardbyte/sunshine/os:windows:11?logo=github&style=for-the-badge
|
|
||||||
:alt: GitHub issues by-label
|
|
||||||
|
|
||||||
Installer
|
Installer
|
||||||
^^^^^^^^^
|
^^^^^^^^^
|
||||||
#. Download and install ``sunshine-windows.exe``
|
#. Download and install ``sunshine-windows.exe``
|
||||||
|
|
||||||
|
.. Attention:: You should carefully select or unselect the options you want to install. Do not blindly install or enable
|
||||||
|
features.
|
||||||
|
|
||||||
To uninstall, find Sunshine in the list `here <ms-settings:installed-apps>`_ and select "Uninstall" from the overflow
|
To uninstall, find Sunshine in the list `here <ms-settings:installed-apps>`_ and select "Uninstall" from the overflow
|
||||||
menu. Different versions of Windows may provide slightly different steps for uninstall.
|
menu. Different versions of Windows may provide slightly different steps for uninstall.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,3 @@ Legacy GitHub Repo
|
||||||
|
|
||||||
.. image:: https://img.shields.io/github/release-date/loki-47-6F-64/sunshine?style=for-the-badge&logo=github
|
.. image:: https://img.shields.io/github/release-date/loki-47-6F-64/sunshine?style=for-the-badge&logo=github
|
||||||
:alt: GitHub Release Date
|
:alt: GitHub Release Date
|
||||||
|
|
||||||
.. image:: https://img.shields.io/github/downloads/loki-47-6F-64/sunshine/total?style=for-the-badge&logo=github
|
|
||||||
:alt: GitHub Releases
|
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,35 @@
|
||||||
Usage
|
Usage
|
||||||
=====
|
=====
|
||||||
#. See the `setup`_ section for your specific OS.
|
#. See the `setup`_ section for your specific OS.
|
||||||
#. Run ``sunshine <directory of conf file>/sunshine.conf``.
|
#. If you did not install the service, then start sunshine with the following command, unless a start command is listed
|
||||||
|
in the specified package :ref:`installation <about/installation:installation>` instructions.
|
||||||
|
|
||||||
.. Note:: You do not need to specify a config file. If no config file is entered the default location will be used.
|
.. Note:: A service is a process that runs in the background. Running multiple instances of Sunshine is not
|
||||||
|
advised.
|
||||||
|
|
||||||
.. Attention:: The configuration file specified will be created if it doesn't exist.
|
**Basic usage**
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
.. Tip:: If using the Linux AppImage, replace ``sunshine`` with ``./sunshine.AppImage``
|
sunshine
|
||||||
|
|
||||||
|
**Specify config file**
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
sunshine <directory of conf file>/sunshine.conf
|
||||||
|
|
||||||
|
.. Note:: You do not need to specify a config file. If no config file is entered the default location will be used.
|
||||||
|
|
||||||
|
.. Attention:: The configuration file specified will be created if it doesn't exist.
|
||||||
|
|
||||||
#. Configure Sunshine in the web ui
|
#. Configure Sunshine in the web ui
|
||||||
|
|
||||||
The web ui is available on `https://localhost:47990 <https://localhost:47990>`_ by default. You may replace
|
The web ui is available on `https://localhost:47990 <https://localhost:47990>`_ by default. You may replace
|
||||||
`localhost` with your internal ip address.
|
`localhost` with your internal ip address.
|
||||||
|
|
||||||
.. Attention:: Ignore any warning given by your browser about "insecure website".
|
.. Attention:: Ignore any warning given by your browser about "insecure website". This is due to the SSL certificate
|
||||||
|
being self signed.
|
||||||
|
|
||||||
.. Caution:: If running for the first time, make sure to note the username and password Sunshine showed to you,
|
.. Caution:: If running for the first time, make sure to note the username and password that you created.
|
||||||
since you cannot get back later!
|
|
||||||
|
|
||||||
**Add games and applications.**
|
**Add games and applications.**
|
||||||
This can be configured in the web ui.
|
This can be configured in the web ui.
|
||||||
|
|
@ -26,8 +38,6 @@ Usage
|
||||||
list of applications that are started just before running a stream. This is the directory within the GitHub
|
list of applications that are started just before running a stream. This is the directory within the GitHub
|
||||||
repo.
|
repo.
|
||||||
|
|
||||||
.. Attention:: Application list is not fully supported on macOS
|
|
||||||
|
|
||||||
#. In Moonlight, you may need to add the PC manually.
|
#. In Moonlight, you may need to add the PC manually.
|
||||||
#. When Moonlight request you insert the correct pin on sunshine:
|
#. When Moonlight request you insert the correct pin on sunshine:
|
||||||
|
|
||||||
|
|
@ -76,7 +86,7 @@ Sunshine needs access to `uinput` to create mouse and gamepad events.
|
||||||
.. code-block::
|
.. code-block::
|
||||||
|
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Sunshine Gamestream Server for Moonlight
|
Description=Sunshine self-hosted game stream host for Moonlight.
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
ExecStart=<see table>
|
ExecStart=<see table>
|
||||||
|
|
@ -118,7 +128,7 @@ Sunshine needs access to `uinput` to create mouse and gamepad events.
|
||||||
|
|
||||||
sudo setcap cap_sys_admin+p $(readlink -f $(which sunshine))
|
sudo setcap cap_sys_admin+p $(readlink -f $(which sunshine))
|
||||||
|
|
||||||
**Disable**
|
**Disable (for Xorg/X11)**
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
sudo setcap -r $(readlink -f $(which sunshine))
|
sudo setcap -r $(readlink -f $(which sunshine))
|
||||||
|
|
@ -149,6 +159,32 @@ Windows
|
||||||
^^^^^^^
|
^^^^^^^
|
||||||
For gamepad support, install `ViGEmBus <https://github.com/ViGEm/ViGEmBus/releases/latest>`_
|
For gamepad support, install `ViGEmBus <https://github.com/ViGEm/ViGEmBus/releases/latest>`_
|
||||||
|
|
||||||
|
Sunshine firewall
|
||||||
|
**Add rule**
|
||||||
|
.. code-block:: batch
|
||||||
|
|
||||||
|
cd /d "C:\Program Files\Sunshine\scripts"
|
||||||
|
add-firewall-rule.bat
|
||||||
|
|
||||||
|
**Remove rule**
|
||||||
|
.. code-block:: batch
|
||||||
|
|
||||||
|
cd /d "C:\Program Files\Sunshine\scripts"
|
||||||
|
remove-firewall-rule.bat
|
||||||
|
|
||||||
|
Sunshine service
|
||||||
|
**Enable**
|
||||||
|
.. code-block:: batch
|
||||||
|
|
||||||
|
cd /d "C:\Program Files\Sunshine\scripts"
|
||||||
|
install-service.bat
|
||||||
|
|
||||||
|
**Disable**
|
||||||
|
.. code-block:: batch
|
||||||
|
|
||||||
|
cd /d "C:\Program Files\Sunshine\scripts"
|
||||||
|
uninstall-service.bat
|
||||||
|
|
||||||
Shortcuts
|
Shortcuts
|
||||||
---------
|
---------
|
||||||
All shortcuts start with ``CTRL + ALT + SHIFT``, just like Moonlight
|
All shortcuts start with ``CTRL + ALT + SHIFT``, just like Moonlight
|
||||||
|
|
@ -159,34 +195,43 @@ All shortcuts start with ``CTRL + ALT + SHIFT``, just like Moonlight
|
||||||
Application List
|
Application List
|
||||||
----------------
|
----------------
|
||||||
- Applications should be configured via the web UI.
|
- Applications should be configured via the web UI.
|
||||||
- A basic understanding of working directories and commands is recommended.
|
- A basic understanding of working directories and commands is required.
|
||||||
- You can use Environment variables in place of values
|
- You can use Environment variables in place of values
|
||||||
- ``$(HOME)`` will be replaced by the value of ``$HOME``
|
- ``$(HOME)`` will be replaced by the value of ``$HOME``
|
||||||
- ``$$`` will be replaced by ``$``, e.g. ``$$(HOME)`` will be become ``$(HOME)``
|
- ``$$`` will be replaced by ``$``, e.g. ``$$(HOME)`` will be become ``$(HOME)``
|
||||||
- ``env`` - Adds or overwrites Environment variables for the commands/applications run by Sunshine
|
- ``env`` - Adds or overwrites Environment variables for the commands/applications run by Sunshine
|
||||||
- ``"Variable name":"Variable value"``
|
- ``"Variable name":"Variable value"``
|
||||||
- ``apps`` - The list of applications
|
- ``apps`` - The list of applications
|
||||||
|
- Advanced users may want to edit the application list manually. The format is ``json``.
|
||||||
- Example application:
|
- Example application:
|
||||||
.. code-block:: json
|
.. code-block:: json
|
||||||
|
|
||||||
{
|
{
|
||||||
"name":"An App",
|
"cmd": "command to open app",
|
||||||
"cmd":"command to open app",
|
"detached": [
|
||||||
"prep-cmd":[
|
"some-command",
|
||||||
{
|
"another-command"
|
||||||
"do":"some-command",
|
],
|
||||||
"undo":"undo-that-command"
|
"image-path": "/full-path/to/png-image",
|
||||||
}
|
"name": "An App",
|
||||||
],
|
"output": "/full-path/to/command-log-file",
|
||||||
"detached":[
|
"prep-cmd": [
|
||||||
"some-command",
|
{
|
||||||
"another-command"
|
"do": "some-command",
|
||||||
]
|
"undo": "undo-that-command"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"working-dir": "/full-path/to/working-directory"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- ``cmd`` - The main application
|
||||||
|
- ``detached`` - A list of commands to be run and forgotten about
|
||||||
|
|
||||||
|
- If not specified, a process is started that sleeps indefinitely
|
||||||
|
|
||||||
|
- ``image-path`` - The full path to the cover art image to use.
|
||||||
- ``name`` - The name of the application/game
|
- ``name`` - The name of the application/game
|
||||||
- ``output`` - The file where the output of the command is stored
|
- ``output`` - The file where the output of the command is stored
|
||||||
- ``detached`` - A list of commands to be run and forgotten about
|
|
||||||
- ``prep-cmd`` - A list of commands to be run before/after the application
|
- ``prep-cmd`` - A list of commands to be run before/after the application
|
||||||
|
|
||||||
- If any of the prep-commands fail, starting the application is aborted
|
- If any of the prep-commands fail, starting the application is aborted
|
||||||
|
|
@ -199,9 +244,7 @@ Application List
|
||||||
- This should not fail considering it is supposed to undo the ``do`` commands
|
- This should not fail considering it is supposed to undo the ``do`` commands
|
||||||
- If it fails, Sunshine is terminated
|
- If it fails, Sunshine is terminated
|
||||||
|
|
||||||
- ``cmd`` - The main application
|
- ``working-dir`` - The working directory to use. If not specified, Sunshine will use the application directory.
|
||||||
|
|
||||||
- If not specified, a process is started that sleeps indefinitely
|
|
||||||
|
|
||||||
Considerations
|
Considerations
|
||||||
--------------
|
--------------
|
||||||
|
|
@ -214,3 +257,11 @@ Considerations
|
||||||
- In addition to the apps listed, one app "Desktop" is hardcoded into Sunshine. It does not start an application,
|
- In addition to the apps listed, one app "Desktop" is hardcoded into Sunshine. It does not start an application,
|
||||||
instead it simply starts a stream.
|
instead it simply starts a stream.
|
||||||
- For the Linux flatpak you must prepend commands with ``flatpak-spawn --host``.
|
- For the Linux flatpak you must prepend commands with ``flatpak-spawn --host``.
|
||||||
|
|
||||||
|
Tutorials
|
||||||
|
---------
|
||||||
|
Tutorial videos are available `here <https://www.youtube.com/playlist?list=PLMYr5_xSeuXAbhxYHz86hA1eCDugoxXY0>`_.
|
||||||
|
|
||||||
|
.. admonition:: Community!
|
||||||
|
|
||||||
|
Tutorials are community generated. Want to contribute? Reach out to us on our discord server.
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ Install Requirements
|
||||||
nvidia-cuda-dev \ # Cuda, NvFBC
|
nvidia-cuda-dev \ # Cuda, NvFBC
|
||||||
nvidia-cuda-toolkit # Cuda, NvFBC
|
nvidia-cuda-toolkit # Cuda, NvFBC
|
||||||
|
|
||||||
Fedora 35
|
Fedora 36
|
||||||
^^^^^^^^^
|
^^^^^^^^^
|
||||||
End of Life: TBD
|
End of Life: TBD
|
||||||
|
|
||||||
|
|
@ -80,73 +80,6 @@ Install Requirements
|
||||||
pulseaudio-libs-devel \
|
pulseaudio-libs-devel \
|
||||||
rpm-build # if you want to build an RPM binary package
|
rpm-build # if you want to build an RPM binary package
|
||||||
|
|
||||||
Ubuntu 18.04
|
|
||||||
^^^^^^^^^^^^
|
|
||||||
End of Life: April 2028
|
|
||||||
|
|
||||||
Install Repositories
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
sudo apt update && sudo apt install \
|
|
||||||
software-properties-common \
|
|
||||||
&& add-apt-repository ppa:savoury1/boost-defaults-1.71 && \
|
|
||||||
add-apt-repository ppa:ubuntu-toolchain-r/test && \
|
|
||||||
|
|
||||||
Install Requirements
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
sudo apt install \
|
|
||||||
build-essential \
|
|
||||||
cmake \
|
|
||||||
gcc-10 \
|
|
||||||
g++-10 \
|
|
||||||
libavdevice-dev \
|
|
||||||
libboost-filesystem1.71-dev \
|
|
||||||
libboost-log1.71-dev \
|
|
||||||
libboost-regex1.71-dev \
|
|
||||||
libboost-thread1.71-dev \
|
|
||||||
libboost-program-options1.71-dev \
|
|
||||||
libcap-dev \ # KMS
|
|
||||||
libdrm-dev \ # KMS
|
|
||||||
libevdev-dev \
|
|
||||||
libnuma-dev \
|
|
||||||
libopus-dev \
|
|
||||||
libpulse-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libva-dev \
|
|
||||||
libvdpau-dev \
|
|
||||||
libwayland-dev \ # Wayland
|
|
||||||
libx11-dev \ # X11
|
|
||||||
libxcb-shm0-dev \ # X11
|
|
||||||
libxcb-xfixes0-dev \ # X11
|
|
||||||
libxcb1-dev \ # X11
|
|
||||||
libxfixes-dev \ # X11
|
|
||||||
libxrandr-dev \ # X11
|
|
||||||
libxtst-dev \ # X11
|
|
||||||
nodejs \
|
|
||||||
npm \
|
|
||||||
wget
|
|
||||||
|
|
||||||
Update gcc alias
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10
|
|
||||||
|
|
||||||
Install CuDA
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
wget https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux.run --progress=bar:force:noscroll -q --show-progress -O ./cuda.run && chmod a+x ./cuda.run
|
|
||||||
./cuda.run --silent --toolkit --toolkitpath=/usr --no-opengl-libs --no-man-page --no-drm && rm ./cuda.run
|
|
||||||
|
|
||||||
Install CMake
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
wget https://cmake.org/files/v3.22/cmake-3.22.2-linux-x86_64.sh
|
|
||||||
mkdir /opt/cmake
|
|
||||||
sh /cmake-3.22.2-linux-x86_64.sh --prefix=/opt/cmake --skip-license
|
|
||||||
ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
|
|
||||||
cmake --version
|
|
||||||
|
|
||||||
Ubuntu 20.04
|
Ubuntu 20.04
|
||||||
^^^^^^^^^^^^
|
^^^^^^^^^^^^
|
||||||
End of Life: April 2030
|
End of Life: April 2030
|
||||||
|
|
@ -241,19 +174,10 @@ Build
|
||||||
-----
|
-----
|
||||||
.. Attention:: Ensure you are in the build directory created during the clone step earlier before continuing.
|
.. Attention:: Ensure you are in the build directory created during the clone step earlier before continuing.
|
||||||
|
|
||||||
Debian based OSes
|
.. code-block:: bash
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
cmake -DCMAKE_C_COMPILER=gcc-10 -DCMAKE_CXX_COMPILER=g++-10 ..
|
cmake ..
|
||||||
|
make -j ${nproc}
|
||||||
|
|
||||||
Red Hat based OSes
|
cpack -G DEB # optionally, create a deb package
|
||||||
.. code-block:: bash
|
cpack -G RPM # optionally, create a rpm package
|
||||||
|
|
||||||
cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ ..
|
|
||||||
|
|
||||||
Finally
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
make -j ${nproc}
|
|
||||||
cpack -G DEB # optionally, create a deb package
|
|
||||||
cpack -G RPM # optionally, create a rpm package
|
|
||||||
|
|
|
||||||
|
|
@ -43,5 +43,4 @@ Build
|
||||||
cpack -G DragNDrop # optionally, create a macOS dmg package
|
cpack -G DragNDrop # optionally, create a macOS dmg package
|
||||||
|
|
||||||
If cmake fails complaining to find Boost, try to set the path explicitly.
|
If cmake fails complaining to find Boost, try to set the path explicitly.
|
||||||
``cmake -DBOOST_ROOT=[boost path] ..``, e.g., ``cmake -DBOOST_ROOT=/opt/local/libexec/boost/1.76 ..``
|
``cmake -DBOOST_ROOT=[boost path] ..``, e.g., ``cmake -DBOOST_ROOT=/opt/local/libexec/boost/1.80 ..``
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,14 +3,20 @@ Windows
|
||||||
|
|
||||||
Requirements
|
Requirements
|
||||||
------------
|
------------
|
||||||
First you need to install `MSYS2 <https://www.msys2.org>`_, then startup "MSYS2 MinGW 64-bit" and install the
|
First you need to install `MSYS2 <https://www.msys2.org>`_, then startup "MSYS2 MinGW 64-bit" and execute the following
|
||||||
following packages using:
|
codes.
|
||||||
|
|
||||||
.. code-block:: bash
|
Update all packages:
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
pacman -S mingw-w64-x86_64-binutils mingw-w64-x86_64-openssl mingw-w64-x86_64-cmake \
|
pacman -Suy
|
||||||
mingw-w64-x86_64-toolchain mingw-w64-x86_64-opus mingw-w64-x86_64-x265 mingw-w64-x86_64-boost \
|
|
||||||
git mingw-w64-x86_64-make cmake make gcc
|
Install dependencies:
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
pacman -S base-devel cmake diffutils gcc git make mingw-w64-x86_64-binutils \
|
||||||
|
mingw-w64-x86_64-boost mingw-w64-x86_64-cmake mingw-w64-x86_64-curl \
|
||||||
|
mingw-w64-x86_64-openssl mingw-w64-x86_64-opus mingw-w64-x86_64-toolchain
|
||||||
|
|
||||||
npm dependencies
|
npm dependencies
|
||||||
----------------
|
----------------
|
||||||
|
|
@ -27,10 +33,8 @@ Build
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
cmake -G"Unix Makefiles" ..
|
cmake -G "MinGW Makefiles" ..
|
||||||
cmake -G"MinGW Makefiles" .. # alternatively
|
mingw32-make -j$(nproc)
|
||||||
|
|
||||||
mingw32-make
|
|
||||||
|
|
||||||
cpack -G NSIS # optionally, create a windows installer
|
cpack -G NSIS # optionally, create a windows installer
|
||||||
cpack -G ZIP # optionally, create a windows standalone package
|
cpack -G ZIP # optionally, create a windows standalone package
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,9 @@ Source code is tested against the `.clang-format` file for linting errors. The w
|
||||||
format testing is `.github/workflows/cpp-clang-format-lint.yml`.
|
format testing is `.github/workflows/cpp-clang-format-lint.yml`.
|
||||||
|
|
||||||
Test clang-format locally.
|
Test clang-format locally.
|
||||||
.. Todo:: This documentation needs to be improved.
|
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
clang-format ...
|
find ./ -iname *.cpp -o -iname *.h -iname *.m -iname *.mm | xargs clang-format -i
|
||||||
|
|
||||||
Sphinx
|
Sphinx
|
||||||
------
|
------
|
||||||
|
|
|
||||||
21
docs/source/gamestream/gamestream.rst
Normal file
21
docs/source/gamestream/gamestream.rst
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
GameStream
|
||||||
|
==========
|
||||||
|
Nvidia announced that their GameStream service for Nvidia Games clients will be discontinued in February 2023.
|
||||||
|
Luckily, Sunshine performance is now on par with Nvidia GameStream. Many users have even reported that Sunshine
|
||||||
|
outperforms GameStream, so rest assured that Sunshine will be equally performant moving forward.
|
||||||
|
|
||||||
|
Migration
|
||||||
|
---------
|
||||||
|
We have developed a simple migration tool to help you migrate your GameStream games and apps to Sunshine automatically.
|
||||||
|
Please check out our `GSMS <https://github.com/LizardByte/GSMS>`_ project if you're interested in an automated
|
||||||
|
migration option. At the time of writing this GSMS offers the ability to migrate your custom games and apps. The
|
||||||
|
working directory, command, and image are all set in Sunshine's ``apps.json`` file. The box-art image is also copied
|
||||||
|
to a specified directory.
|
||||||
|
|
||||||
|
Limitations
|
||||||
|
-----------
|
||||||
|
Sunshine does have some limitations, as compared to Nvidia GameStream.
|
||||||
|
|
||||||
|
- HDR support is limited and currently HDR is converted to SDR.
|
||||||
|
- Automatic game/application list.
|
||||||
|
- Changing game settings automatically, to optimize streaming.
|
||||||
21
docs/source/legal/legal.rst
Normal file
21
docs/source/legal/legal.rst
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
Legal
|
||||||
|
=====
|
||||||
|
.. Attention:: This documentation is for informational purposes only and is not intended as legal advice. If you have
|
||||||
|
any legal questions or concerns about using Sunshine, we recommend consulting with a lawyer.
|
||||||
|
|
||||||
|
Sunshine is licensed under the GPL-3.0 license, which allows for free use and modification of the software.
|
||||||
|
The full text of the license can be reviewed `here <https://github.com/LizardByte/Sunshine/blob/master/LICENSE>`_.
|
||||||
|
|
||||||
|
Commercial Use
|
||||||
|
--------------
|
||||||
|
Sunshine can be used in commercial applications without any limitations. This means that businesses and organizations
|
||||||
|
can use Sunshine to create and sell products or services without needing to seek permission or pay a fee.
|
||||||
|
|
||||||
|
However, it is important to note that the GPL-3.0 license does not grant any rights to distribute or sell the encoders
|
||||||
|
contained within Sunshine. If you plan to sell access to Sunshine as part of their distribution, you are responsible
|
||||||
|
for obtaining the necessary licenses to do so. This may include obtaining a license from the
|
||||||
|
Motion Picture Experts Group (MPEG-LA) and/or any other necessary licensing requirements.
|
||||||
|
|
||||||
|
In summary, while Sunshine is free to use, it is the user's responsibility to ensure compliance with all applicable
|
||||||
|
licensing requirements when redistributing the software as part of a commercial offering. If you have any questions or
|
||||||
|
concerns about using Sunshine in a commercial setting, we recommend consulting with a lawyer.
|
||||||
|
|
@ -9,6 +9,12 @@
|
||||||
about/usage
|
about/usage
|
||||||
about/advanced_usage
|
about/advanced_usage
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
:caption: GameStream
|
||||||
|
|
||||||
|
gamestream/gamestream
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
:caption: Troubleshooting
|
:caption: Troubleshooting
|
||||||
|
|
@ -34,3 +40,9 @@
|
||||||
contributing/contributing
|
contributing/contributing
|
||||||
contributing/localization
|
contributing/localization
|
||||||
contributing/testing
|
contributing/testing
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
:caption: Legal
|
||||||
|
|
||||||
|
legal/legal
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,20 @@
|
||||||
General
|
General
|
||||||
=======
|
=======
|
||||||
|
|
||||||
|
Forgotten Credentials
|
||||||
|
---------------------
|
||||||
If you forgot your credentials to the web UI, try this.
|
If you forgot your credentials to the web UI, try this.
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
sunshine --creds <new username> <new password>
|
sunshine --creds <new username> <new password>
|
||||||
|
|
||||||
|
Web UI Access
|
||||||
|
-------------
|
||||||
Can't access the web UI?
|
Can't access the web UI?
|
||||||
#. Check firewall rules.
|
#. Check firewall rules.
|
||||||
|
|
||||||
|
Nvidia issues
|
||||||
|
-------------
|
||||||
NvFBC, NvENC, or general issues with Nvidia graphics card.
|
NvFBC, NvENC, or general issues with Nvidia graphics card.
|
||||||
- Consumer grade Nvidia cards are software limited to a specific number of encodes. See
|
- Consumer grade Nvidia cards are software limited to a specific number of encodes. See
|
||||||
`Video Encode and Decode GPU Support Matrix <https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new>`_
|
`Video Encode and Decode GPU Support Matrix <https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new>`_
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
Linux
|
Linux
|
||||||
=====
|
=====
|
||||||
|
|
||||||
|
KMS Streaming fails
|
||||||
|
-------------------
|
||||||
If screencasting fails with KMS, you may need to run the following to force unprivileged screencasting.
|
If screencasting fails with KMS, you may need to run the following to force unprivileged screencasting.
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
macOS
|
macOS
|
||||||
=====
|
=====
|
||||||
|
|
||||||
|
Dynamic session lookup failed
|
||||||
|
-----------------------------
|
||||||
If you get this error:
|
If you get this error:
|
||||||
`Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that
|
`Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that
|
||||||
org.freedesktop.dbus-session.plist is loaded!`
|
org.freedesktop.dbus-session.plist is loaded!`
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
Windows
|
Windows
|
||||||
=======
|
=======
|
||||||
No gamepad is detected.
|
|
||||||
#. Verify that you've installed `ViGEmBus <https://github.com/ViGEm/ViGEmBus/releases/latest>`_.
|
No gamepad detected
|
||||||
|
-------------------
|
||||||
|
#. Verify that you've installed `ViGEmBus <https://github.com/ViGEm/ViGEmBus/releases/latest>`_.
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<div id="content" class="container">
|
<div id="content" class="container">
|
||||||
<h1 class="my-4">Hello, Sunshine!</h1>
|
<h1 class="my-4">Hello, Sunshine!</h1>
|
||||||
<p>Sunshine is a Gamestream host for Moonlight</p>
|
<p>Sunshine is a self-hosted game stream host for Moonlight.</p>
|
||||||
<!--Resources-->
|
<!--Resources-->
|
||||||
<div class="card p-2 my-4">
|
<div class="card p-2 my-4">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
|
|
||||||
|
|
@ -23,5 +23,8 @@ if %ERRORLEVEL%==0 (
|
||||||
rem Run the sc command to create/reconfigure the service
|
rem Run the sc command to create/reconfigure the service
|
||||||
sc %SC_CMD% %SERVICE_NAME% binPath= %SERVICE_BIN% start= %SERVICE_START_TYPE%
|
sc %SC_CMD% %SERVICE_NAME% binPath= %SERVICE_BIN% start= %SERVICE_START_TYPE%
|
||||||
|
|
||||||
|
rem Set the description of the service
|
||||||
|
sc description %SERVICE_NAME% "Sunshine is a self-hosted game stream host for Moonlight."
|
||||||
|
|
||||||
rem Start the new service
|
rem Start the new service
|
||||||
net start %SERVICE_NAME%
|
net start %SERVICE_NAME%
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
cmake_minimum_required(VERSION 2.8)
|
cmake_minimum_required(VERSION 3.0)
|
||||||
|
|
||||||
project(sunshine_tools)
|
project(sunshine_tools)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue