From de7b81e3b4fd4d4a986a8a83fe3a71919da1f873 Mon Sep 17 00:00:00 2001 From: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com> Date: Sun, 7 Jan 2024 13:32:32 -0500 Subject: [PATCH] fix(ui): reorder and add missing config options (#1993) --- src_assets/common/assets/web/ResourceCard.vue | 6 +- src_assets/common/assets/web/apps.html | 16 +- src_assets/common/assets/web/config.html | 714 +++++++++++------- src_assets/common/assets/web/index.html | 6 +- src_assets/common/assets/web/pin.html | 2 +- .../common/assets/web/troubleshooting.html | 16 +- src_assets/common/assets/web/welcome.html | 2 +- 7 files changed, 486 insertions(+), 276 deletions(-) diff --git a/src_assets/common/assets/web/ResourceCard.vue b/src_assets/common/assets/web/ResourceCard.vue index 8bdfb5f9311..e2481ca475a 100644 --- a/src_assets/common/assets/web/ResourceCard.vue +++ b/src_assets/common/assets/web/ResourceCard.vue @@ -2,7 +2,7 @@

Resources

-
+

Resources for Sunshine!

@@ -15,11 +15,11 @@
- +

Legal

-
+

By continuing to use this software you agree to the terms and conditions in the following documents.

diff --git a/src_assets/common/assets/web/apps.html b/src_assets/common/assets/web/apps.html index c9131440340..21e3ced6954 100644 --- a/src_assets/common/assets/web/apps.html +++ b/src_assets/common/assets/web/apps.html @@ -102,7 +102,7 @@

Applications

- +
@@ -110,7 +110,7 @@

Applications

Application Name, as shown on Moonlight
- +
Applications specified, the output is ignored
- +
Applications that sleeps indefinitely
- +
About Environment Variables href="https://docs.lizardbyte.dev/projects/sunshine/en/latest/about/guides/app_examples.html" target="_blank">See More
- +
- -
- -
- -
-
- {{f}} - × -
-
- - -
-
-
-
- The display modes advertised by Sunshine
- Some versions of Moonlight, such as Moonlight-nx (Switch), rely on this list to ensure that the requested - resolutions and fps are supported.
- This setting does not change how the screen stream is sent to Moonlight -
- +
@@ -189,21 +108,50 @@

Configuration

-
- + +
- + +
+ + +
+ The file where current apps of Sunshine are stored +
+
+ + +
+ + +
+ Store Username/Password separately from Sunshine's state file. +
+
+ + +
+ + +
+ The file where the current logs of Sunshine are stored. +
+
+ +
The private key used for the web UI and Moonlight client pairing. For best compatibility, this should be an RSA-2048 private key.
- + +
@@ -213,7 +161,7 @@

Configuration

- +
Configuration The file where current state of Sunshine is stored
- + + + + +
+
- - + +
- The file where current apps of Sunshine are stored + Allows guests to control the host system with a gamepad / controller
-
-
- -
+ + +
+ v-model="config.ds4_back_as_touchpad_click"> @@ -266,21 +221,21 @@

-
+

+ aria-labelledby="panelsStayOpen-headingOne">
@@ -289,7 +244,7 @@

@@ -299,31 +254,21 @@

- -
+ + +
+ v-model="config.back_button_timeout" />
If the Back/Select button is held down for the specified number of milliseconds, a Home/Guide button press - is - emulated.
- If set to a value < 0 (default), holding the Back/Select button will not emulate the Home/Guide - button.
+ is emulated.
+ If set to a value < 0 (default), holding the Back/Select button will not emulate the Home/Guide button.
- -
- - -
- Allows guests to control the host system with the mouse -
-
- + + +
- - - -
- Allows guests to control the host system with a gamepad / controller -
-
+ -
+
+ v-model="config.key_repeat_delay" />
- Control how fast keys will repeat themselves
+ Control how fast keys will repeat themselves
The initial delay in milliseconds before repeating keys
+ -
+
+ v-model="config.key_repeat_frequency" />
- How often keys repeat every second
+ How often keys repeat every second
This configurable option supports decimals
+ -
+
- Sending scancodes enhances compatibility with games and apps - but may result in incorrect keyboard input from certain clients - that aren't using a US English keyboard layout.
- Enable if keyboard input is not working at all in certain applications.
+ Sending scancodes enhances compatibility with games and apps but may result in incorrect keyboard + input from certain clients that aren't using a US English keyboard layout.
+ Enable if keyboard input is not working at all in certain applications.
Disable if keys on the client are generating the wrong input on the host.
+ -
+
- It may be possible that you cannot send the Windows Key from Moonlight directly.
+ It may be possible that you cannot send the Windows Key from Moonlight directly.
In those cases it may be useful to make Sunshine think the Right Alt key is the Windows key
- + + +
+ + +
+ Allows guests to control the host system with the mouse +
+
+ + +
- When enabled, Sunshine will pass through high resolution scroll events from Moonlight clients.
- This can be useful to disable for older applications that scroll too fast with high resolution scroll events. + When enabled, Sunshine will pass through high resolution scroll events from Moonlight clients.
+ This can be useful to disable for older applications that scroll too fast with high resolution + scroll events.
+ -
+
- When enabled, Sunshine will pass through native pen/touch events from Moonlight clients.
+ When enabled, Sunshine will pass through native pen/touch events from Moonlight clients.
This can be useful to disable for older applications without native pen/touch support.
+
- + +
- +
- Manually specify a specific audio device to capture. If unset, the device is chosen automatically.
- We strongly recommend leaving this field blank to use automatic device selection!
+ Manually specify a specific audio device to capture. If unset, the device is chosen automatically.
+ We strongly recommend leaving this field blank to use automatic device selection!
If you have multiple audio devices with identical names, you can get the Device ID using the following - command:
+ command:
tools\audio-info.exe
@@ -437,13 +392,13 @@

- The name of the audio sink used for Audio Loopback
- If you do not specify this variable, pulseaudio will select the default monitor device.
-
- You can find the name of the audio sink using either command:
+ The name of the audio sink used for Audio Loopback
+ If you do not specify this variable, pulseaudio will select the default monitor device.
+
+ You can find the name of the audio sink using either command:
pacmd list-sinks | grep "name:"
pactl info | grep Source
-
+

@@ -451,26 +406,26 @@

- The name of the audio sink used for Audio Loopback
- Sunshine can only access microphones on macOS due to system limitations.
- To stream system audio using - Soundflower - or - BlackHole - . + The name of the audio sink used for Audio Loopback
+ Sunshine can only access microphones on macOS due to system limitations.
+ To stream system audio using + Soundflower or + BlackHole.

- + +
- Manually specify a virtual audio device to use. If unset, the device is chosen automatically.
- We strongly recommend leaving this field blank to use automatic device selection!
+ Manually specify a virtual audio device to use. If unset, the device is chosen automatically.
+ We strongly recommend leaving this field blank to use automatic device selection!
- + +
-
- Manually specify a GPU to use for capture. If unset, the GPU is chosen automatically.
- We strongly recommend leaving this field blank to use automatic GPU selection!
- Note: This GPU must have a display connected and powered on.
- The appropriate values can be found using the following command:
+
+ Manually specify a GPU to use for capture. If unset, the GPU is chosen automatically.
+ We strongly recommend leaving this field blank to use automatic GPU selection!
+ Note: This GPU must have a display connected and powered on.
+ The appropriate values can be found using the following command:
tools\dxgi-info.exe
- +
+ + +
+ Manually specify a GPU to use for capture.
+
ls /dev/dri/renderD*  # to find all devices capable of VAAPI
+
+              vainfo --display drm --device /dev/dri/renderD129 | \
+                grep -E "((VAProfileH264High|VAProfileHEVCMain|VAProfileHEVCMain10).*VAEntrypointEncSlice)|Driver version"
+            
+ Replace ``renderD129`` with the device from above to lists the name and capabilities of the device.
+ To be supported by Sunshine, it needs to have at the very minimum: + VAProfileH264High : VAEntrypointEncSlice +
+
+ +
- Manually specify a display to use for capture. If unset, the primary display is captured.
- Note: If you specified a GPU above, this display must be connected to that GPU.
- The appropriate values can be found using the following command:
- tools\dxgi-info.exe
+ Manually specify a display to use for capture. If unset, the primary display is captured.
+ Note: If you specified a GPU above, this display must be connected to that GPU.
+ The appropriate values can be found using the following command:
+ tools\dxgi-info.exe
- During Sunshine startup, you should see the list of detected monitors, e.g.:
-
+ During Sunshine startup, you should see the list of detected monitors, e.g.:
+
             Info: Detecting connected monitors
             Info: Detected monitor 0: DVI-D-0, connected: false
@@ -524,9 +496,64 @@ 

You need to use the value before the colon in the output, e.g. 1.

+ + +
+ +
+ +
+
+ {{r}} + × +
+
+
+ + +
+
+ + +
+ +
+
+ {{f}} + × +
+
+
+ + +
+
+ +
+ The display modes advertised by Sunshine.
+ Some versions of Moonlight, such as Moonlight-nx (Switch), rely on these lists to ensure that the requested + resolutions and fps are supported.
+ This setting does not change how the screen stream is sent to Moonlight. +
+
+
-
- + + +
+
Set the address family used by Sunshine
- + +
Exposing the Web UI to the internet is a security - risk! - Proceed at your own risk! + risk! Proceed at your own risk! +
+
+ + +
+ + +
+ The origin of the remote endpoint address that is not denied access to Web UI +
+
+ + +
+ + +
Automatically configure port forwarding
+
+ + +
+ + +
+ If no external IP address is given, Sunshine will automatically detect external IP
+ + +
+ + +
+ How long to wait in milliseconds for data from moonlight before shutting down the stream +
+
+ +
+ + +
+ +
+ + +
+ When multicasting, it could be useful to have different configurations for each connected Client. For example: +
    +
  • Clients connected through WAN and LAN have different bitrate constraints.
  • +
  • Decoders may require different settings for color
  • +
+ Unlike simply broadcasting to multiple Client, this will generate distinct video streams.
+ Note, CPU usage increases for each distinct video stream generated +
+
+ + +
+ + +
+ Percentage of error correcting packets per data packet in each video frame.
+ Higher values can correct for more network packet loss, but at the cost of increasing bandwidth usage.
+ The default value of 20 is what GeForce Experience uses. +
+
+
- Quantization Parameter
- Some devices may not support Constant Bit Rate.
- For those devices, QP is used instead.
- Higher value means more compression, but less quality
+ Quantization Parameter
+ Some devices may not support Constant Bit Rate.
+ For those devices, QP is used instead.
+ Higher value means more compression, but less quality
-
- -
+ +
- - +
+ Increasing the value slightly reduces encoding efficiency, but the tradeoff is usually
+ worth it to gain the use of more CPU cores for encoding. The ideal value is the lowest
+ value that can reliably encode at your desired streaming settings on your hardware. +
+
+ + +
+ +
- Optimize the trade-off between encoding speed (encoded frames per second) and compression efficiency - (quality - per bit in the bitstream). Defaults to superfast. + Allows the client to request HEVC Main or HEVC Main10 video streams.
+ HEVC is more CPU-intensive to encode, so enabling this may reduce performance when using software encoding.
+ +
- - + - - - - + +
- Tuning options, which are applied after the preset. Defaults to zerolatency. + Allows the client to request AV1 Main 8-bit or 10-bit video streams.
+ AV1 is more CPU-intensive to encode, so enabling this may reduce performance when using software encoding.
+ + +
+ + +
+ Force a specific capture method, otherwise Sunshine will use the first one that works. + NvFBC requires patched nvidia drivers. +
+
+ + +
+ + +
+ Force a specific encoder, otherwise Sunshine will select the best available option.
+ Note: If you specify a hardware encoder on Windows, it must match the GPU where the display is connected. +
+
+
- + +
- +
@@ -689,13 +843,13 @@

Adds preliminary encoding pass.
This allows to detect more motion vectors, better distribute bitrate across the frame and more strictly - adhere - to - bitrate limits.
+ adhere to bitrate limits.
Disabling it is not recommended since this can lead to occasional bitrate overshoot and subsequent packet loss.

+ +

@@ -707,6 +861,7 @@

+
+ +
@@ -753,6 +911,8 @@

+ +
+
- + +
- +
+ +
+ +
+ +
+ +
+ +
- -
- -
- + +
- +
+ + +
+
+ + +
+ Optimize the trade-off between encoding speed (encoded frames per second) and compression efficiency + (quality per bit in the bitstream). Defaults to superfast. +
+
+
+ + +
+ Tuning options, which are applied after the preset. Defaults to zerolatency. +
+
+
+

+ +
Success! Click 'Apply' to restart Sunshine and apply changes. This will terminate any running sessions.
@@ -857,6 +1067,7 @@

+