diff --git a/docs/source/about/setup.rst b/docs/source/about/setup.rst index eb98a214004..0a2676cf08c 100644 --- a/docs/source/about/setup.rst +++ b/docs/source/about/setup.rst @@ -134,7 +134,7 @@ Install .. code-block:: bash - sudo apt install -f ./sunshine-{distro}-{distro-version}-{arch}.deb + sudo dpkg -i ./sunshine-{distro}-{distro-version}-{arch}.deb .. note:: The ``{distro-version}`` is the version of the distro we built the package on. The ``{arch}`` is the architecture of your operating system. diff --git a/docs/source/troubleshooting/general.rst b/docs/source/troubleshooting/general.rst index 1cba738fd02..e1602da1349 100644 --- a/docs/source/troubleshooting/general.rst +++ b/docs/source/troubleshooting/general.rst @@ -37,6 +37,37 @@ Also, if you have many controllers already directly connected to the host, it mi Sunshine provided controller (connected to the guest) is the "first" one. In Linux this can be accomplished on USB devices by finding the device in `/sys/bus/usb/devices/` and writing `0` to the `authorized` file. +Network performance test +------------------------ +For real-time game streaming the most important characteristic of the network +path between server and client is not pure bandwidth but rather stability and +consistency (low latency with low variance, minimal or no packet loss). + +The network can be tested using the multi-platform tool `iPerf3 `__. + +On the Sunshine host ``iperf3`` is started in server mode: + +.. code-block:: bash + + iperf3 -s + +On the client device iperf3 is asked to perform a 60-second UDP test in reverse +direction (from server to client) at a given bitrate (e.g. 50 Mbps): + +.. code-block:: bash + + iperf3 -c {HostIpAddress} -t 60 -u -R -b 50M + +Watch the output on the client for packet loss and jitter values. Both should be +(very) low. Ideally packet loss remains less than 5% and jitter below 1ms. + +For Android clients use `PingMaster `__. + +For iOS clients use `HE.NET Network Tools `__. + +If you are testing a remote connection (over the internet) you will need to +forward the port 5201 (TCP and UDP) from your host. + Packet loss (Buffer overrun) ---------------------------- If the host PC (running Sunshine) has a much faster connection to the network diff --git a/docs/source/troubleshooting/linux.rst b/docs/source/troubleshooting/linux.rst index 60ce1f36aab..2a4817f1374 100644 --- a/docs/source/troubleshooting/linux.rst +++ b/docs/source/troubleshooting/linux.rst @@ -26,9 +26,10 @@ documentation for instructions. KMS Streaming fails ------------------- If screencasting fails with KMS, you may need to run the following to force unprivileged screencasting. - .. code-block:: bash - sudo setcap -r $(readlink -f $(which sunshine)) +.. code-block:: bash + + sudo setcap -r $(readlink -f $(which sunshine)) .. note:: The above command will not work with the AppImage or Flatpak packages. Please refer to the :ref:`Setup guide ` for more @@ -37,8 +38,9 @@ If screencasting fails with KMS, you may need to run the following to force unpr KMS streaming fails on Nvidia GPUs ---------------------------------- If KMS screen capture results in a black screen being streamed, you may need to -set the parameter `modeset=1` for Nvidia's kernel module. This can be done by +set the parameter ``modeset=1`` for Nvidia's kernel module. This can be done by adding the following directive to the kernel command line: + .. code-block:: nvidia_drm.modeset=1