Merge upstream
This commit is contained in:
@@ -1156,14 +1156,15 @@ editing the `conf` file in a text editor. Use the examples as reference.
|
|||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
### dd_wa_hdr_toggle
|
### dd_wa_hdr_toggle_delay
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Description</td>
|
<td>Description</td>
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
When using virtual display device as for streaming, it might display incorrect (high-contrast) color.
|
When using virtual display device (VDD) for streaming, it might incorrectly display HDR color. Sunshine can try to mitigate this issue, by turning HDR off and then on again.<br>
|
||||||
With this option enabled, Sunshine will try to mitigate this issue.
|
If the value is set to 0, the workaround is disabled (default). If the value is between 0 and 3000 milliseconds, Sunshine will turn off HDR, wait for the specified amount of time and then turn HDR on again. The recommended delay time is around 500 milliseconds in most cases.<br>
|
||||||
|
DO NOT use this workaround unless you actually have issues with HDR as it directly impacts stream start time!
|
||||||
@note{This option works independently of [dd_hdr_option](#dd_hdr_option)}
|
@note{This option works independently of [dd_hdr_option](#dd_hdr_option)}
|
||||||
@note{Applies to Windows only.}
|
@note{Applies to Windows only.}
|
||||||
</td>
|
</td>
|
||||||
@@ -1171,13 +1172,13 @@ editing the `conf` file in a text editor. Use the examples as reference.
|
|||||||
<tr>
|
<tr>
|
||||||
<td>Default</td>
|
<td>Default</td>
|
||||||
<td colspan="2">@code{}
|
<td colspan="2">@code{}
|
||||||
disabled
|
0
|
||||||
@endcode</td>
|
@endcode</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Example</td>
|
<td>Example</td>
|
||||||
<td colspan="2">@code{}
|
<td colspan="2">@code{}
|
||||||
dd_wa_hdr_toggle = enabled
|
dd_wa_hdr_toggle_delay = 500
|
||||||
@endcode</td>
|
@endcode</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -1,13 +1,22 @@
|
|||||||
# Overview
|
<div align="center">
|
||||||
|
<img src="https://raw.githubusercontent.com/LizardByte/Sunshine/master/sunshine.png" />
|
||||||
|
<h1 align="center">Sunshine</h1>
|
||||||
|
<h4 align="center">Self-hosted game stream host for Moonlight.</h4>
|
||||||
|
</div>
|
||||||
|
|
||||||
[](https://flathub.org/apps/dev.lizardbyte.app.Sunshine)
|
<div align="center">
|
||||||
[](https://flathub.org/apps/dev.lizardbyte.app.Sunshine)
|
<a href="https://flathub.org/apps/dev.lizardbyte.app.Sunshine"><img src="https://img.shields.io/flathub/downloads/dev.lizardbyte.app.Sunshine?style=for-the-badge&logo=flathub" alt="Flathub installs"></a>
|
||||||
|
<a href="https://flathub.org/apps/dev.lizardbyte.app.Sunshine"><img src="https://img.shields.io/flathub/v/dev.lizardbyte.app.Sunshine?style=for-the-badge&logo=flathub" alt="Flathub Version"></a>
|
||||||
|
</div>
|
||||||
|
|
||||||
LizardByte has the full documentation hosted on [Read the Docs](https://docs.lizardbyte.dev/projects/sunshine).
|
## ℹ️ About
|
||||||
|
|
||||||
## About
|
|
||||||
|
|
||||||
Sunshine is a self-hosted game stream host for Moonlight.
|
Sunshine is a self-hosted game stream host for Moonlight.
|
||||||
|
|
||||||
|
LizardByte has the full documentation hosted on [Read the Docs](https://docs.lizardbyte.dev/projects/sunshine)
|
||||||
|
|
||||||
|
* [Stable](https://docs.lizardbyte.dev/projects/sunshine/latest/)
|
||||||
|
* [Beta](https://docs.lizardbyte.dev/projects/sunshine/master/)
|
||||||
|
|
||||||
This repo is synced from the upstream [Sunshine](https://github.com/LizardByte/Sunshine) repo.
|
This repo is synced from the upstream [Sunshine](https://github.com/LizardByte/Sunshine) repo.
|
||||||
Please report issues and contribute to the upstream repo.
|
Please report issues and contribute to the upstream repo.
|
||||||
|
|||||||
8
packaging/linux/flatpak/exceptions.json
Normal file
8
packaging/linux/flatpak/exceptions.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"dev.lizardbyte.app.Sunshine": [
|
||||||
|
"appstream-missing-screenshots",
|
||||||
|
"appstream-screenshots-not-mirrored-in-ostree",
|
||||||
|
"external-gitmodule-url-found",
|
||||||
|
"finish-args-flatpak-spawn-access"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"errors": [
|
|
||||||
"finish-args-flatpak-spawn-access"
|
|
||||||
],
|
|
||||||
"info": [
|
|
||||||
"finish-args-flatpak-spawn-access: finish-args has a talk-name access for org.freedesktop.Flatpak"
|
|
||||||
],
|
|
||||||
"message": "Please consult the documentation at https://docs.flathub.org/docs/for-app-authors/linter"
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"errors": [
|
|
||||||
"appstream-missing-screenshots",
|
|
||||||
"finish-args-flatpak-spawn-access"
|
|
||||||
],
|
|
||||||
"info": [
|
|
||||||
"appstream-missing-screenshots: Catalogue file has no screenshots. Please check if screenshot URLs are reachable",
|
|
||||||
"finish-args-flatpak-spawn-access: finish-args has a talk-name access for org.freedesktop.Flatpak"
|
|
||||||
],
|
|
||||||
"message": "Please consult the documentation at https://docs.flathub.org/docs/for-app-authors/linter"
|
|
||||||
}
|
|
||||||
@@ -1183,7 +1183,11 @@ namespace config {
|
|||||||
}
|
}
|
||||||
bool_f(vars, "dd_config_revert_on_disconnect", video.dd.config_revert_on_disconnect);
|
bool_f(vars, "dd_config_revert_on_disconnect", video.dd.config_revert_on_disconnect);
|
||||||
generic_f(vars, "dd_mode_remapping", video.dd.mode_remapping, dd::mode_remapping_from_view);
|
generic_f(vars, "dd_mode_remapping", video.dd.mode_remapping, dd::mode_remapping_from_view);
|
||||||
bool_f(vars, "dd_wa_hdr_toggle", video.dd.wa.hdr_toggle);
|
{
|
||||||
|
int value = 0;
|
||||||
|
int_between_f(vars, "dd_wa_hdr_toggle_delay", value, {0, 3000});
|
||||||
|
video.dd.wa.hdr_toggle_delay = std::chrono::milliseconds {value};
|
||||||
|
}
|
||||||
|
|
||||||
int_between_f(vars, "min_fps_factor", video.min_fps_factor, {1, 3});
|
int_between_f(vars, "min_fps_factor", video.min_fps_factor, {1, 3});
|
||||||
int_f(vars, "max_bitrate", video.max_bitrate);
|
int_f(vars, "max_bitrate", video.max_bitrate);
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ namespace config {
|
|||||||
|
|
||||||
struct dd_t {
|
struct dd_t {
|
||||||
struct workarounds_t {
|
struct workarounds_t {
|
||||||
bool hdr_toggle; ///< Specify whether to apply HDR high-contrast color workaround.
|
std::chrono::milliseconds hdr_toggle_delay; ///< Specify whether to apply HDR high-contrast color workaround and what delay to use.
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class config_option_e {
|
enum class config_option_e {
|
||||||
|
|||||||
@@ -621,7 +621,7 @@ namespace display_device {
|
|||||||
std::make_shared<FileSettingsPersistence>(persistence_filepath)
|
std::make_shared<FileSettingsPersistence>(persistence_filepath)
|
||||||
),
|
),
|
||||||
WinWorkarounds {
|
WinWorkarounds {
|
||||||
.m_hdr_blank_delay = video_config.dd.wa.hdr_toggle ? std::make_optional(500ms) : std::nullopt
|
.m_hdr_blank_delay = video_config.dd.wa.hdr_toggle_delay != std::chrono::milliseconds::zero() ? std::make_optional(video_config.dd.wa.hdr_toggle_delay) : std::nullopt
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -200,6 +200,7 @@
|
|||||||
"fallback_mode": "",
|
"fallback_mode": "",
|
||||||
"headless_mode": "disabled",
|
"headless_mode": "disabled",
|
||||||
"double_refreshrate": "disabled",
|
"double_refreshrate": "disabled",
|
||||||
|
"dd_wa_hdr_toggle_delay": 0,
|
||||||
"min_fps_factor": 1,
|
"min_fps_factor": 1,
|
||||||
"max_bitrate": 0,
|
"max_bitrate": 0,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
import PlatformLayout from '../../../PlatformLayout.vue'
|
import PlatformLayout from '../../../PlatformLayout.vue'
|
||||||
import Checkbox from "../../../Checkbox.vue";
|
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
platform: String,
|
platform: String,
|
||||||
@@ -135,12 +134,18 @@ function addRemappingEntry() {
|
|||||||
<option value="auto">{{ $t('config.dd_hdr_option_auto') }}</option>
|
<option value="auto">{{ $t('config.dd_hdr_option_auto') }}</option>
|
||||||
</select>
|
</select>
|
||||||
<!-- HDR toggle -->
|
<!-- HDR toggle -->
|
||||||
<!-- <Checkbox id="dd_wa_hdr_toggle"
|
<!-- <label for="dd_wa_hdr_toggle_delay" class="form-label">
|
||||||
locale-prefix="config"
|
{{ $t('config.dd_wa_hdr_toggle_delay') }}
|
||||||
v-model="config.dd_wa_hdr_toggle"
|
</label>
|
||||||
default="false"
|
<input type="number" class="form-control" id="dd_wa_hdr_toggle_delay" placeholder="0" min="0" max="3000"
|
||||||
v-if="config.dd_configuration_option !== 'disabled'"
|
v-model="config.dd_wa_hdr_toggle_delay" />
|
||||||
></Checkbox> -->
|
<div class="form-text">
|
||||||
|
{{ $t('config.dd_wa_hdr_toggle_delay_desc_1') }}
|
||||||
|
<br>
|
||||||
|
{{ $t('config.dd_wa_hdr_toggle_delay_desc_2') }}
|
||||||
|
<br>
|
||||||
|
{{ $t('config.dd_wa_hdr_toggle_delay_desc_3') }}
|
||||||
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Config revert delay -->
|
<!-- Config revert delay -->
|
||||||
|
|||||||
@@ -226,10 +226,10 @@
|
|||||||
"dd_resolution_option_manual": "Use manually entered resolution",
|
"dd_resolution_option_manual": "Use manually entered resolution",
|
||||||
"dd_resolution_option_manual_desc": "Enter the resolution to be used",
|
"dd_resolution_option_manual_desc": "Enter the resolution to be used",
|
||||||
"dd_resolution_option_ogs_desc": "\"Optimize game settings\" option must be enabled on the Moonlight client for this to work.",
|
"dd_resolution_option_ogs_desc": "\"Optimize game settings\" option must be enabled on the Moonlight client for this to work.",
|
||||||
"dd_resolution_option_vdisplay_desc": "When using virtual display, only built-in resolution and client requested resolution/refresh rate will work.",
|
"dd_wa_hdr_toggle_delay_desc_1": "When using virtual display device (VDD) for streaming, it might incorrectly display HDR color. Apollo can try to mitigate this issue, by turning HDR off and then on again.",
|
||||||
"dd_resolution_option_multi_instance_desc": "When using multiple instance of Apollo, make sure you have disabled this option in all instances, or it'll end up messing things up. It's still recommended to disable this part if you don't want your physical monitor's resolution to change or you only stream with virtual display.",
|
"dd_wa_hdr_toggle_delay_desc_2": "If the value is set to 0, the workaround is disabled (default). If the value is between 0 and 3000 milliseconds, Apollo will turn off HDR, wait for the specified amount of time and then turn HDR on again. The recommended delay time is around 500 milliseconds in most cases.",
|
||||||
"dd_wa_hdr_toggle_desc": "When using virtual display device as for streaming, it might display incorrect HDR color. With this option enabled, Apollo will try to mitigate this issue.",
|
"dd_wa_hdr_toggle_delay_desc_3": "DO NOT use this workaround unless you actually have issues with HDR as it directly impacts stream start time!",
|
||||||
"dd_wa_hdr_toggle": "Enable high-contrast workaround for HDR",
|
"dd_wa_hdr_toggle_delay": "High-contrast workaround for HDR",
|
||||||
"double_refreshrate": "Double refresh rate for Virtual Display",
|
"double_refreshrate": "Double refresh rate for Virtual Display",
|
||||||
"double_refreshrate_desc": "Double the requested fresh rate when creating virtual displays, streamed refresh rate still remain the same. Can potentially improve stutter problem on some systems.",
|
"double_refreshrate_desc": "Double the requested fresh rate when creating virtual displays, streamed refresh rate still remain the same. Can potentially improve stutter problem on some systems.",
|
||||||
"ds4_back_as_touchpad_click": "Map Back/Select to Touchpad Click",
|
"ds4_back_as_touchpad_click": "Map Back/Select to Touchpad Click",
|
||||||
|
|||||||
2
third-party/inputtino
vendored
2
third-party/inputtino
vendored
Submodule third-party/inputtino updated: 311fd2deea...00ea0c28e8
Reference in New Issue
Block a user