Initial version of sphinx documentation and...
- remove ubuntu 21.04 from CI (end of life) - adjust matrix strategy for clang.yml - Use lessons learned from RetroArcher on localize.yml, crowdin.yml, and locale.py - Add end of life comments to Dockerfiles - Adjust dependency order in Dockerfiles
This commit is contained in:
1087
docs/source/about/advanced_usage.rst
Normal file
1087
docs/source/about/advanced_usage.rst
Normal file
File diff suppressed because it is too large
Load Diff
5
docs/source/about/docker.rst
Normal file
5
docs/source/about/docker.rst
Normal file
@@ -0,0 +1,5 @@
|
||||
:github_url: https://github.com/SunshineStream/Sunshine/tree/nightly/docs/DOCKER_README.md
|
||||
|
||||
.. Todo:: This is a planned feature. Currently no Dockerfile or image exists for Sunshine.
|
||||
|
||||
.. mdinclude:: ../../../DOCKER_README.md
|
||||
84
docs/source/about/installation.rst
Normal file
84
docs/source/about/installation.rst
Normal file
@@ -0,0 +1,84 @@
|
||||
:github_url: https://github.com/SunshineStream/Sunshine/tree/nightly/docs/source/about/installation.rst
|
||||
|
||||
Installation
|
||||
============
|
||||
The recommended method for running Sunshine is to use the `binaries`_ bundled with the `latest release`_.
|
||||
|
||||
Binaries
|
||||
--------
|
||||
Binaries of Sunshine are created for each release. They are available for Linux, and Windows.
|
||||
Binaries can be found in the `latest release`_.
|
||||
|
||||
.. Todo:: Create binary package(s) for MacOS. See `here <https://github.com/SunshineStream/Sunshine/issues/61>`_.
|
||||
|
||||
.. Tip:: Some third party packages also exist. See
|
||||
:ref:`Third Party Packages <about/third_party_packages:third party packages>`.
|
||||
|
||||
Docker
|
||||
------
|
||||
.. Todo:: Docker images of Sunshine are planned to be included in the future.
|
||||
They will be available on `Dockerhub.io`_ and `ghcr.io`_.
|
||||
|
||||
Linux
|
||||
-----
|
||||
|
||||
AppImage
|
||||
^^^^^^^^
|
||||
.. image:: https://img.shields.io/github/issues/sunshinestream/sunshine/pkg:appimage?logo=github&style=for-the-badge'
|
||||
:alt: GitHub issues by-label
|
||||
|
||||
#. Download and extract `sunshine-appimage.zip`
|
||||
|
||||
Debian Packages
|
||||
^^^^^^^^^^^^^^^
|
||||
.. image:: https://img.shields.io/github/issues/sunshinestream/sunshine/os:linux:debian?logo=github&style=for-the-badge'
|
||||
:alt: GitHub issues by-label
|
||||
|
||||
#. Download the corresponding `.deb` file, e.g. ``sunshine-ubuntu_20_04.deb``
|
||||
#. ``sudo apt install -f <downloaded deb file>``, e.g. ``sudo apt install -f ./sunshine-ubuntu_20_04.deb``
|
||||
|
||||
Red Hat Packages
|
||||
^^^^^^^^^^^^^^^^
|
||||
.. image:: https://img.shields.io/github/issues/sunshinestream/sunshine/os:linux:fedora?logo=github&style=for-the-badge'
|
||||
:alt: GitHub issues by-label
|
||||
|
||||
#. Download the corresponding `.rpm` file, e.g. ``sunshine-fedora_35.rpm``
|
||||
#. ``sudo rpm -i <downloaded rpm file>``, e.g. ``sudo rpm -i ./sunshine-fedora_35.rpm``
|
||||
|
||||
.. Note:: If this is the first time installing.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo usermod -a -G input $USER
|
||||
sudo reboot now
|
||||
|
||||
.. Tip:: Optionally, run Sunshine in the background.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
systemctl --user start sunshine
|
||||
|
||||
MacOS
|
||||
-----
|
||||
.. image:: https://img.shields.io/github/issues/sunshinestream/sunshine/os:macos?logo=github&style=for-the-badge'
|
||||
:alt: GitHub issues by-label
|
||||
|
||||
#. Install `MacPorts <https://www.macports.org>`_
|
||||
#. Download the `Portfile <https://github.com/SunshineStream/Sunshine/blob/master/Portfile>`_ from this repository to
|
||||
``/tmp``
|
||||
#. In a terminal run ``cd /tmp && sudo port install``
|
||||
#. The first time you start Sunshine, you will be asked to grant access to screen recording and your microphone.
|
||||
|
||||
Windows
|
||||
-------
|
||||
.. image:: https://img.shields.io/github/issues/sunshinestream/sunshine/os:windows:10?logo=github&style=for-the-badge'
|
||||
:alt: GitHub issues by-label
|
||||
|
||||
.. image:: https://img.shields.io/github/issues/sunshinestream/sunshine/os:windows:11?logo=github&style=for-the-badge'
|
||||
:alt: GitHub issues by-label
|
||||
|
||||
#. Download and extract ``sunshine-windows.zip``
|
||||
|
||||
.. _latest release: https://github.com/SunshineStream/Sunshine/releases/latest
|
||||
.. _Dockerhub.io: https://hub.docker.com/repository/docker/sunshinestream/sunshine
|
||||
.. _ghcr.io: https://github.com/orgs/SunshineStream/packages?repo_name=sunshine
|
||||
1
docs/source/about/overview.rst
Normal file
1
docs/source/about/overview.rst
Normal file
@@ -0,0 +1 @@
|
||||
.. include:: ../../../README.rst
|
||||
65
docs/source/about/third_party_packages.rst
Normal file
65
docs/source/about/third_party_packages.rst
Normal file
@@ -0,0 +1,65 @@
|
||||
:github_url: https://github.com/SunshineStream/Sunshine/tree/nightly/docs/source/about/third_party_packages.rst
|
||||
|
||||
Third Party Packages
|
||||
====================
|
||||
|
||||
.. Warning:: These packages are not maintained by SunshineStream. Use at your own risk.
|
||||
|
||||
AUR (Arch Linux User Repository)
|
||||
--------------------------------
|
||||
|
||||
.. image:: https://img.shields.io/aur/version/sunshine?style=for-the-badge&logo=archlinux
|
||||
:alt: AUR version
|
||||
|
||||
.. image:: https://img.shields.io/aur/last-modified/sunshine?style=for-the-badge&logo=archlinux
|
||||
:alt: AUR last modified
|
||||
|
||||
.. image:: https://img.shields.io/aur/votes/sunshine?style=for-the-badge&logo=archlinux
|
||||
:alt: AUR votes
|
||||
|
||||
.. image:: https://img.shields.io/aur/maintainer/sunshine?style=for-the-badge&logo=archlinux
|
||||
:alt: AUR maintainer
|
||||
|
||||
.. image:: https://img.shields.io/static/v1?label=maintainer&message=hadogenes&color=blue&style=for-the-badge&logo=github
|
||||
:alt: GitHub Maintainer
|
||||
:target: https://github.com/hadogenes
|
||||
|
||||
Chocolatey
|
||||
----------
|
||||
|
||||
.. image:: https://img.shields.io/chocolatey/v/Sunshine?style=for-the-badge&logo=chocolatey
|
||||
:alt: Chocolatey Version
|
||||
|
||||
.. image:: https://img.shields.io/chocolatey/dt/sunshine?style=for-the-badge&logo=chocolatey
|
||||
:alt: Chocolatey
|
||||
|
||||
.. image:: https://img.shields.io/static/v1?label=maintainer&message=AeliusSaionji&color=blue&style=for-the-badge&logo=github
|
||||
:alt: GitHub Maintainer
|
||||
:target: https://github.com/AeliusSaionji
|
||||
|
||||
Scoop
|
||||
-----
|
||||
|
||||
.. image:: https://img.shields.io/scoop/v/sunshine?bucket=extras&style=for-the-badge
|
||||
:alt: Scoop Version (extras bucket)
|
||||
|
||||
.. image:: https://img.shields.io/static/v1?label=maintainer&message=sitiom&color=blue&style=for-the-badge&logo=github
|
||||
:alt: GitHub Maintainer
|
||||
:target: https://github.com/sitiom
|
||||
|
||||
|
||||
Legacy GitHub Repo
|
||||
------------------
|
||||
|
||||
.. image:: https://img.shields.io/github/last-commit/loki-47-6F-64/sunshine?style=for-the-badge&logo=github
|
||||
:alt: GitHub last commit
|
||||
|
||||
.. image:: https://img.shields.io/github/release-date/loki-47-6F-64/sunshine?style=for-the-badge&logo=github
|
||||
: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
|
||||
|
||||
.. image:: https://img.shields.io/static/v1?label=maintainer&message=loki-47-6F-64&color=blue&style=for-the-badge&logo=github
|
||||
:alt: GitHub Maintainer
|
||||
:target: https://github.com/loki-47-6F-64
|
||||
163
docs/source/about/usage.rst
Normal file
163
docs/source/about/usage.rst
Normal file
@@ -0,0 +1,163 @@
|
||||
:github_url: https://github.com/SunshineStream/Sunshine/tree/nightly/docs/source/about/usage.rst
|
||||
|
||||
Usage
|
||||
=====
|
||||
#. See the `setup`_ section for your specific OS.
|
||||
#. Run ``sunshine <directory of conf file>/sunshine.conf``.
|
||||
|
||||
.. Note:: The configuration file specified will be created if it doesn't exist.
|
||||
|
||||
.. Tip:: If using the Linux AppImage, replace ``sunshine`` with ``./sunshine.AppImage``
|
||||
|
||||
#. Configure Sunshine in the web ui
|
||||
The web ui is available on `https://localhost:47990 <https://localhost:47990>`_ by default. You may replace
|
||||
`localhost` with your internal ip address.
|
||||
|
||||
.. Tip:: Ignore any warning given by your browser about "insecure website".
|
||||
|
||||
.. Caution:: If running for the first time, make sure to note the username and password Sunshine showed to you,
|
||||
since you cannot get back later!
|
||||
|
||||
Add games and applications.
|
||||
This can be configured in the web ui.
|
||||
|
||||
.. Note:: Additionally, apps can be configured manually. `assets/apps_<os>.json` is an example of a list of
|
||||
applications that are started just before running a stream.
|
||||
|
||||
.. Note:: Application list is not fully supported on MacOS
|
||||
|
||||
#. In Moonlight, you may need to add the PC manually.
|
||||
#. When Moonlight request you insert the correct pin on sunshine:
|
||||
|
||||
- Login to the web ui
|
||||
- Go to "PIN" in the Header
|
||||
- Type in your PIN and press Enter, you should get a Success Message
|
||||
- In Moonlight, select one of the Applications listed
|
||||
|
||||
Network
|
||||
-------
|
||||
Sunshine will be available on port 47990 by default.
|
||||
|
||||
.. Warning:: Do not expose port 47990, or the web ui, to the internet!
|
||||
|
||||
Arguments
|
||||
---------
|
||||
To get a list of available arguments run the following:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sunshine --help
|
||||
|
||||
Setup
|
||||
-----
|
||||
|
||||
Linux
|
||||
^^^^^
|
||||
Sunshine needs access to `uinput` to create mouse and gamepad events.
|
||||
|
||||
Add user to group `input`.
|
||||
.. code-block:: bash
|
||||
|
||||
usermod -a -G input $USER
|
||||
|
||||
Create `udev` rules.
|
||||
.. code-block:: bash
|
||||
|
||||
nano /etc/udev/rules.d/85-sunshine-input.rules
|
||||
|
||||
Input the following contents:
|
||||
``KERNEL=="uinput", GROUP="input", MODE="0660"``
|
||||
|
||||
Save the file and exit:
|
||||
|
||||
#. ``CTRL+X`` to start exit.
|
||||
#. ``Y`` to save modifications.
|
||||
|
||||
Configure autostart service
|
||||
`path/to/build/dir/sunshine.service` is used to start sunshine in the background. To use it, do the following:
|
||||
|
||||
#. Copy it to the users systemd: ``cp sunshine.service ~/.config/systemd/user/``
|
||||
#. Starting
|
||||
|
||||
- One time: ``systemctl --user start sunshine``
|
||||
- Always on boot: ``systemctl --user enable sunshine``
|
||||
|
||||
Additional Setup for KMS
|
||||
.. Note:: ``cap_sys_admin`` may as well be root, except you don't need to be root to run it.
|
||||
|
||||
It is necessary to allow Sunshine to use KMS: ``sudo setcap cap_sys_admin+p sunshine``
|
||||
|
||||
MacOS
|
||||
^^^^^
|
||||
Sunshine can only access microphones on macOS due to system limitations. To stream system audio use
|
||||
`Soundflower <https://github.com/mattingalls/Soundflower>`_ or
|
||||
`BlackHole <https://github.com/ExistentialAudio/BlackHole>`_ and
|
||||
select their sink as audio device in `sunshine.conf`.
|
||||
|
||||
.. Note:: Command Keys are not forwarded by Moonlight. Right Option-Key is mapped to CMD-Key.
|
||||
|
||||
.. Caution:: Gamepads are not supported.
|
||||
|
||||
Windows
|
||||
^^^^^^^
|
||||
For gamepad support, install `ViGEmBus <https://github.com/ViGEm/ViGEmBus/releases/latest>`_
|
||||
|
||||
Shortcuts
|
||||
---------
|
||||
All shortcuts start with CTRL + ALT + SHIFT, just like Moonlight
|
||||
|
||||
- ``CTRL + ALT + SHIFT + N`` - Hide/Unhide the cursor (This may be useful for Remote Desktop Mode for Moonlight)
|
||||
- ``CTRL + ALT + SHIFT + F1/F13`` - Switch to different monitor for Streaming
|
||||
|
||||
Application List
|
||||
----------------
|
||||
- You can use Environment variables in place of values
|
||||
- ``$(HOME)` will be replaced by the value of ``$HOME``
|
||||
- ``$$`` will be replaced by ``$``, e.g. ``$$(HOME)`` will be replaced by ``$(HOME)``
|
||||
- ``env`` - Adds or overwrites Environment variables for the commands/applications run by Sunshine
|
||||
- ``"Variable name":"Variable value"``
|
||||
- ``apps`` - The list of applications
|
||||
- Example application:
|
||||
|
||||
.. code-block:: json
|
||||
|
||||
{
|
||||
"name":"An App",
|
||||
"cmd":"command to open app",
|
||||
"prep-cmd":[
|
||||
{
|
||||
"do":"some-command",
|
||||
"undo":"undo-that-command"
|
||||
}
|
||||
],
|
||||
"detached":[
|
||||
"some-command",
|
||||
"another-command"
|
||||
]
|
||||
}
|
||||
|
||||
- ``name`` - The name of the application/game
|
||||
- ``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
|
||||
|
||||
- If any of the prep-commands fail, starting the application is aborted
|
||||
- ``do`` - Run before the application
|
||||
|
||||
- If it fails, all ``undo`` commands of the previously succeeded ``do`` commands are run
|
||||
|
||||
- ``undo`` - Run after the application has terminated
|
||||
|
||||
- This should not fail considering it is supposed to undo the ``do`` commands
|
||||
- If it fails, Sunshine is terminated
|
||||
|
||||
- ``cmd`` - The main application
|
||||
|
||||
- If not specified, a process is started that sleeps indefinitely
|
||||
|
||||
Considerations
|
||||
--------------
|
||||
- When an application is started, if there is an application already running, it will be terminated.
|
||||
- When the application has been shutdown, the stream shuts down as well.
|
||||
- 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.
|
||||
Reference in New Issue
Block a user