diff --git a/lang/chinese.txt b/lang/chinese.txt index f3f3cded..1c42a176 100644 --- a/lang/chinese.txt +++ b/lang/chinese.txt @@ -1034,4 +1034,73 @@ DESC_OTRUSEEXEDIR="Run the command from the same directory as the custom executa GUI_OTRCUSTWORKINGDIR="Working Directory" DESC_OTRCUSTWORKINGDIR="Directory to run the executable from, ignored if executable directory is enabled or if left blank - If unsure, leave blank" GUI_CUSTOMCMD_FORCEWIN="Force Proton with custom command" -DESC_CUSTOMCMD_FORCEWIN="Run this custom command with Proton even if it is not detected as a Windows program" \ No newline at end of file +DESC_CUSTOMCMD_FORCEWIN="Run this custom command with Proton even if it is not detected as a Windows program" +GUI_GSGENERALSET="General options" +GUI_GSFILTERINGSET="Filtering options" +GUI_GSHDRSET="HDR options" +GUI_GSEMBEDDEDSET="Embedded Mode options" +GUI_GSVRSET="VR options" +GUI_GSADVOPTIONS="Advanced options" +GUI_GSHDR="Enable HDR" +DESC_GSHDR="Enable HDR Output (needs GameScope WSI layer enabled for support from clients) -- If a HDR supported display is used, GameScope will use tonemapped SDR" +GUI_GSHDRWGFS="Enable Wide Gammut for SDR" +DESC_GSHDRWGFS="Treat SDR sRGB content as having Rec.2020 primaries - Makes colors more vivid at the cost of correctness" +GUI_GSHDRSCNITS="HDR SDR Nits" +DESC_GSHDRSCNITS="Set the luminance of SDR content in nits - Default is 400" +GUI_GSMSF="Max Scale Factor" +DESC_GSMSF="Maximum Scale Factor (0 is unused)" +GUI_GSFOOR="Force Orientation" +DESC_GSFOOR="Rotate the internal GameScope display" +GUI_GSFWF="Force windows fullscreen" +DESC_GSFWF="Force windows inside of GameScope to be the size of the nested display" +GUI_GSENABLECUSTCUR="Use custom cursor" +GUI_GSCURSOR="Custom cursor image" +DESC_GSCURSOR="Custom cursor image to use in place of regular mouse cursor" +GUI_GSFGC="Force Grab Cursor" +DESC_GSFGC="Lock the mouse cursor inside of the GameScope window" +GUI_GSVR="Enable OpenVR" +DESC_GSVR="Enables the GameScope OpenVR backend and outputs as a VR overlay (requires OpenVR)" +GUI_GSVREXNA="SteamVR Overlay Explicit Name" +DESC_GSVREXNA="Force the SteamVR Overlay to this string" +GUI_GSVRDEFNAM="SteamVR Overlay Default Name" +DESC_GSVRDEFNAM="Fallback SteamVR Overlay Name if there is no window title available" +GUI_GSVRICONENABLE="Custom SteamVR Icon" +DESC_GSVRICONENABLE="Enable using a custom SteamVR Icon" +GUI_GSVRICON="SteamVR Icon" +DESC_GSVRICON="SteamVR Overlay Icon" +GUI_GSVRSHOIMM="Focus SteamVR Overlay" +DESC_GSVRSHOIMM="SteamVR Overlay will become the focused window immediately after opening" +GUI_GSVRCONTROLBAR="SteamVR Control Bar" +DESC_GSVRCONTROLBAR="Enables the SteamVR Control Bar" +GUI_GSVRCONTROLBARKEYBOARD="SteamVR Control Bar Keyboard" +DESC_GSVRCONTROLBARKEYBOARD="Enables the Keyboard button on the SteamVR Control Bar" +GUI_GSVRCONTROLBARCLOSE="SteamVR Close Button" +DESC_GSVRCONTROLBARCLOSE="Enables the Close button on the SteamVR Control Bar" +GUI_GSVRMODAL="SteamVR Modal" +DESC_GSVRMODAL="Show the SteamVR Overlay as a modal" +GUI_GSDEFTOUCHMODE="Default Touch Mode" +DESC_GSDEFTOUCHMODE="Default action on touch (default will ignore flag)" +GUI_GSIMMEDIATEFLIPS="Immediate Flips" +DESC_GSIMMEDIATEFLIPS="Enable immediate flips, equivalent to the Steam Deck's 'Allow Tearing' option" +GUI_GSADAPTIVESYNC="Adaptive Sync / VRR" +DESC_GSADAPTIVESYNC="Enable Adaptive Sync, or 'Variable Refresh Rate', if available, e.g. FreeSync" +GUI_GSPREFOUT="Preferred Outputs" +DESC_GSPREFOUT="Output or outputs for GameScope to use, in order of preference" +GUI_GSDRMMODE="DRM Mode Generation Algorithm" +DESC_GSDRMMODE="DRM Mode Generation Algorithm to use - Ignored if left at default" +GUI_GSSTATSPATHENABLE="Enable custom statistics path" +DESC_GSSTATSPATHENABLE="Allow using a custom path to write out GameScope statistics" +GUI_GSSTATSPATH="Statistics Path" +DESC_GSSTATSPATH="Path to write out GameScope statistics" +GUI_GSHIDECURSORDELAY="Hide Cursor Delay" +DESC_GSHIDECURSORDELAY="Amount of time in milliseconds to wait before hiding the cursor" +GUI_GSFORCECOMP="Force Composition" +DESC_GSFORCECOMP="Disables direct scan-out" +GUI_GSDEBUGHUD="Debug HUD" +DESC_GSDEBUGHUD="Enables a HUD with some GameScope debug information" +GUI_GSFORCEHDRSUPPORT="Force HDR Support" +DESC_GSFORCEHDRSUPPORT="Forces support for HDR and associated opptions even if the current display does not support it" +GUI_GSFORCEHDROUTPUT="Force HDR Enabled" +DESC_GSFORCEHDROUTPUT="Force support and output for HDR10 PQ even if the current display does not support it - This will look very wrong on non-HDR displays" +GUI_GSPREFERVKDEVICE="Prefer Vulkan Device" +DESC_GSPREFERVKDEVICE="Prefer Vulkan device for compositing" \ No newline at end of file diff --git a/lang/dutch.txt b/lang/dutch.txt index 323bcf0c..8f28cc89 100644 --- a/lang/dutch.txt +++ b/lang/dutch.txt @@ -1034,4 +1034,73 @@ DESC_OTRUSEEXEDIR="Run the command from the same directory as the custom executa GUI_OTRCUSTWORKINGDIR="Working Directory" DESC_OTRCUSTWORKINGDIR="Directory to run the executable from, ignored if executable directory is enabled or if left blank - If unsure, leave blank" GUI_CUSTOMCMD_FORCEWIN="Force Proton with custom command" -DESC_CUSTOMCMD_FORCEWIN="Run this custom command with Proton even if it is not detected as a Windows program" \ No newline at end of file +DESC_CUSTOMCMD_FORCEWIN="Run this custom command with Proton even if it is not detected as a Windows program" +GUI_GSGENERALSET="General options" +GUI_GSFILTERINGSET="Filtering options" +GUI_GSHDRSET="HDR options" +GUI_GSEMBEDDEDSET="Embedded Mode options" +GUI_GSVRSET="VR options" +GUI_GSADVOPTIONS="Advanced options" +GUI_GSHDR="Enable HDR" +DESC_GSHDR="Enable HDR Output (needs GameScope WSI layer enabled for support from clients) -- If a HDR supported display is used, GameScope will use tonemapped SDR" +GUI_GSHDRWGFS="Enable Wide Gammut for SDR" +DESC_GSHDRWGFS="Treat SDR sRGB content as having Rec.2020 primaries - Makes colors more vivid at the cost of correctness" +GUI_GSHDRSCNITS="HDR SDR Nits" +DESC_GSHDRSCNITS="Set the luminance of SDR content in nits - Default is 400" +GUI_GSMSF="Max Scale Factor" +DESC_GSMSF="Maximum Scale Factor (0 is unused)" +GUI_GSFOOR="Force Orientation" +DESC_GSFOOR="Rotate the internal GameScope display" +GUI_GSFWF="Force windows fullscreen" +DESC_GSFWF="Force windows inside of GameScope to be the size of the nested display" +GUI_GSENABLECUSTCUR="Use custom cursor" +GUI_GSCURSOR="Custom cursor image" +DESC_GSCURSOR="Custom cursor image to use in place of regular mouse cursor" +GUI_GSFGC="Force Grab Cursor" +DESC_GSFGC="Lock the mouse cursor inside of the GameScope window" +GUI_GSVR="Enable OpenVR" +DESC_GSVR="Enables the GameScope OpenVR backend and outputs as a VR overlay (requires OpenVR)" +GUI_GSVREXNA="SteamVR Overlay Explicit Name" +DESC_GSVREXNA="Force the SteamVR Overlay to this string" +GUI_GSVRDEFNAM="SteamVR Overlay Default Name" +DESC_GSVRDEFNAM="Fallback SteamVR Overlay Name if there is no window title available" +GUI_GSVRICONENABLE="Custom SteamVR Icon" +DESC_GSVRICONENABLE="Enable using a custom SteamVR Icon" +GUI_GSVRICON="SteamVR Icon" +DESC_GSVRICON="SteamVR Overlay Icon" +GUI_GSVRSHOIMM="Focus SteamVR Overlay" +DESC_GSVRSHOIMM="SteamVR Overlay will become the focused window immediately after opening" +GUI_GSVRCONTROLBAR="SteamVR Control Bar" +DESC_GSVRCONTROLBAR="Enables the SteamVR Control Bar" +GUI_GSVRCONTROLBARKEYBOARD="SteamVR Control Bar Keyboard" +DESC_GSVRCONTROLBARKEYBOARD="Enables the Keyboard button on the SteamVR Control Bar" +GUI_GSVRCONTROLBARCLOSE="SteamVR Close Button" +DESC_GSVRCONTROLBARCLOSE="Enables the Close button on the SteamVR Control Bar" +GUI_GSVRMODAL="SteamVR Modal" +DESC_GSVRMODAL="Show the SteamVR Overlay as a modal" +GUI_GSDEFTOUCHMODE="Default Touch Mode" +DESC_GSDEFTOUCHMODE="Default action on touch (default will ignore flag)" +GUI_GSIMMEDIATEFLIPS="Immediate Flips" +DESC_GSIMMEDIATEFLIPS="Enable immediate flips, equivalent to the Steam Deck's 'Allow Tearing' option" +GUI_GSADAPTIVESYNC="Adaptive Sync / VRR" +DESC_GSADAPTIVESYNC="Enable Adaptive Sync, or 'Variable Refresh Rate', if available, e.g. FreeSync" +GUI_GSPREFOUT="Preferred Outputs" +DESC_GSPREFOUT="Output or outputs for GameScope to use, in order of preference" +GUI_GSDRMMODE="DRM Mode Generation Algorithm" +DESC_GSDRMMODE="DRM Mode Generation Algorithm to use - Ignored if left at default" +GUI_GSSTATSPATHENABLE="Enable custom statistics path" +DESC_GSSTATSPATHENABLE="Allow using a custom path to write out GameScope statistics" +GUI_GSSTATSPATH="Statistics Path" +DESC_GSSTATSPATH="Path to write out GameScope statistics" +GUI_GSHIDECURSORDELAY="Hide Cursor Delay" +DESC_GSHIDECURSORDELAY="Amount of time in milliseconds to wait before hiding the cursor" +GUI_GSFORCECOMP="Force Composition" +DESC_GSFORCECOMP="Disables direct scan-out" +GUI_GSDEBUGHUD="Debug HUD" +DESC_GSDEBUGHUD="Enables a HUD with some GameScope debug information" +GUI_GSFORCEHDRSUPPORT="Force HDR Support" +DESC_GSFORCEHDRSUPPORT="Forces support for HDR and associated opptions even if the current display does not support it" +GUI_GSFORCEHDROUTPUT="Force HDR Enabled" +DESC_GSFORCEHDROUTPUT="Force support and output for HDR10 PQ even if the current display does not support it - This will look very wrong on non-HDR displays" +GUI_GSPREFERVKDEVICE="Prefer Vulkan Device" +DESC_GSPREFERVKDEVICE="Prefer Vulkan device for compositing" \ No newline at end of file diff --git a/lang/english.txt b/lang/english.txt index 7838c58b..ed2b3577 100644 --- a/lang/english.txt +++ b/lang/english.txt @@ -1035,4 +1035,73 @@ DESC_OTRUSEEXEDIR="Run the command from the same directory as the custom executa GUI_OTRCUSTWORKINGDIR="Working Directory" DESC_OTRCUSTWORKINGDIR="Directory to run the executable from, ignored if executable directory is enabled or if left blank - If unsure, leave blank" GUI_CUSTOMCMD_FORCEWIN="Force Proton with custom command" -DESC_CUSTOMCMD_FORCEWIN="Run this custom command with Proton even if it is not detected as a Windows program" \ No newline at end of file +DESC_CUSTOMCMD_FORCEWIN="Run this custom command with Proton even if it is not detected as a Windows program" +GUI_GSGENERALSET="General options" +GUI_GSFILTERINGSET="Filtering options" +GUI_GSHDRSET="HDR options" +GUI_GSEMBEDDEDSET="Embedded Mode options" +GUI_GSVRSET="VR options" +GUI_GSADVOPTIONS="Advanced options" +GUI_GSHDR="Enable HDR" +DESC_GSHDR="Enable HDR Output (needs GameScope WSI layer enabled for support from clients) -- If a HDR supported display is used, GameScope will use tonemapped SDR" +GUI_GSHDRWGFS="Enable Wide Gammut for SDR" +DESC_GSHDRWGFS="Treat SDR sRGB content as having Rec.2020 primaries - Makes colors more vivid at the cost of correctness" +GUI_GSHDRSCNITS="HDR SDR Nits" +DESC_GSHDRSCNITS="Set the luminance of SDR content in nits - Default is 400" +GUI_GSMSF="Max Scale Factor" +DESC_GSMSF="Maximum Scale Factor (0 is unused)" +GUI_GSFOOR="Force Orientation" +DESC_GSFOOR="Rotate the internal GameScope display" +GUI_GSFWF="Force windows fullscreen" +DESC_GSFWF="Force windows inside of GameScope to be the size of the nested display" +GUI_GSENABLECUSTCUR="Use custom cursor" +GUI_GSCURSOR="Custom cursor image" +DESC_GSCURSOR="Custom cursor image to use in place of regular mouse cursor" +GUI_GSFGC="Force Grab Cursor" +DESC_GSFGC="Lock the mouse cursor inside of the GameScope window" +GUI_GSVR="Enable OpenVR" +DESC_GSVR="Enables the GameScope OpenVR backend and outputs as a VR overlay (requires OpenVR)" +GUI_GSVREXNA="SteamVR Overlay Explicit Name" +DESC_GSVREXNA="Force the SteamVR Overlay to this string" +GUI_GSVRDEFNAM="SteamVR Overlay Default Name" +DESC_GSVRDEFNAM="Fallback SteamVR Overlay Name if there is no window title available" +GUI_GSVRICONENABLE="Custom SteamVR Icon" +DESC_GSVRICONENABLE="Enable using a custom SteamVR Icon" +GUI_GSVRICON="SteamVR Icon" +DESC_GSVRICON="SteamVR Overlay Icon" +GUI_GSVRSHOIMM="Focus SteamVR Overlay" +DESC_GSVRSHOIMM="SteamVR Overlay will become the focused window immediately after opening" +GUI_GSVRCONTROLBAR="SteamVR Control Bar" +DESC_GSVRCONTROLBAR="Enables the SteamVR Control Bar" +GUI_GSVRCONTROLBARKEYBOARD="SteamVR Control Bar Keyboard" +DESC_GSVRCONTROLBARKEYBOARD="Enables the Keyboard button on the SteamVR Control Bar" +GUI_GSVRCONTROLBARCLOSE="SteamVR Close Button" +DESC_GSVRCONTROLBARCLOSE="Enables the Close button on the SteamVR Control Bar" +GUI_GSVRMODAL="SteamVR Modal" +DESC_GSVRMODAL="Show the SteamVR Overlay as a modal" +GUI_GSDEFTOUCHMODE="Default Touch Mode" +DESC_GSDEFTOUCHMODE="Default action on touch (default will ignore flag)" +GUI_GSIMMEDIATEFLIPS="Immediate Flips" +DESC_GSIMMEDIATEFLIPS="Enable immediate flips, equivalent to the Steam Deck's 'Allow Tearing' option" +GUI_GSADAPTIVESYNC="Adaptive Sync / VRR" +DESC_GSADAPTIVESYNC="Enable Adaptive Sync, or 'Variable Refresh Rate', if available, e.g. FreeSync" +GUI_GSPREFOUT="Preferred Outputs" +DESC_GSPREFOUT="Output or outputs for GameScope to use, in order of preference" +GUI_GSDRMMODE="DRM Mode Generation Algorithm" +DESC_GSDRMMODE="DRM Mode Generation Algorithm to use - Ignored if left at default" +GUI_GSSTATSPATHENABLE="Enable custom statistics path" +DESC_GSSTATSPATHENABLE="Allow using a custom path to write out GameScope statistics" +GUI_GSSTATSPATH="Statistics Path" +DESC_GSSTATSPATH="Path to write out GameScope statistics" +GUI_GSHIDECURSORDELAY="Hide Cursor Delay" +DESC_GSHIDECURSORDELAY="Amount of time in milliseconds to wait before hiding the cursor" +GUI_GSFORCECOMP="Force Composition" +DESC_GSFORCECOMP="Disables direct scan-out" +GUI_GSDEBUGHUD="Debug HUD" +DESC_GSDEBUGHUD="Enables a HUD with some GameScope debug information" +GUI_GSFORCEHDRSUPPORT="Force HDR Support" +DESC_GSFORCEHDRSUPPORT="Forces support for HDR and associated opptions even if the current display does not support it" +GUI_GSFORCEHDROUTPUT="Force HDR Enabled" +DESC_GSFORCEHDROUTPUT="Force support and output for HDR10 PQ even if the current display does not support it - This will look very wrong on non-HDR displays" +GUI_GSPREFERVKDEVICE="Prefer Vulkan Device" +DESC_GSPREFERVKDEVICE="Prefer Vulkan device for compositing" \ No newline at end of file diff --git a/lang/englishUK.txt b/lang/englishUK.txt index a9d58425..a5c8cf93 100644 --- a/lang/englishUK.txt +++ b/lang/englishUK.txt @@ -1034,4 +1034,73 @@ DESC_OTRUSEEXEDIR="Run the command from the same directory as the custom executa GUI_OTRCUSTWORKINGDIR="Working Directory" DESC_OTRCUSTWORKINGDIR="Directory to run the executable from, ignored if executable directory is enabled or if left blank - If unsure, leave blank" GUI_CUSTOMCMD_FORCEWIN="Force Proton with custom command" -DESC_CUSTOMCMD_FORCEWIN="Run this custom command with Proton even if it is not detected as a Windows program" \ No newline at end of file +DESC_CUSTOMCMD_FORCEWIN="Run this custom command with Proton even if it is not detected as a Windows program" +GUI_GSGENERALSET="General options" +GUI_GSFILTERINGSET="Filtering options" +GUI_GSHDRSET="HDR options" +GUI_GSEMBEDDEDSET="Embedded Mode options" +GUI_GSVRSET="VR options" +GUI_GSADVOPTIONS="Advanced options" +GUI_GSHDR="Enable HDR" +DESC_GSHDR="Enable HDR Output (needs GameScope WSI layer enabled for support from clients) -- If a HDR supported display is used, GameScope will use tonemapped SDR" +GUI_GSHDRWGFS="Enable Wide Gammut for SDR" +DESC_GSHDRWGFS="Treat SDR sRGB content as having Rec.2020 primaries - Makes colors more vivid at the cost of correctness" +GUI_GSHDRSCNITS="HDR SDR Nits" +DESC_GSHDRSCNITS="Set the luminance of SDR content in nits - Default is 400" +GUI_GSMSF="Max Scale Factor" +DESC_GSMSF="Maximum Scale Factor (0 is unused)" +GUI_GSFOOR="Force Orientation" +DESC_GSFOOR="Rotate the internal GameScope display" +GUI_GSFWF="Force windows fullscreen" +DESC_GSFWF="Force windows inside of GameScope to be the size of the nested display" +GUI_GSENABLECUSTCUR="Use custom cursor" +GUI_GSCURSOR="Custom cursor image" +DESC_GSCURSOR="Custom cursor image to use in place of regular mouse cursor" +GUI_GSFGC="Force Grab Cursor" +DESC_GSFGC="Lock the mouse cursor inside of the GameScope window" +GUI_GSVR="Enable OpenVR" +DESC_GSVR="Enables the GameScope OpenVR backend and outputs as a VR overlay (requires OpenVR)" +GUI_GSVREXNA="SteamVR Overlay Explicit Name" +DESC_GSVREXNA="Force the SteamVR Overlay to this string" +GUI_GSVRDEFNAM="SteamVR Overlay Default Name" +DESC_GSVRDEFNAM="Fallback SteamVR Overlay Name if there is no window title available" +GUI_GSVRICONENABLE="Custom SteamVR Icon" +DESC_GSVRICONENABLE="Enable using a custom SteamVR Icon" +GUI_GSVRICON="SteamVR Icon" +DESC_GSVRICON="SteamVR Overlay Icon" +GUI_GSVRSHOIMM="Focus SteamVR Overlay" +DESC_GSVRSHOIMM="SteamVR Overlay will become the focused window immediately after opening" +GUI_GSVRCONTROLBAR="SteamVR Control Bar" +DESC_GSVRCONTROLBAR="Enables the SteamVR Control Bar" +GUI_GSVRCONTROLBARKEYBOARD="SteamVR Control Bar Keyboard" +DESC_GSVRCONTROLBARKEYBOARD="Enables the Keyboard button on the SteamVR Control Bar" +GUI_GSVRCONTROLBARCLOSE="SteamVR Close Button" +DESC_GSVRCONTROLBARCLOSE="Enables the Close button on the SteamVR Control Bar" +GUI_GSVRMODAL="SteamVR Modal" +DESC_GSVRMODAL="Show the SteamVR Overlay as a modal" +GUI_GSDEFTOUCHMODE="Default Touch Mode" +DESC_GSDEFTOUCHMODE="Default action on touch (default will ignore flag)" +GUI_GSIMMEDIATEFLIPS="Immediate Flips" +DESC_GSIMMEDIATEFLIPS="Enable immediate flips, equivalent to the Steam Deck's 'Allow Tearing' option" +GUI_GSADAPTIVESYNC="Adaptive Sync / VRR" +DESC_GSADAPTIVESYNC="Enable Adaptive Sync, or 'Variable Refresh Rate', if available, e.g. FreeSync" +GUI_GSPREFOUT="Preferred Outputs" +DESC_GSPREFOUT="Output or outputs for GameScope to use, in order of preference" +GUI_GSDRMMODE="DRM Mode Generation Algorithm" +DESC_GSDRMMODE="DRM Mode Generation Algorithm to use - Ignored if left at default" +GUI_GSSTATSPATHENABLE="Enable custom statistics path" +DESC_GSSTATSPATHENABLE="Allow using a custom path to write out GameScope statistics" +GUI_GSSTATSPATH="Statistics Path" +DESC_GSSTATSPATH="Path to write out GameScope statistics" +GUI_GSHIDECURSORDELAY="Hide Cursor Delay" +DESC_GSHIDECURSORDELAY="Amount of time in milliseconds to wait before hiding the cursor" +GUI_GSFORCECOMP="Force Composition" +DESC_GSFORCECOMP="Disables direct scan-out" +GUI_GSDEBUGHUD="Debug HUD" +DESC_GSDEBUGHUD="Enables a HUD with some GameScope debug information" +GUI_GSFORCEHDRSUPPORT="Force HDR Support" +DESC_GSFORCEHDRSUPPORT="Forces support for HDR and associated opptions even if the current display does not support it" +GUI_GSFORCEHDROUTPUT="Force HDR Enabled" +DESC_GSFORCEHDROUTPUT="Force support and output for HDR10 PQ even if the current display does not support it - This will look very wrong on non-HDR displays" +GUI_GSPREFERVKDEVICE="Prefer Vulkan Device" +DESC_GSPREFERVKDEVICE="Prefer Vulkan device for compositing" \ No newline at end of file diff --git a/lang/french.txt b/lang/french.txt index 17f6a360..a4177e1e 100644 --- a/lang/french.txt +++ b/lang/french.txt @@ -1034,4 +1034,73 @@ DESC_OTRUSEEXEDIR="Run the command from the same directory as the custom executa GUI_OTRCUSTWORKINGDIR="Working Directory" DESC_OTRCUSTWORKINGDIR="Directory to run the executable from, ignored if executable directory is enabled or if left blank - If unsure, leave blank" GUI_CUSTOMCMD_FORCEWIN="Force Proton with custom command" -DESC_CUSTOMCMD_FORCEWIN="Run this custom command with Proton even if it is not detected as a Windows program" \ No newline at end of file +DESC_CUSTOMCMD_FORCEWIN="Run this custom command with Proton even if it is not detected as a Windows program" +GUI_GSGENERALSET="General options" +GUI_GSFILTERINGSET="Filtering options" +GUI_GSHDRSET="HDR options" +GUI_GSEMBEDDEDSET="Embedded Mode options" +GUI_GSVRSET="VR options" +GUI_GSADVOPTIONS="Advanced options" +GUI_GSHDR="Enable HDR" +DESC_GSHDR="Enable HDR Output (needs GameScope WSI layer enabled for support from clients) -- If a HDR supported display is used, GameScope will use tonemapped SDR" +GUI_GSHDRWGFS="Enable Wide Gammut for SDR" +DESC_GSHDRWGFS="Treat SDR sRGB content as having Rec.2020 primaries - Makes colors more vivid at the cost of correctness" +GUI_GSHDRSCNITS="HDR SDR Nits" +DESC_GSHDRSCNITS="Set the luminance of SDR content in nits - Default is 400" +GUI_GSMSF="Max Scale Factor" +DESC_GSMSF="Maximum Scale Factor (0 is unused)" +GUI_GSFOOR="Force Orientation" +DESC_GSFOOR="Rotate the internal GameScope display" +GUI_GSFWF="Force windows fullscreen" +DESC_GSFWF="Force windows inside of GameScope to be the size of the nested display" +GUI_GSENABLECUSTCUR="Use custom cursor" +GUI_GSCURSOR="Custom cursor image" +DESC_GSCURSOR="Custom cursor image to use in place of regular mouse cursor" +GUI_GSFGC="Force Grab Cursor" +DESC_GSFGC="Lock the mouse cursor inside of the GameScope window" +GUI_GSVR="Enable OpenVR" +DESC_GSVR="Enables the GameScope OpenVR backend and outputs as a VR overlay (requires OpenVR)" +GUI_GSVREXNA="SteamVR Overlay Explicit Name" +DESC_GSVREXNA="Force the SteamVR Overlay to this string" +GUI_GSVRDEFNAM="SteamVR Overlay Default Name" +DESC_GSVRDEFNAM="Fallback SteamVR Overlay Name if there is no window title available" +GUI_GSVRICONENABLE="Custom SteamVR Icon" +DESC_GSVRICONENABLE="Enable using a custom SteamVR Icon" +GUI_GSVRICON="SteamVR Icon" +DESC_GSVRICON="SteamVR Overlay Icon" +GUI_GSVRSHOIMM="Focus SteamVR Overlay" +DESC_GSVRSHOIMM="SteamVR Overlay will become the focused window immediately after opening" +GUI_GSVRCONTROLBAR="SteamVR Control Bar" +DESC_GSVRCONTROLBAR="Enables the SteamVR Control Bar" +GUI_GSVRCONTROLBARKEYBOARD="SteamVR Control Bar Keyboard" +DESC_GSVRCONTROLBARKEYBOARD="Enables the Keyboard button on the SteamVR Control Bar" +GUI_GSVRCONTROLBARCLOSE="SteamVR Close Button" +DESC_GSVRCONTROLBARCLOSE="Enables the Close button on the SteamVR Control Bar" +GUI_GSVRMODAL="SteamVR Modal" +DESC_GSVRMODAL="Show the SteamVR Overlay as a modal" +GUI_GSDEFTOUCHMODE="Default Touch Mode" +DESC_GSDEFTOUCHMODE="Default action on touch (default will ignore flag)" +GUI_GSIMMEDIATEFLIPS="Immediate Flips" +DESC_GSIMMEDIATEFLIPS="Enable immediate flips, equivalent to the Steam Deck's 'Allow Tearing' option" +GUI_GSADAPTIVESYNC="Adaptive Sync / VRR" +DESC_GSADAPTIVESYNC="Enable Adaptive Sync, or 'Variable Refresh Rate', if available, e.g. FreeSync" +GUI_GSPREFOUT="Preferred Outputs" +DESC_GSPREFOUT="Output or outputs for GameScope to use, in order of preference" +GUI_GSDRMMODE="DRM Mode Generation Algorithm" +DESC_GSDRMMODE="DRM Mode Generation Algorithm to use - Ignored if left at default" +GUI_GSSTATSPATHENABLE="Enable custom statistics path" +DESC_GSSTATSPATHENABLE="Allow using a custom path to write out GameScope statistics" +GUI_GSSTATSPATH="Statistics Path" +DESC_GSSTATSPATH="Path to write out GameScope statistics" +GUI_GSHIDECURSORDELAY="Hide Cursor Delay" +DESC_GSHIDECURSORDELAY="Amount of time in milliseconds to wait before hiding the cursor" +GUI_GSFORCECOMP="Force Composition" +DESC_GSFORCECOMP="Disables direct scan-out" +GUI_GSDEBUGHUD="Debug HUD" +DESC_GSDEBUGHUD="Enables a HUD with some GameScope debug information" +GUI_GSFORCEHDRSUPPORT="Force HDR Support" +DESC_GSFORCEHDRSUPPORT="Forces support for HDR and associated opptions even if the current display does not support it" +GUI_GSFORCEHDROUTPUT="Force HDR Enabled" +DESC_GSFORCEHDROUTPUT="Force support and output for HDR10 PQ even if the current display does not support it - This will look very wrong on non-HDR displays" +GUI_GSPREFERVKDEVICE="Prefer Vulkan Device" +DESC_GSPREFERVKDEVICE="Prefer Vulkan device for compositing" \ No newline at end of file diff --git a/lang/german.txt b/lang/german.txt index e4865504..4cbd222a 100644 --- a/lang/german.txt +++ b/lang/german.txt @@ -1036,4 +1036,73 @@ DESC_OTRUSEEXEDIR="Run the command from the same directory as the custom executa GUI_OTRCUSTWORKINGDIR="Working Directory" DESC_OTRCUSTWORKINGDIR="Directory to run the executable from, ignored if executable directory is enabled or if left blank - If unsure, leave blank" GUI_CUSTOMCMD_FORCEWIN="Force Proton with custom command" -DESC_CUSTOMCMD_FORCEWIN="Run this custom command with Proton even if it is not detected as a Windows program" \ No newline at end of file +DESC_CUSTOMCMD_FORCEWIN="Run this custom command with Proton even if it is not detected as a Windows program" +GUI_GSGENERALSET="General options" +GUI_GSFILTERINGSET="Filtering options" +GUI_GSHDRSET="HDR options" +GUI_GSEMBEDDEDSET="Embedded Mode options" +GUI_GSVRSET="VR options" +GUI_GSADVOPTIONS="Advanced options" +GUI_GSHDR="Enable HDR" +DESC_GSHDR="Enable HDR Output (needs GameScope WSI layer enabled for support from clients) -- If a HDR supported display is used, GameScope will use tonemapped SDR" +GUI_GSHDRWGFS="Enable Wide Gammut for SDR" +DESC_GSHDRWGFS="Treat SDR sRGB content as having Rec.2020 primaries - Makes colors more vivid at the cost of correctness" +GUI_GSHDRSCNITS="HDR SDR Nits" +DESC_GSHDRSCNITS="Set the luminance of SDR content in nits - Default is 400" +GUI_GSMSF="Max Scale Factor" +DESC_GSMSF="Maximum Scale Factor (0 is unused)" +GUI_GSFOOR="Force Orientation" +DESC_GSFOOR="Rotate the internal GameScope display" +GUI_GSFWF="Force windows fullscreen" +DESC_GSFWF="Force windows inside of GameScope to be the size of the nested display" +GUI_GSENABLECUSTCUR="Use custom cursor" +GUI_GSCURSOR="Custom cursor image" +DESC_GSCURSOR="Custom cursor image to use in place of regular mouse cursor" +GUI_GSFGC="Force Grab Cursor" +DESC_GSFGC="Lock the mouse cursor inside of the GameScope window" +GUI_GSVR="Enable OpenVR" +DESC_GSVR="Enables the GameScope OpenVR backend and outputs as a VR overlay (requires OpenVR)" +GUI_GSVREXNA="SteamVR Overlay Explicit Name" +DESC_GSVREXNA="Force the SteamVR Overlay to this string" +GUI_GSVRDEFNAM="SteamVR Overlay Default Name" +DESC_GSVRDEFNAM="Fallback SteamVR Overlay Name if there is no window title available" +GUI_GSVRICONENABLE="Custom SteamVR Icon" +DESC_GSVRICONENABLE="Enable using a custom SteamVR Icon" +GUI_GSVRICON="SteamVR Icon" +DESC_GSVRICON="SteamVR Overlay Icon" +GUI_GSVRSHOIMM="Focus SteamVR Overlay" +DESC_GSVRSHOIMM="SteamVR Overlay will become the focused window immediately after opening" +GUI_GSVRCONTROLBAR="SteamVR Control Bar" +DESC_GSVRCONTROLBAR="Enables the SteamVR Control Bar" +GUI_GSVRCONTROLBARKEYBOARD="SteamVR Control Bar Keyboard" +DESC_GSVRCONTROLBARKEYBOARD="Enables the Keyboard button on the SteamVR Control Bar" +GUI_GSVRCONTROLBARCLOSE="SteamVR Close Button" +DESC_GSVRCONTROLBARCLOSE="Enables the Close button on the SteamVR Control Bar" +GUI_GSVRMODAL="SteamVR Modal" +DESC_GSVRMODAL="Show the SteamVR Overlay as a modal" +GUI_GSDEFTOUCHMODE="Default Touch Mode" +DESC_GSDEFTOUCHMODE="Default action on touch (default will ignore flag)" +GUI_GSIMMEDIATEFLIPS="Immediate Flips" +DESC_GSIMMEDIATEFLIPS="Enable immediate flips, equivalent to the Steam Deck's 'Allow Tearing' option" +GUI_GSADAPTIVESYNC="Adaptive Sync / VRR" +DESC_GSADAPTIVESYNC="Enable Adaptive Sync, or 'Variable Refresh Rate', if available, e.g. FreeSync" +GUI_GSPREFOUT="Preferred Outputs" +DESC_GSPREFOUT="Output or outputs for GameScope to use, in order of preference" +GUI_GSDRMMODE="DRM Mode Generation Algorithm" +DESC_GSDRMMODE="DRM Mode Generation Algorithm to use - Ignored if left at default" +GUI_GSSTATSPATHENABLE="Enable custom statistics path" +DESC_GSSTATSPATHENABLE="Allow using a custom path to write out GameScope statistics" +GUI_GSSTATSPATH="Statistics Path" +DESC_GSSTATSPATH="Path to write out GameScope statistics" +GUI_GSHIDECURSORDELAY="Hide Cursor Delay" +DESC_GSHIDECURSORDELAY="Amount of time in milliseconds to wait before hiding the cursor" +GUI_GSFORCECOMP="Force Composition" +DESC_GSFORCECOMP="Disables direct scan-out" +GUI_GSDEBUGHUD="Debug HUD" +DESC_GSDEBUGHUD="Enables a HUD with some GameScope debug information" +GUI_GSFORCEHDRSUPPORT="Force HDR Support" +DESC_GSFORCEHDRSUPPORT="Forces support for HDR and associated opptions even if the current display does not support it" +GUI_GSFORCEHDROUTPUT="Force HDR Enabled" +DESC_GSFORCEHDROUTPUT="Force support and output for HDR10 PQ even if the current display does not support it - This will look very wrong on non-HDR displays" +GUI_GSPREFERVKDEVICE="Prefer Vulkan Device" +DESC_GSPREFERVKDEVICE="Prefer Vulkan device for compositing" \ No newline at end of file diff --git a/lang/italian.txt b/lang/italian.txt index 44deed2b..5df4d7fb 100644 --- a/lang/italian.txt +++ b/lang/italian.txt @@ -1034,4 +1034,73 @@ DESC_OTRUSEEXEDIR="Run the command from the same directory as the custom executa GUI_OTRCUSTWORKINGDIR="Working Directory" DESC_OTRCUSTWORKINGDIR="Directory to run the executable from, ignored if executable directory is enabled or if left blank - If unsure, leave blank" GUI_CUSTOMCMD_FORCEWIN="Force Proton with custom command" -DESC_CUSTOMCMD_FORCEWIN="Run this custom command with Proton even if it is not detected as a Windows program" \ No newline at end of file +DESC_CUSTOMCMD_FORCEWIN="Run this custom command with Proton even if it is not detected as a Windows program" +GUI_GSGENERALSET="General options" +GUI_GSFILTERINGSET="Filtering options" +GUI_GSHDRSET="HDR options" +GUI_GSEMBEDDEDSET="Embedded Mode options" +GUI_GSVRSET="VR options" +GUI_GSADVOPTIONS="Advanced options" +GUI_GSHDR="Enable HDR" +DESC_GSHDR="Enable HDR Output (needs GameScope WSI layer enabled for support from clients) -- If a HDR supported display is used, GameScope will use tonemapped SDR" +GUI_GSHDRWGFS="Enable Wide Gammut for SDR" +DESC_GSHDRWGFS="Treat SDR sRGB content as having Rec.2020 primaries - Makes colors more vivid at the cost of correctness" +GUI_GSHDRSCNITS="HDR SDR Nits" +DESC_GSHDRSCNITS="Set the luminance of SDR content in nits - Default is 400" +GUI_GSMSF="Max Scale Factor" +DESC_GSMSF="Maximum Scale Factor (0 is unused)" +GUI_GSFOOR="Force Orientation" +DESC_GSFOOR="Rotate the internal GameScope display" +GUI_GSFWF="Force windows fullscreen" +DESC_GSFWF="Force windows inside of GameScope to be the size of the nested display" +GUI_GSENABLECUSTCUR="Use custom cursor" +GUI_GSCURSOR="Custom cursor image" +DESC_GSCURSOR="Custom cursor image to use in place of regular mouse cursor" +GUI_GSFGC="Force Grab Cursor" +DESC_GSFGC="Lock the mouse cursor inside of the GameScope window" +GUI_GSVR="Enable OpenVR" +DESC_GSVR="Enables the GameScope OpenVR backend and outputs as a VR overlay (requires OpenVR)" +GUI_GSVREXNA="SteamVR Overlay Explicit Name" +DESC_GSVREXNA="Force the SteamVR Overlay to this string" +GUI_GSVRDEFNAM="SteamVR Overlay Default Name" +DESC_GSVRDEFNAM="Fallback SteamVR Overlay Name if there is no window title available" +GUI_GSVRICONENABLE="Custom SteamVR Icon" +DESC_GSVRICONENABLE="Enable using a custom SteamVR Icon" +GUI_GSVRICON="SteamVR Icon" +DESC_GSVRICON="SteamVR Overlay Icon" +GUI_GSVRSHOIMM="Focus SteamVR Overlay" +DESC_GSVRSHOIMM="SteamVR Overlay will become the focused window immediately after opening" +GUI_GSVRCONTROLBAR="SteamVR Control Bar" +DESC_GSVRCONTROLBAR="Enables the SteamVR Control Bar" +GUI_GSVRCONTROLBARKEYBOARD="SteamVR Control Bar Keyboard" +DESC_GSVRCONTROLBARKEYBOARD="Enables the Keyboard button on the SteamVR Control Bar" +GUI_GSVRCONTROLBARCLOSE="SteamVR Close Button" +DESC_GSVRCONTROLBARCLOSE="Enables the Close button on the SteamVR Control Bar" +GUI_GSVRMODAL="SteamVR Modal" +DESC_GSVRMODAL="Show the SteamVR Overlay as a modal" +GUI_GSDEFTOUCHMODE="Default Touch Mode" +DESC_GSDEFTOUCHMODE="Default action on touch (default will ignore flag)" +GUI_GSIMMEDIATEFLIPS="Immediate Flips" +DESC_GSIMMEDIATEFLIPS="Enable immediate flips, equivalent to the Steam Deck's 'Allow Tearing' option" +GUI_GSADAPTIVESYNC="Adaptive Sync / VRR" +DESC_GSADAPTIVESYNC="Enable Adaptive Sync, or 'Variable Refresh Rate', if available, e.g. FreeSync" +GUI_GSPREFOUT="Preferred Outputs" +DESC_GSPREFOUT="Output or outputs for GameScope to use, in order of preference" +GUI_GSDRMMODE="DRM Mode Generation Algorithm" +DESC_GSDRMMODE="DRM Mode Generation Algorithm to use - Ignored if left at default" +GUI_GSSTATSPATHENABLE="Enable custom statistics path" +DESC_GSSTATSPATHENABLE="Allow using a custom path to write out GameScope statistics" +GUI_GSSTATSPATH="Statistics Path" +DESC_GSSTATSPATH="Path to write out GameScope statistics" +GUI_GSHIDECURSORDELAY="Hide Cursor Delay" +DESC_GSHIDECURSORDELAY="Amount of time in milliseconds to wait before hiding the cursor" +GUI_GSFORCECOMP="Force Composition" +DESC_GSFORCECOMP="Disables direct scan-out" +GUI_GSDEBUGHUD="Debug HUD" +DESC_GSDEBUGHUD="Enables a HUD with some GameScope debug information" +GUI_GSFORCEHDRSUPPORT="Force HDR Support" +DESC_GSFORCEHDRSUPPORT="Forces support for HDR and associated opptions even if the current display does not support it" +GUI_GSFORCEHDROUTPUT="Force HDR Enabled" +DESC_GSFORCEHDROUTPUT="Force support and output for HDR10 PQ even if the current display does not support it - This will look very wrong on non-HDR displays" +GUI_GSPREFERVKDEVICE="Prefer Vulkan Device" +DESC_GSPREFERVKDEVICE="Prefer Vulkan device for compositing" \ No newline at end of file diff --git a/lang/polish.txt b/lang/polish.txt index 4e924b3a..8eea0740 100644 --- a/lang/polish.txt +++ b/lang/polish.txt @@ -1034,4 +1034,73 @@ DESC_OTRUSEEXEDIR="Run the command from the same directory as the custom executa GUI_OTRCUSTWORKINGDIR="Working Directory" DESC_OTRCUSTWORKINGDIR="Directory to run the executable from, ignored if executable directory is enabled or if left blank - If unsure, leave blank" GUI_CUSTOMCMD_FORCEWIN="Force Proton with custom command" -DESC_CUSTOMCMD_FORCEWIN="Run this custom command with Proton even if it is not detected as a Windows program" \ No newline at end of file +DESC_CUSTOMCMD_FORCEWIN="Run this custom command with Proton even if it is not detected as a Windows program" +GUI_GSGENERALSET="General options" +GUI_GSFILTERINGSET="Filtering options" +GUI_GSHDRSET="HDR options" +GUI_GSEMBEDDEDSET="Embedded Mode options" +GUI_GSVRSET="VR options" +GUI_GSADVOPTIONS="Advanced options" +GUI_GSHDR="Enable HDR" +DESC_GSHDR="Enable HDR Output (needs GameScope WSI layer enabled for support from clients) -- If a HDR supported display is used, GameScope will use tonemapped SDR" +GUI_GSHDRWGFS="Enable Wide Gammut for SDR" +DESC_GSHDRWGFS="Treat SDR sRGB content as having Rec.2020 primaries - Makes colors more vivid at the cost of correctness" +GUI_GSHDRSCNITS="HDR SDR Nits" +DESC_GSHDRSCNITS="Set the luminance of SDR content in nits - Default is 400" +GUI_GSMSF="Max Scale Factor" +DESC_GSMSF="Maximum Scale Factor (0 is unused)" +GUI_GSFOOR="Force Orientation" +DESC_GSFOOR="Rotate the internal GameScope display" +GUI_GSFWF="Force windows fullscreen" +DESC_GSFWF="Force windows inside of GameScope to be the size of the nested display" +GUI_GSENABLECUSTCUR="Use custom cursor" +GUI_GSCURSOR="Custom cursor image" +DESC_GSCURSOR="Custom cursor image to use in place of regular mouse cursor" +GUI_GSFGC="Force Grab Cursor" +DESC_GSFGC="Lock the mouse cursor inside of the GameScope window" +GUI_GSVR="Enable OpenVR" +DESC_GSVR="Enables the GameScope OpenVR backend and outputs as a VR overlay (requires OpenVR)" +GUI_GSVREXNA="SteamVR Overlay Explicit Name" +DESC_GSVREXNA="Force the SteamVR Overlay to this string" +GUI_GSVRDEFNAM="SteamVR Overlay Default Name" +DESC_GSVRDEFNAM="Fallback SteamVR Overlay Name if there is no window title available" +GUI_GSVRICONENABLE="Custom SteamVR Icon" +DESC_GSVRICONENABLE="Enable using a custom SteamVR Icon" +GUI_GSVRICON="SteamVR Icon" +DESC_GSVRICON="SteamVR Overlay Icon" +GUI_GSVRSHOIMM="Focus SteamVR Overlay" +DESC_GSVRSHOIMM="SteamVR Overlay will become the focused window immediately after opening" +GUI_GSVRCONTROLBAR="SteamVR Control Bar" +DESC_GSVRCONTROLBAR="Enables the SteamVR Control Bar" +GUI_GSVRCONTROLBARKEYBOARD="SteamVR Control Bar Keyboard" +DESC_GSVRCONTROLBARKEYBOARD="Enables the Keyboard button on the SteamVR Control Bar" +GUI_GSVRCONTROLBARCLOSE="SteamVR Close Button" +DESC_GSVRCONTROLBARCLOSE="Enables the Close button on the SteamVR Control Bar" +GUI_GSVRMODAL="SteamVR Modal" +DESC_GSVRMODAL="Show the SteamVR Overlay as a modal" +GUI_GSDEFTOUCHMODE="Default Touch Mode" +DESC_GSDEFTOUCHMODE="Default action on touch (default will ignore flag)" +GUI_GSIMMEDIATEFLIPS="Immediate Flips" +DESC_GSIMMEDIATEFLIPS="Enable immediate flips, equivalent to the Steam Deck's 'Allow Tearing' option" +GUI_GSADAPTIVESYNC="Adaptive Sync / VRR" +DESC_GSADAPTIVESYNC="Enable Adaptive Sync, or 'Variable Refresh Rate', if available, e.g. FreeSync" +GUI_GSPREFOUT="Preferred Outputs" +DESC_GSPREFOUT="Output or outputs for GameScope to use, in order of preference" +GUI_GSDRMMODE="DRM Mode Generation Algorithm" +DESC_GSDRMMODE="DRM Mode Generation Algorithm to use - Ignored if left at default" +GUI_GSSTATSPATHENABLE="Enable custom statistics path" +DESC_GSSTATSPATHENABLE="Allow using a custom path to write out GameScope statistics" +GUI_GSSTATSPATH="Statistics Path" +DESC_GSSTATSPATH="Path to write out GameScope statistics" +GUI_GSHIDECURSORDELAY="Hide Cursor Delay" +DESC_GSHIDECURSORDELAY="Amount of time in milliseconds to wait before hiding the cursor" +GUI_GSFORCECOMP="Force Composition" +DESC_GSFORCECOMP="Disables direct scan-out" +GUI_GSDEBUGHUD="Debug HUD" +DESC_GSDEBUGHUD="Enables a HUD with some GameScope debug information" +GUI_GSFORCEHDRSUPPORT="Force HDR Support" +DESC_GSFORCEHDRSUPPORT="Forces support for HDR and associated opptions even if the current display does not support it" +GUI_GSFORCEHDROUTPUT="Force HDR Enabled" +DESC_GSFORCEHDROUTPUT="Force support and output for HDR10 PQ even if the current display does not support it - This will look very wrong on non-HDR displays" +GUI_GSPREFERVKDEVICE="Prefer Vulkan Device" +DESC_GSPREFERVKDEVICE="Prefer Vulkan device for compositing" \ No newline at end of file diff --git a/lang/russian.txt b/lang/russian.txt index 263bd46b..257885d6 100644 --- a/lang/russian.txt +++ b/lang/russian.txt @@ -1034,4 +1034,73 @@ DESC_OTRUSEEXEDIR="Run the command from the same directory as the custom executa GUI_OTRCUSTWORKINGDIR="Working Directory" DESC_OTRCUSTWORKINGDIR="Directory to run the executable from, ignored if executable directory is enabled or if left blank - If unsure, leave blank" GUI_CUSTOMCMD_FORCEWIN="Force Proton with custom command" -DESC_CUSTOMCMD_FORCEWIN="Run this custom command with Proton even if it is not detected as a Windows program" \ No newline at end of file +DESC_CUSTOMCMD_FORCEWIN="Run this custom command with Proton even if it is not detected as a Windows program" +GUI_GSGENERALSET="General options" +GUI_GSFILTERINGSET="Filtering options" +GUI_GSHDRSET="HDR options" +GUI_GSEMBEDDEDSET="Embedded Mode options" +GUI_GSVRSET="VR options" +GUI_GSADVOPTIONS="Advanced options" +GUI_GSHDR="Enable HDR" +DESC_GSHDR="Enable HDR Output (needs GameScope WSI layer enabled for support from clients) -- If a HDR supported display is used, GameScope will use tonemapped SDR" +GUI_GSHDRWGFS="Enable Wide Gammut for SDR" +DESC_GSHDRWGFS="Treat SDR sRGB content as having Rec.2020 primaries - Makes colors more vivid at the cost of correctness" +GUI_GSHDRSCNITS="HDR SDR Nits" +DESC_GSHDRSCNITS="Set the luminance of SDR content in nits - Default is 400" +GUI_GSMSF="Max Scale Factor" +DESC_GSMSF="Maximum Scale Factor (0 is unused)" +GUI_GSFOOR="Force Orientation" +DESC_GSFOOR="Rotate the internal GameScope display" +GUI_GSFWF="Force windows fullscreen" +DESC_GSFWF="Force windows inside of GameScope to be the size of the nested display" +GUI_GSENABLECUSTCUR="Use custom cursor" +GUI_GSCURSOR="Custom cursor image" +DESC_GSCURSOR="Custom cursor image to use in place of regular mouse cursor" +GUI_GSFGC="Force Grab Cursor" +DESC_GSFGC="Lock the mouse cursor inside of the GameScope window" +GUI_GSVR="Enable OpenVR" +DESC_GSVR="Enables the GameScope OpenVR backend and outputs as a VR overlay (requires OpenVR)" +GUI_GSVREXNA="SteamVR Overlay Explicit Name" +DESC_GSVREXNA="Force the SteamVR Overlay to this string" +GUI_GSVRDEFNAM="SteamVR Overlay Default Name" +DESC_GSVRDEFNAM="Fallback SteamVR Overlay Name if there is no window title available" +GUI_GSVRICONENABLE="Custom SteamVR Icon" +DESC_GSVRICONENABLE="Enable using a custom SteamVR Icon" +GUI_GSVRICON="SteamVR Icon" +DESC_GSVRICON="SteamVR Overlay Icon" +GUI_GSVRSHOIMM="Focus SteamVR Overlay" +DESC_GSVRSHOIMM="SteamVR Overlay will become the focused window immediately after opening" +GUI_GSVRCONTROLBAR="SteamVR Control Bar" +DESC_GSVRCONTROLBAR="Enables the SteamVR Control Bar" +GUI_GSVRCONTROLBARKEYBOARD="SteamVR Control Bar Keyboard" +DESC_GSVRCONTROLBARKEYBOARD="Enables the Keyboard button on the SteamVR Control Bar" +GUI_GSVRCONTROLBARCLOSE="SteamVR Close Button" +DESC_GSVRCONTROLBARCLOSE="Enables the Close button on the SteamVR Control Bar" +GUI_GSVRMODAL="SteamVR Modal" +DESC_GSVRMODAL="Show the SteamVR Overlay as a modal" +GUI_GSDEFTOUCHMODE="Default Touch Mode" +DESC_GSDEFTOUCHMODE="Default action on touch (default will ignore flag)" +GUI_GSIMMEDIATEFLIPS="Immediate Flips" +DESC_GSIMMEDIATEFLIPS="Enable immediate flips, equivalent to the Steam Deck's 'Allow Tearing' option" +GUI_GSADAPTIVESYNC="Adaptive Sync / VRR" +DESC_GSADAPTIVESYNC="Enable Adaptive Sync, or 'Variable Refresh Rate', if available, e.g. FreeSync" +GUI_GSPREFOUT="Preferred Outputs" +DESC_GSPREFOUT="Output or outputs for GameScope to use, in order of preference" +GUI_GSDRMMODE="DRM Mode Generation Algorithm" +DESC_GSDRMMODE="DRM Mode Generation Algorithm to use - Ignored if left at default" +GUI_GSSTATSPATHENABLE="Enable custom statistics path" +DESC_GSSTATSPATHENABLE="Allow using a custom path to write out GameScope statistics" +GUI_GSSTATSPATH="Statistics Path" +DESC_GSSTATSPATH="Path to write out GameScope statistics" +GUI_GSHIDECURSORDELAY="Hide Cursor Delay" +DESC_GSHIDECURSORDELAY="Amount of time in milliseconds to wait before hiding the cursor" +GUI_GSFORCECOMP="Force Composition" +DESC_GSFORCECOMP="Disables direct scan-out" +GUI_GSDEBUGHUD="Debug HUD" +DESC_GSDEBUGHUD="Enables a HUD with some GameScope debug information" +GUI_GSFORCEHDRSUPPORT="Force HDR Support" +DESC_GSFORCEHDRSUPPORT="Forces support for HDR and associated opptions even if the current display does not support it" +GUI_GSFORCEHDROUTPUT="Force HDR Enabled" +DESC_GSFORCEHDROUTPUT="Force support and output for HDR10 PQ even if the current display does not support it - This will look very wrong on non-HDR displays" +GUI_GSPREFERVKDEVICE="Prefer Vulkan Device" +DESC_GSPREFERVKDEVICE="Prefer Vulkan device for compositing" \ No newline at end of file diff --git a/steamtinkerlaunch b/steamtinkerlaunch index ac94d324..06a8794b 100755 --- a/steamtinkerlaunch +++ b/steamtinkerlaunch @@ -6,7 +6,7 @@ PREFIX="/usr" PROGNAME="SteamTinkerLaunch" NICEPROGNAME="Steam Tinker Launch" -PROGVERS="v12.12.20230108-1" +PROGVERS="v12.12.20230118-3" PROGCMD="${0##*/}" SHOSTL="stl" GHURL="https://github.com" @@ -5056,7 +5056,7 @@ function AllSettingsEntriesDummyFunction { --field=" $GUI_LDPMAHU!$DESC_LDPMAHU ('LDPMAHU')":CHK "${LDPMAHU/#-/ -}" `#CAT_Tools` `#SUB_Checkbox` `#MENU_GAME` \ --field=" $GUI_USEMANGOHUDSTLCFG!$DESC_USEMANGOHUDSTLCFG ('USEMANGOHUDSTLCFG')":CHK "${USEMANGOHUDSTLCFG/#-/ -}" `#CAT_Tools` `#SUB_Checkbox` `#MENU_GAME` \ --field=" $GUI_USEGAMESCOPE!$DESC_USEGAMESCOPE ('USEGAMESCOPE')":CHK "${USEGAMESCOPE/#-/ -}" `#CAT_Tools` `#SUB_Checkbox` `#MENU_GAME` \ ---field=" $GUI_GAMESCOPE_ARGS!$DESC_GAMESCOPE_ARGS ('GAMESCOPE_ARGS')":CBE "${GAMESCOPE_ARGS/#-/ -}!--" `#CAT_Tools` `#MENU_GAME` \ +--field=" $GUI_GAMESCOPE_ARGS!$DESC_GAMESCOPE_ARGS ('GAMESCOPE_ARGS')" "${GAMESCOPE_ARGS/#-/ -}" `#CAT_Tools` `#MENU_GAME` \ --field=" $GUI_USEOBSCAP!$DESC_USEOBSCAP ('USEOBSCAP')":CHK "${USEOBSCAP/#-/ -}" `#CAT_Tools` `#SUB_Checkbox` `#MENU_GAME` \ --field=" $GUI_USEZINK!$DESC_USEZINK ('USEZINK')":CHK "${USEZINK/#-/ -}" `#CAT_Tools` `#SUB_Checkbox` `#MENU_GAME` \ --field=" $GUI_USEPRIMERUN!$DESC_USEPRIMERUN ('USEPRIMERUN')":CHK "${USEPRIMERUN/#-/ -}" `#CAT_Tools` `#SUB_Checkbox` `#MENU_GAME` \ @@ -9447,7 +9447,20 @@ function checkXliveless { fi } +# NOTE: Logic for some options here could potentially be improved in future to avoid duplication function GameScopeGui { + + # Gets the path passed to a flag e.g. '--cursor /home/gaben/half life 3/cursor.png' + # The other args use `tr ' ' '\n'`, but we can't use this when it comes to flags because a space in the path can cause issues + function getGameScopePathArg { + ARGS="$1" # e.g. "$GAMESCOPE_ARGS" + FLAG="$2" # e.g. "--cursor" + + ESC_FLAG="${FLAG/--/\\-\\-}" + + echo "$ARGS" | sed 's:--:\n--:g' | grep -A1 "$ESC_FLAG" | head -n1 | sed "s:${FLAG}::g" | xargs + } + if [ -n "$1" ]; then AID="$1" setAIDCfgs @@ -9464,23 +9477,40 @@ function GameScopeGui { pollWinRes "$TITLE" setShowPic UL="unlimited" + + FSRS_STR="\-\-fsr\-sharpness" + + GSNORM="normal" + GSFOOROPTS="left!right!${GSNORM}!upsidedown" + + GSDEF="default" + GSHOVER="hover:0" + GSLEFTCLICK="leftclick:1" + GSRIGHTCLICK="rightclick:2" + GSMIDDLECLICK="middleclick:3" + GSPASSTHRU="passthrough:4" + GSTOUCHMODES="${GSDEF}!${GSHOVER}!${GSLEFTCLICK}!${GSRIGHTCLICK}!${GSMIDDLECLICK}!${GSPASSTHRU}" # Corresponds to 0,1,2,3,4 respectively internally by GameScope -- Default is ingored and the flag is not passed to GameScope + GSDRMMODES="${GSDEF}!cvt!fixed" + + # GameScope Show Resolution (corresponds to -W, -H options, uppercase) -- Actual GameScope window size -- Dropdown if [ -z "$GSSHWRES" ]; then - if ! grep -q "\-w" <<< "$GAMESCOPE_ARGS" || ! grep -q "\-h" <<< "$GAMESCOPE_ARGS"; then + if ! grep -qw "\-w" <<< "$GAMESCOPE_ARGS" || ! grep -qw "\-h" <<< "$GAMESCOPE_ARGS"; then GSSHWRES="1280x720" else - GSSHWRES="$(tr ' ' '\n' <<< "$GAMESCOPE_ARGS" | grep -A1 "\-W" | tail -n1)x$(tr ' ' '\n' <<< "$GAMESCOPE_ARGS" | grep -A1 "\-H" | tail -n1)" + GSSHWRES="$(tr ' ' '\n' <<< "$GAMESCOPE_ARGS" | grep -wA1 "\-W" | tail -n1)x$(tr ' ' '\n' <<< "$GAMESCOPE_ARGS" | grep -wA1 "\-H" | tail -n1)" fi fi + # GameScope Internal Resolution (corresponds to -w, -h options, lowercase) -- Resolution that games see -- Dropdown if [ -z "$GSINTRES" ]; then - if ! grep -q "\-w" <<< "$GAMESCOPE_ARGS" || ! grep -q "\-h" <<< "$GAMESCOPE_ARGS"; then + if ! grep -qw "\-w" <<< "$GAMESCOPE_ARGS" || ! grep -qw "\-h" <<< "$GAMESCOPE_ARGS"; then GSINTRES="1280x720" else - GSINTRES="$(tr ' ' '\n' <<< "$GAMESCOPE_ARGS" | grep -A1 "\-w" | tail -n1)x$(tr ' ' '\n' <<< "$GAMESCOPE_ARGS" | grep -A1 "\-h" | tail -n1)" + GSINTRES="$(tr ' ' '\n' <<< "$GAMESCOPE_ARGS" | grep -wA1 "\-w" | tail -n1)x$(tr ' ' '\n' <<< "$GAMESCOPE_ARGS" | grep -wA1 "\-h" | tail -n1)" fi fi - + if [ -z "$GSINTRES" ]; then GSINTRES="$NON" fi @@ -9489,102 +9519,458 @@ function GameScopeGui { GSSHWRES="$NON" fi + # Focused Frame Rate Limit -- Dropdown if [ -z "$GSFLR" ]; then - if ! grep -q "\-r" <<< "$GAMESCOPE_ARGS"; then + if ! grep -qw "\-r" <<< "$GAMESCOPE_ARGS"; then GSFLR="$UL" else GSFLR="$(tr ' ' '\n' <<< "$GAMESCOPE_ARGS" | grep -A1 "\-r" | tail -n1)" fi fi + # Unfocused Frame Rate Limit -- Dropdown if [ -z "$GSFLU" ]; then - if ! grep -q "\-o" <<< "$GAMESCOPE_ARGS"; then + if ! grep -qw "\-o" <<< "$GAMESCOPE_ARGS"; then GSFLU="$UL" else GSFLU="$(tr ' ' '\n' <<< "$GAMESCOPE_ARGS" | grep -A1 "\-o" | tail -n1)" fi fi + # AMD FidelityFX 1.0 / NVIDIA Image Sharpening upscaler value -- Spinner if [ -z "$GSFSRS" ]; then - if ! grep -q "\-\-fsr\-sharpness" <<< "$GAMESCOPE_ARGS"; then + if ! grep -qw "$FSRS_STR" <<< "$GAMESCOPE_ARGS"; then GSFSRS="2" else - GSFSRS="$(tr ' ' '\n' <<< "$GAMESCOPE_ARGS" | grep -A1 "\-\-fsr\-sharpness" | tail -n1)" + GSFSRS="$(tr ' ' '\n' <<< "$GAMESCOPE_ARGS" | grep -A1 "$FSRS_STR" | tail -n1)" fi fi + # Integer scaling (-i) -- Checkbox if [ -z "$GSIS" ]; then - if grep -q "\-i" <<< "$GAMESCOPE_ARGS"; then + if grep -qw "\-i" <<< "$GAMESCOPE_ARGS"; then GSIS="1" else GSIS="0" fi fi + # Nearest Neighbor (-n) -- Checkbox if [ -z "$GSNN" ]; then - if grep -q "\-n" <<< "$GAMESCOPE_ARGS"; then + if grep -qw "\-n" <<< "$GAMESCOPE_ARGS"; then GSNN="1" else GSNN="0" fi fi + # Fullscreen (-f) -- Checkbox if [ -z "$GSFS" ]; then - if grep -q "\-f" <<< "$GAMESCOPE_ARGS"; then + if grep -qw "\-f" <<< "$GAMESCOPE_ARGS"; then GSFS="1" else GSFS="0" fi fi + # Borderless Window (-b) -- Checkbox if [ -z "$GSBW" ]; then - if grep -q "\-b" <<< "$GAMESCOPE_ARGS"; then + if grep -qw "\-b" <<< "$GAMESCOPE_ARGS"; then GSBW="1" else GSBW="0" fi fi + # FidelityFX 1.0 enabled (-U) -- Checkbox if [ -z "$GSFSR" ]; then - if grep -q "\-U" <<< "$GAMESCOPE_ARGS"; then + if grep -qw "\-U" <<< "$GAMESCOPE_ARGS"; then GSFSR="1" else GSFSR="0" fi fi + # NVIDIA Image Scaling v1.0.3 (-Y) -- Checkbox if [ -z "$GSNIS" ]; then - if grep -q "\-Y" <<< "$GAMESCOPE_ARGS"; then + if grep -qw "\-Y" <<< "$GAMESCOPE_ARGS"; then GSNIS="1" else GSNIS="0" fi fi + # Steam Integration (-e) -- Can fix some strange bugs with some peripherals -- Checkbox if [ -z "$GSSE" ]; then - if grep -q "\-e" <<< "$GAMESCOPE_ARGS"; then + if grep -qw "\-e" <<< "$GAMESCOPE_ARGS"; then GSSE="1" else GSSE="0" fi fi - GASCOS="$("$YAD" --f1-action="$F1ACTION" --image "$SHOWPIC" --image-on-top --window-icon="$STLICON" --form --center --on-top $WINDECO \ + # HDR (--hdr-enabled) -- Checkbox + if [ -z "$GSHDR" ]; then + if grep -qw "\-\-hdr\-enabled" <<< "$GAMESCOPE_ARGS"; then + GSHDR="1" + else + GSHDR="0" + fi + fi + + # HDR Wide Gammut for SDR (--hdr-wide-gammut-for-sdr) - Checkbox + if [ -z "$GSHDRWGFS" ]; then + if grep -qw "\-\-hdr\-wide-gammut-for-sdr" <<< "$GAMESCOPE_ARGS"; then + GSHDRWGFS="1" + else + GSHDRWGFS="0" + fi + fi + + # HDR SDR Content Nits (--hdr-sdr-content-nits) -- Defaults to 400 -- Numberbox + if [ -z "$GSHDRSCNITS" ]; then + if ! grep -qw "\-\-hdr\-sdr\-content\-nits" <<< "$GAMESCOPE_ARGS"; then + GSHDRSCNITS="400" # 400 nits is the default value according to `gamescope --help` + else + GSHDRSCNITS="$(tr ' ' '\n' <<< "$GAMESCOPE_ARGS" | grep -A1 "\-\-hdr\-sdr\-content\-nits" | tail -n1)" + fi + fi + + # Max Scale Factor -- No idea how this option actually works, the documentation is a bit sparce but Steam Deck seems to default it to 2 (https://github.com/Plagman/gamescope/issues/588#issue-1338038588) + # Numberbox + if [ -z "$GSMSF" ]; then + if ! grep -qw "\-U" <<< "$GAMESCOPE_ARGS"; then + GSMSF="0" + else + GSMSF="$(tr ' ' '\n' <<< "$GAMESCOPE_ARGS" | grep -A1 "\-m" | tail -n1)" + fi + fi + + # Orientation (--force-orientation) -- Can be either 'left', 'right', 'normal', 'upsidedown' -- Dropdown + # Defaults to 'normal' ('GSNORM') + if [ -z "$GSFOOR" ]; then + if ! grep -qw "\-\-force\-orientation" <<< "$GAMESCOPE_ARGS"; then + GSFOOR="$GSNORM" # Default + else + GSFOOR="$(tr ' ' '\n' <<< "$GAMESCOPE_ARGS" | grep -A1 "\-\-force\-orientation" | tail -n1)" + fi + fi + + # Force windows to be fullscreen inside the nested dislay (--force-windows-fullscreen) -- Checkbox + if [ -z "$GSFWF" ]; then + if grep -qw "\-\-force\-windows\-fullscreen" <<< "$GAMESCOPE_ARGS"; then + GSFWF="1" + else + GSFWF="0" + fi + fi + + # Custom cursor image (--cursor) -- File picker + if [ -z "$GSCURSOR" ]; then + if ! grep -qw "\-\-cursor" <<< "$GAMESCOPE_ARGS"; then + GSCURSOR="" + GSENABLECUSTCUR="0" + else + GSCURSOR="$( getGameScopePathArg "$GAMESCOPE_ARGS" "--cursor" )" + GSENABLECUSTCUR="1" + fi + fi + + # Force grab cursor + if [ -z "$GSFGC" ]; then + if ! grep -qw "\-\-force\-grab\-cursor"; then + GSFGC="0" + else + GSFGC="1" + fi + fi + + # Enable OpenVR (--openvr) -- Checkbox + if [ -z "$GSVR" ]; then + if ! grep -qw "\-\-openvr" <<< "$GAMESCOPE_ARGS"; then + GSVR="0" + else + GSVR="1" + fi + fi + + # SteamVR Explicit Name (--vr-overlay-explicit-name) -- Textbox + if [ -z "$GSVREXNA" ]; then + if ! grep -qw "\-\-vr\-overlay\-explicit\-name" <<< "$GAMESCOPE_ARGS"; then + GSVREXNA="" + else + GSVREXNA="$( getGameScopePathArg "$GAMESCOPE_ARGS" "--vr-overlay-default-name" )" + fi + fi + + # SteamVR Default Name when no window title available (--vr-overlay-default-name) -- Textbox + if [ -z "$GSVRDEFNAM" ]; then + if ! grep -qw "\-\-vr\-overlay\-default\-name" <<< "$GAMESCOPE_ARGS"; then + GSVRDEFNAM="" + else + GSVRDEFNAM="$( getGameScopePathArg "$GAMESCOPE_ARGS" "--vr-overlay-default-name" )" + fi + fi + + # SteamVR Overlay Icon (--vr-overlay-icon) -- Similar to cursor picker -- File picker + if [ -z "$GSVRICON" ]; then + if ! grep -qw "\-\-vr\-overlay\-icon" <<< "$GAMESCOPE_ARGS"; then + GSVRICON="" + GSVRICONENABLE="0" + else + GSVRICON="$( getGameScopePathArg "$GAMESCOPE_ARGS" "--vr-overlay-icon" )" + GSVRICONENABLE="1" + fi + fi + + # Focus VR overlay immediately (--vr-overlay-show-immediately) -- Checkbox + if [ -z "$GSVRSHOIMM" ]; then + if ! grep -qw "\-\-vr\-overlay\-show\-immediately" <<< "$GAMESCOPE_ARGS"; then + GSVRSHOIMM="0" + else + GSVRSHOIMM="1" + fi + fi + + # Enable SteamVR Control Bar (--vr-overlay-enable-control-bar) -- Checkbox + if [ -z "$GSVRCONTROLBAR" ]; then + if ! grep -qw "\-\-vr\-overlay\-enable\-control\-bar" <<< "$GAMESCOPE_ARGS"; then + GSVRCONTROLBAR="0" + else + GSVRCONTROLBAR="1" + fi + fi + + # Enable SteamVR Keyboard Button on Control Bar (--vr-overlay-enable-control-bar-keyboard) -- Checkbox + if [ -z "$GSVRCONTROLBARKEYBOARD" ]; then + if ! grep -qw "\-\-vr\-overlay\-enable\-control\-bar\-keyboard" <<< "$GAMESCOPE_ARGS"; then + GSVRCONTROLBARKEYBOARD="0" + else + GSVRCONTROLBARKEYBOARD="1" + fi + fi + + # Enable SteamVR Close Button on Control Bar (--vr-overlay-enable-control-bar-close) -- Checkbox + if [ -z "$GSVRCONTROLBARCLOSE" ]; then + if ! grep -qw "\-\-vr\-overlay\-enable\-control\-bar\-close" <<< "$GAMESCOPE_ARGS"; then + GSVRCONTROLBARCLOSE="0" + else + GSVRCONTROLBARCLOSE="1" + fi + fi + + # Show SteamVR Overlay as Modal (--vr-overlay-modal) -- Checkbox + if [ -z "$GSVRMODAL" ]; then + if ! grep -qw "\-\-vr\-overlay\-modal" <<< "$GAMESCOPE_ARGS"; then + GSVRMODAL="0" + else + GSVRMODAL="1" + fi + fi + + # NOTE: There are some other GameScope VR options: + # - --vr-overlay-physical-width + # - --vr-overlay-physical-curvature + # - --vr-overlay-physical-pre-curve-pitch + # + # These options are probably very bespoke and not important to the average user + # Especially the physcial width option which takes a value in metres! + # Usage on these options is also a bit unclear, probably documented in the GameScope source but not sure + # We could add these in future if it is requested + + # Default action on touch (--default-touch-mode) + # 0: hover + # 1: leftclick + # 2: rightclick + # 3: middleclick + # 4: passthrough + # More information in the GameScope commit that added it: https://github.com/Plagman/gamescope/commit/39c9e93e0c0539d4c767e1be1c96e0d38778af12 + # + # Dropdown + if [ -z "$GSDEFTOUCHMODE" ]; then + if ! grep -qw "\-\-default\-touch\-mode" <<< "$GAMESCOPE_ARGS"; then + GSDEFTOUCHMODE="${GSDEF}" + else + # Only the number is passed to the GameScope option, so we match the number to the dropdown value + # There is probably a way to improve this, but it works for now + GSDEFTOUCHMODE="$(tr ' ' '\n' <<< "$GAMESCOPE_ARGS" | grep -A1 "\-\-default\-touch\-mode" | tail -n1)" + case $GSDEFTOUCHMODE in + 0) + GSDEFTOUCHMODE="${GSHOVER}" + ;; + 1) + GSDEFTOUCHMODE="${GSLEFTCLICK}" + ;; + 2) + GSDEFTOUCHMODE="${GSRIGHTCLICK}" + ;; + 3) + GSDEFTOUCHMODE="${GSMIDDLECLICK}" + ;; + 4) + GSDEFTOUCHMODE="${GSPASSTHRU}" + ;; + esac + fi + fi + + # Enable Immediate Flips (--immediate-flips) -- Probably equivalent to the Steam Deck's "allow tearing" option -- Checkbox + if [ -z "$GSIMMEDIATEFLIPS" ]; then + if ! grep -qw "\-\-immediate\-flips" <<< "$GAMESCOPE_ARGS"; then + GSIMMEDIATEFLIPS="0" + else + GSIMMEDIATEFLIPS="1" + fi + fi + + # Enable Adaptive Sync / VRR (--adaptive-sync) -- Checkbox + if [ -z "$GSADAPTIVESYNC" ]; then + if ! grep -qw "\-\-adaptive\-sync" <<< "$GAMESCOPE_ARGS"; then + GSADAPTIVESYNC="0" + else + GSADAPTIVESYNC="1" + fi + fi + + # Preferred GameScope Output in order of preference -- Not sure how exactly this should be passed and it can take N number of outputs + # For this reason we just give the user a textbox and let them enter their displays manually + if [ -z "$GSPREFOUT" ]; then + if ! grep -qw "\-O" <<< "$GAMESCOPE_ARGS"; then + GSPREFOUT="" + else + GSPREFOUT="$(tr ' ' '\n' <<< "$GAMESCOPE_ARGS" | grep -A1 "\-O" | tail -n1)" + fi + fi + + # GameScope DRM Mode Generation algorithm to use -- GameScope takes either "cvt" or "fixed", but we will have a "default" option in the dropdown which means we will ignore the flag altogether + if [ -z "$GSDRMMODE" ]; then + if ! grep -qw "\-\-generate\-drm\-mode" <<< "$GAMESCOPE_ARGS"; then + GSDRMMODE="${GSDEF}" + else + GSDRMMODE="$(tr ' ' '\n' <<< "$GAMESCOPE_ARGS" | grep -A1 "\-\-generate\-drm\-mode" | tail -n1)" + fi + fi + + # Path to write GameScope statistics to (--stats-path) -- File picker + # '-T' option is also availsble, but we have to use '--stats-path' because of how 'getGameScopePathArg' works + if [ -z "$GSSTATSPATH" ]; then + if ! grep -qw "\-\-stats\-path" <<< "$GAMESCOPE_ARGS"; then + GSSTATSPATH="" + GSSTATSPATHENABLE="0" + else + GSSTATSPATH="$( getGameScopePathArg "$GAMESCOPE_ARGS" "--stats-path" )" + GSSTATSPATHENABLE="1" + fi + fi + + # Amount of time in milliseconds to wait before hiding the cursor (-C) -- Spinner + if [ -z "$GSHIDECURSORDELAY" ]; then + if ! grep -qw "\-C" <<< "$GAMESCOPE_ARGS"; then + GSHIDECURSORDELAY="0" # 0 means we ignore it + else + GSHIDECURSORDELAY="$(tr ' ' '\n' <<< "$GAMESCOPE_ARGS" | grep -A1 "\-C" | tail -n1)" + fi + fi + + # Disables direct scan-out (--force-composition) -- Checkbox + if [ -z "$GSFORCECOMP" ]; then + if ! grep -qw "\-\-force\-composition" <<< "$GAMESCOPE_ARGS"; then + GSFORCECOMP="0" + else + GSFORCECOMP="1" + fi + fi + + # Draw debug hud (--debug-hud) -- Checkbox + if [ -z "$GSDEBUGHUD" ]; then + if ! grep -qw "\-\-debug\-hud" <<< "$GAMESCOPE_ARGS"; then + GSDEBUGHUD="0" + else + GSDEBUGHUD="1" + fi + fi + + # Force HDR support flag (--hdr-debug-force-support) -- Checkbox + if [ -z "$GSFORCEHDRSUPPORT" ]; then + if ! grep -qw "\-\-hdr\-debug\-force-support" <<< "$GAMESCOPE_ARGS"; then + GSFORCEHDRSUPPORT="0" + else + GSFORCEHDRSUPPORT="1" + fi + fi + + # Force HDR output on display (--hdr-debug-force-output) -- Will look terrible if unsupported -- Checkbox + if [ -z "$GSFORCEHDROUTPUT" ]; then + if ! grep -qw "\-\-hdr\-debug\-force-output" <<< "$GAMESCOPE_ARGS"; then + GSFORCEHDROUTPUT="0" + else + GSFORCEHDROUTPUT="1" + fi + fi + + # Prefer Vulkan device for compositing (--prefer-vk-device) -- Checkbox + if [ -z "$GSPREFERVKDEVICE" ]; then + if ! grep -qw "\-\-prefer\-vk\-device" <<< "$GAMESCOPE_ARGS"; then + GSPREFERVKDEVICE="0" + else + GSPREFERVKDEVICE="1" + fi + fi + + GASCOS="$("$YAD" --f1-action="$F1ACTION" --image "$SHOWPIC" --image-on-top --scroll --window-icon="$STLICON" --form --center --on-top $WINDECO \ --title="$TITLE" --separator="|" \ --text="$(spanFont "$(strFix "$GUI_GASCOSET" "$SGNAID")" "H")" \ + --field="$(spanFont "$GUI_GSGENERALSET" "H")":LBL "SKIP" \ --field="$GUI_GSINTRES!$DESC_GSINTRES ('GSINTRES')":CBE "$(cleanDropDown "${GSINTRES//\"}" "$(printf "%s\n" "$("$XRANDR" --current | grep "[0-9]x" | awk '{print $1}' | grep "^[0-9]" | tr '\n' '!')")")" \ --field="$GUI_GSSHWRES!$DESC_GSSHWRES ('GSSHWRES')":CBE "$(cleanDropDown "${GSSHWRES//\"}" "$(printf "%s\n" "$("$XRANDR" --current | grep "[0-9]x" | awk '{print $1}' | grep "^[0-9]" | tr '\n' '!')")")" \ --field="$GUI_GSFLR!$DESC_GSFLR ('GSFLR')":CBE "$(cleanDropDown "${GSFLR//\"}" "30!60!90!120!$UL")" \ --field="$GUI_GSFLU!$DESC_GSFLU ('GSFLU')":CBE "$(cleanDropDown "${GSFLU//\"}" "30!60!90!120!$UL")" \ + --field="$GUI_USEGAMESCOPE!$DESC_USEGAMESCOPE ('USEGAMESCOPE')":CHK "${USEGAMESCOPE/#-/ -}" \ + --field="$GUI_GSFS!$DESC_GSFS ('GSFS')":CHK "$GSFS" \ + --field="$GUI_GSBW!$DESC_GSBW ('GSBW')":CHK "$GSBW" \ + --field="$GUI_GSSE!$DESC_GSSE ('GSSE')":CHK "$GSSE" \ + --field="$GUI_GSFWF!$DESC_GSFWF ('GSFWF')":CHK "$GSFWF" \ + --field="$GUI_GSFGC!$DESC_GSFGC ('GSFGC')":CHK "$GSFGC" \ + --field="$GUI_GSFOOR!$DESC_GSFOOR ('GSFOOR')":CB "$(cleanDropDown "${GSFOOR}" "${GSFOOROPTS}")" \ + --field="$GUI_GSENABLECUSTCUR!$GUI_GSENABLECUSTCUR ('GSENABLECUSTCUR')":CHK "$GSENABLECUSTCUR" \ + --field="$GUI_GSCURSOR!$DESC_GSCURSOR ('GSCURSOR')":FL "${GSCURSOR/#-/ -}" \ + --field="$(spanFont "$GUI_GSFILTERINGSET" "H")":LBL "SKIP" \ --field="$GUI_GSFSRS!$DESC_GSFSRS ('GSFSRS')":NUM "${GSFSRS/#-/ -}:!0..20" \ --field="$GUI_GSIS!$DESC_GSIS ('GSIS')":CHK "$GSIS" \ --field="$GUI_GSNN!$DESC_GSNN ('GSNN')":CHK "$GSNN" \ - --field="$GUI_GSFS!$DESC_GSFS ('GSFS')":CHK "$GSFS" \ - --field="$GUI_GSBW!$DESC_GSBW ('GSBW')":CHK "$GSBW" \ --field="$GUI_GSFSR!$DESC_GSFSR ('GSFSR')":CHK "$GSFSR" \ --field="$GUI_GSNIS!$DESC_GSNIS ('GSNIS')":CHK "$GSNIS" \ - --field="$GUI_GSSE!$DESC_GSSE ('GSSE')":CHK "$GSSE" \ - --field="$GUI_USEGAMESCOPE!$DESC_USEGAMESCOPE ('USEGAMESCOPE')":CHK "${USEGAMESCOPE/#-/ -}" \ + --field="$GUI_GSMSF!$DESC_GSMSF ('GSMSF')":NUM "$GSMSF" \ + --field="$(spanFont "$GUI_GSHDRSET" "H")":LBL "SKIP" \ + --field="$GUI_GSHDR!$DESC_GSHDR ('GSHDR')":CHK "$GSHDR" \ + --field="$GUI_GSHDRWGFS!$DESC_GSHDRWGFS ('GSHDRWGFS')":CHK "$GSHDRWGFS" \ + --field="$GUI_GSHDRSCNITS!$DESC_GSHDRSCNITS ('GSHDRSCNITS')":NUM "${GSHDRSCNITS/#-/ -}" \ + --field="$(spanFont "$GUI_GSVRSET" "H")":LBL "SKIP" \ + --field="$GUI_GSVR!$DESC_GSVR ('GSVR')":CHK "$GSVR" \ + --field="$GUI_GSVREXNA!$DESC_GSVREXNA ('GSVREXNA')" "$GSVREXNA" \ + --field="$GUI_GSVRDEFNAM!$DESC_GSVRDEFNAM ('GSVRDEFNAM')" "$GSVRDEFNAM" \ + --field="$GUI_GSVRICONENABLE!$DESC_GSVRICONENABLE ('GSVRICONENABLE')":CHK "$GSVRICONENABLE" \ + --field="$GUI_GSVRICON!$DESC_GSVRICON ('GSVRICON')":FL "${GSVRICON//\"}" \ + --field="$GUI_GSVRSHOIMM!$DESC_GSVRSHOIMM ('GSVRSHOIMM')":CHK "$GSVRSHOIMM" \ + --field="$GUI_GSVRCONTROLBAR!$DESC_GSVRCONTROLBAR ('GSVRCONTROLBAR')":CHK "$GSVRCONTROLBAR" \ + --field="$GUI_GSVRCONTROLBARKEYBOARD!$DESC_GSVRCONTROLBARKEYBOARD ('GSVRCONTROLBARKEYBOARD')":CHK "$GSVRCONTROLBARKEYBOARD" \ + --field="$GUI_GSVRCONTROLBARCLOSE!$DESC_GSVRCONTROLBARCLOSE ('GSVRCONTROLBARCLOSE')":CHK "$GSVRCONTROLBARCLOSE" \ + --field="$GUI_GSVRMODAL!$DESC_GSVRMODAL ('GSVRMODAL')":CHK "$GSVRMODAL" \ + --field="$(spanFont "$GUI_GSEMBEDDEDSET" "H")":LBL "SKIP" \ + --field="$GUI_GSDEFTOUCHMODE!$DESC_GSDEFTOUCHMODE ('GSDEFTOUCHMODE')":CB "$(cleanDropDown "${GSDEFTOUCHMODE}" "${GSTOUCHMODES}")" \ + --field="$GUI_GSIMMEDIATEFLIPS!$DESC_GSIMMEDIATEFLIPS ('GSIMMEDIATEFLIPS')":CHK "$GSIMMEDIATEFLIPS" \ + --field="$GUI_GSADAPTIVESYNC!$DESC_GSADAPTIVESYNC ('GSADAPTIVESYNC')":CHK "$GSADAPTIVESYNC" \ + --field="$GUI_GSPREFOUT!$DESC_GSPREFOUT ('GSPREFOUT')" "" \ + --field="$GUI_GSDRMMODE!$DESC_GSDRMMODE ('GSDRMMODE')":CB "$(cleanDropDown "${GSDRMMODE}" "${GSDRMMODES}")" \ + --field="$(spanFont "$GUI_GSADVOPTIONS" "H")":LBL "SKIP" \ + --field="$GUI_GSSTATSPATHENABLE!$DESC_GSSTATSPATHENABLE ('GSSTATSPATHENABLE')":CHK "$GSSTATSPATHENABLE" \ + --field="$GUI_GSSTATSPATH!$DESC_GSSTATSPATH ('GSSTATSPATH')":DIR "${GSSTATSPATH//\"}" \ + --field="$GUI_GSHIDECURSORDELAY!$DESC_GSHIDECURSORDELAY ('GSHIDECURSORDELAY')":NUM "${GSHIDECURSORDELAY/#-/ -}" \ + --field="$GUI_GSFORCECOMP!$DESC_GSFORCECOMP ('GSFORCECOMP')":CHK "$GSFORCECOMP" \ + --field="$GUI_GSDEBUGHUD!$DESC_GSDEBUGHUD ('GSDEBUGHUD')":CHK "$GSDEBUGHUD" \ + --field="$GUI_GSFORCEHDRSUPPORT!$DESC_GSFORCEHDRSUPPORT ('GSFORCEHDRSUPPORT')":CHK "$GSFORCEHDRSUPPORT" \ + --field="$GUI_GSFORCEHDROUTPUT!$DESC_GSFORCEHDROUTPUT ('GSFORCEHDROUTPUT')":CHK "$GSFORCEHDROUTPUT" \ + --field="$GUI_GSPREFERVKDEVICE!$DESC_GSPREFERVKDEVICE ('GSPREFERVKDEVICE')":CHK "$GSPREFERVKDEVICE" \ --button="$BUT_CAN:0" --button="$BUT_DONE:2" "$GEOM" )" case $? in @@ -9593,21 +9979,61 @@ function GameScopeGui { } ;; 2) { + # Get selected GameScope options mapfile -d "|" -t -O "${#GSARR[@]}" GSARR < <(printf '%s' "$GASCOS") - GSINTRES="${GSARR[0]}" - GSSHWRES="${GSARR[1]}" - GSFLR="${GSARR[2]}" - GSFLU="${GSARR[3]}" - GSFSRS="${GSARR[4]}" - GSIS="${GSARR[5]}" - GSNN="${GSARR[6]}" - GSFS="${GSARR[7]}" - GSBW="${GSARR[8]}" - GSFSR="${GSARR[9]}" - GSNIS="${GSARR[10]}" - GSSE="${GSARR[11]}" - USEGAMESCOPE="${GSARR[12]}" - + # GSARR[0] is the General heading + GSINTRES="${GSARR[1]}" + GSSHWRES="${GSARR[2]}" + GSFLR="${GSARR[3]}" + GSFLU="${GSARR[4]}" + USEGAMESCOPE="${GSARR[5]}" + GSFS="${GSARR[6]}" + GSBW="${GSARR[7]}" + GSSE="${GSARR[8]}" + GSFWF="${GSARR[9]}" + GSFGC="${GSARR[10]}" + GSFOOR="${GSARR[11]}" + GSENABLECUSTCUR="${GSARR[12]}" + GSCURSOR="${GSARR[13]}" + # GSARR[14] is the Filtering heading + GSFSRS="${GSARR[15]}" + GSIS="${GSARR[16]}" + GSNN="${GSARR[17]}" + GSFSR="${GSARR[18]}" + GSNIS="${GSARR[19]}" + GSMSF="${GSARR[20]}" + # GSARR[21] is the HDR heading + GSHDR="${GSARR[22]}" + GSHDRWGFS="${GSARR[23]}" + GSHDRSCNITS="${GSARR[24]}" + # GSARR[25] is the VR heading + GSVR="${GSARR[26]}" + GSVREXNA="${GSARR[27]}" + GSVRDEFNAM="${GSARR[28]}" + GSVRICONENABLE="${GSARR[29]}" + GSVRICON="${GSARR[30]}" + GSVRSHOIMM="${GSARR[31]}" + GSVRCONTROLBAR="${GSARR[32]}" + GSVRCONTROLBARKEYBOARD="${GSARR[33]}" + GSVRCONTROLBARCLOSE="${GSARR[34]}" + GSVRMODAL="${GSARR[35]}" + # GSARR[36] is the Embedded heading + GSDEFTOUCHMODE="${GSARR[37]}" + GSIMMEDIATEFLIPS="${GSARR[38]}" + GSADAPTIVESYNC="${GSARR[39]}" + GSPREFOUT="${GSARR[40]}" + GSDRMMODE="${GSARR[41]}" + # GSARR[42] is the Advanced heading + GSSTATSPATHENABLE="${GSARR[43]}" + GSSTATSPATH="${GSARR[44]}" + GSHIDECURSORDELAY="${GSARR[45]}" + GSFORCECOMP="${GSARR[46]}" + GSDEBUGHUD="${GSARR[47]}" + GSFORCEHDRSUPPORT="${GSARR[48]}" + GSFORCEHDROUTPUT="${GSARR[49]}" + GSPREFERVKDEVICE="${GSARR[50]}" + + # Build the GameScope arguments string unset GAMESCOPE_ARGS GSINTW1="${GSINTRES%x*}" GSINTW="${GSINTW1%%-*}" @@ -9621,6 +10047,7 @@ function GameScopeGui { GSSHWH1="${GSSHWRES#*x}" GSSHWH="${GSSHWH1%%-*}" + # General Options GAMESCOPE_ARGS="${GAMESCOPE_ARGS} -W ${GSSHWW} -H ${GSSHWH}" if [ "$GSFLR" -eq "$GSFLR" ] 2>/dev/null; then GAMESCOPE_ARGS="${GAMESCOPE_ARGS} -r ${GSFLR}" @@ -9630,14 +10057,6 @@ function GameScopeGui { GAMESCOPE_ARGS="${GAMESCOPE_ARGS} -o ${GSFLU}" fi - if [ "$GSIS" == "TRUE" ]; then - GAMESCOPE_ARGS="${GAMESCOPE_ARGS} -i" - fi - - if [ "$GSNN" == "TRUE" ]; then - GAMESCOPE_ARGS="${GAMESCOPE_ARGS} -n" - fi - if [ "$GSFS" == "TRUE" ]; then GAMESCOPE_ARGS="${GAMESCOPE_ARGS} -f" fi @@ -9645,6 +10064,36 @@ function GameScopeGui { if [ "$GSBW" == "TRUE" ]; then GAMESCOPE_ARGS="${GAMESCOPE_ARGS} -b" fi + + if [ "$GSSE" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} -e" + fi + + if [ "$GSFWF" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --force-windows-fullscreen" + fi + + if [ "$GSFGC" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --force-grab-cursor" + fi + + if [ -f "$GSCURSOR" ] && [ "$GSENABLECUSTCUR" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --cursor '${GSCURSOR}'" + fi + + # Only force orientation if option other than default 'normal' is selected + if [ ! "$GSFOOR" == "$GSNORM" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --force-orientation ${GSFOOR}" + fi + + # Filtering Options + if [ "$GSIS" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} -i" + fi + + if [ "$GSNN" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} -n" + fi if [ "$GSFSR" == "TRUE" ]; then GAMESCOPE_ARGS="${GAMESCOPE_ARGS} -U" @@ -9657,7 +10106,7 @@ function GameScopeGui { # Sharpness Value should only be passed if FSR or NIS is enabled if [ "$GSFSRS" -eq "$GSFSRS" ] 2>/dev/null && [ "$GSFSR" == "TRUE" ] || [ "$GSNIS" == "TRUE" ]; then writelog "INFO" "${FUNCNAME[0]} - Adding sharpness parameter to the gamescope arguments:" - if grep -q "\-\-fsr\-sharpness" <<< "$("$(command -v "$GAMESCOPE")" --help 2>&1)"; then + if grep -q "$FSRS_STR" <<< "$("$(command -v "$GAMESCOPE")" --help 2>&1)"; then writelog "INFO" "${FUNCNAME[0]} - using '--fsr-sharpness ${GSFSRS}'" GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --fsr-sharpness ${GSFSRS}" else @@ -9666,8 +10115,130 @@ function GameScopeGui { fi fi - if [ "$GSSE" == "TRUE" ]; then - GAMESCOPE_ARGS="${GAMESCOPE_ARGS} -e" + # Ignore Max Scale Factor if 0 + if [ ! "$GSMSF" == "0" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} -m ${GSMSF}" + fi + + # HDR Options + if [ "$GSHDR" == "TRUE" ]; then + # Possible to check if any HDR displays available and warn if not? + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --hdr-enabled" + fi + + # Don't enable GSHDRWGFS if GSHDR is not enabled first + if [ "$GSHDRWGFS" == "TRUE" ]; then + if [ "$GSHDR" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --hdr-wide-gammut-for-sdr" + else + writelog "WARN" "${FUNCNAME[0]} - GSHDRWGFS (--hdr-wide-gammut-for-sdr) option for GameScope enabled but HDR was not enabled - Ignoring as this option would have no effect" + fi + fi + + # If the nits value is not the default 400, and if HDR is enabled, pass the value to GameScope + if [ ! "$GSHDRSCNITS" == "400" ]; then + if [ "$GSHDR" == "TRUE" ] && [ "$GSHDRWGFS" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --hdr-sdr-content-nits ${GSHDRSCNITS}" + else + writelog "WARN" "${FUNCNAME[0]} - GSHDRSCNITS (--hdr-sdr-content-nits) option for GameScope was set but HDR and SDR were not enabled - Ignoring as this option would have no effect" + fi + else + writelog "INFO" "${FUNCNAME[0]} - GSHDRSCNITS (--hdr-sdr-content-nits) option for GameScope was left at default 400 - GameScope should use this anyway - Ignoring as this option would have no effect" + fi + + # VR Options + if [ "$GSVR" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --openvr" + fi + + # Don't set explicit name if it's blank + if [ "${#GSVREXNA}" -gt 0 ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --vr-overlay-explicit-name '${GSVREXNA}'" + fi + + # Don't set default name if it's blank + if [ "${#GSVRDEFNAM}" -gt 0 ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --vr-overlay-default-name '${GSVRDEFNAM}'" + fi + + if [ -f "$GSVRICON" ] && [ "$GSVRICONENABLE" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --vr-overlay-icon '${GSVRICON}'" + fi + + if [ "$GSVRSHOIMM" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --vr-overlay-show-immediately" + fi + + if [ "$GSVRCONTROLBAR" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --vr-overlay-enable-control-bar" + fi + + if [ "$GSVRCONTROLBARKEYBOARD" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --vr-overlay-enable-control-bar-keyboard" + fi + + if [ "$GSVRCONTROLBARCLOSE" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --vr-overlay-enable-control-bar-close" + fi + + if [ "$GSVRMODAL" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --vr-overlay-modal" + fi + + # Embedded Options + # + # Don't pass default touch mode option if we left at default + if [ ! "${GSDEFTOUCHMODE}" == "${GSDEF}" ]; then + # Get the corresponding number that should be passed to GameScope from the number in the dropdown string, e.g. gets "0" from "hover:0" + SELECTEDTOUCHMODE="$( echo "$GSDEFTOUCHMODE" | cut -d ":" -f 2 )" + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --default-touch-mode ${SELECTEDTOUCHMODE}" + fi + + if [ "$GSIMMEDIATEFLIPS" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --immediate-flips" + fi + + if [ "$GSADAPTIVESYNC" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --adaptive-sync" + fi + + # Don't pass preferred output(s) if the textbox is blank + if [ "${#GSPREFOUT}" -gt 0 ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} -O ${GSPREFOUT}" + fi + + # Don't pass DRM mode if "default" + if [ ! "$GSDRMMODE" == "${GSDEF}" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --generate-drm-mode ${GSDRMMODE}" + fi + + if [ -d "$GSSTATSPATH" ] && [ "$GSSTATSPATHENABLE" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --stats-path '${GSSTATSPATH}'" + fi + + # Ignore cursor delay if it's 0 + if [ ! "$GSHIDECURSORDELAY" == "0" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} -C ${GSHIDECURSORDELAY}" + fi + + if [ "$GSFORCECOMP" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --force-composition" + fi + + if [ "$GSDEBUGHUD" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --debug-hud" + fi + + if [ "$GSFORCEHDRSUPPORT" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --hdr-debug-force-support" + fi + + if [ "$GSFORCEHDROUTPUT" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --hdr-debug-force-output" + fi + + if [ "$GSPREFERVKDEVICE" == "TRUE" ]; then + GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --prefer-vk-device" fi GAMESCOPE_ARGS="${GAMESCOPE_ARGS} --"