chore: Update ChimeraOS patch set

This commit is contained in:
Kyle Gospodnetich 2024-08-03 22:46:35 -07:00
parent 8eabe5bb0f
commit 74ba6b0467

View File

@ -1,7 +1,7 @@
From c06cdd847679c930ee6197514970bc21f523e853 Mon Sep 17 00:00:00 2001 From e7a17c36620343d3bd21eba9c571f2551b8b69c0 Mon Sep 17 00:00:00 2001
From: Matthew Anderson <ruinairas1992@gmail.com> From: Matthew Anderson <ruinairas1992@gmail.com>
Date: Fri, 17 May 2024 19:43:49 -0500 Date: Fri, 17 May 2024 19:43:49 -0500
Subject: [PATCH 01/22] Add touch-gestures to open up Steam menus Subject: [PATCH 01/21] Add touch-gestures to open up Steam menus
--- ---
src/main.cpp | 5 +++++ src/main.cpp | 5 +++++
@ -10,7 +10,7 @@ Subject: [PATCH 01/22] Add touch-gestures to open up Steam menus
3 files changed, 34 insertions(+) 3 files changed, 34 insertions(+)
diff --git a/src/main.cpp b/src/main.cpp diff --git a/src/main.cpp b/src/main.cpp
index cd4aeca..4b91c97 100644 index 96484dc..2b5e9b3 100644
--- a/src/main.cpp --- a/src/main.cpp
+++ b/src/main.cpp +++ b/src/main.cpp
@@ -108,6 +108,8 @@ const struct option *gamescope_options = (struct option[]){ @@ -108,6 +108,8 @@ const struct option *gamescope_options = (struct option[]){
@ -40,18 +40,18 @@ index cd4aeca..4b91c97 100644
g_nXWaylandCount = atoi( optarg ); g_nXWaylandCount = atoi( optarg );
} else if (strcmp(opt_name, "composite-debug") == 0) { } else if (strcmp(opt_name, "composite-debug") == 0) {
diff --git a/src/wlserver.cpp b/src/wlserver.cpp diff --git a/src/wlserver.cpp b/src/wlserver.cpp
index ee6891d..62da656 100644 index a2e1985..43b9023 100644
--- a/src/wlserver.cpp --- a/src/wlserver.cpp
+++ b/src/wlserver.cpp +++ b/src/wlserver.cpp
@@ -73,6 +73,7 @@ @@ -77,6 +77,7 @@ using namespace std::literals;
static LogScope wl_log("wlserver"); extern gamescope::ConVar<bool> cv_drm_debug_disable_explicit_sync;
//#define GAMESCOPE_SWAPCHAIN_DEBUG //#define GAMESCOPE_SWAPCHAIN_DEBUG
+gamescope::ConVar<bool> cv_touch_gestures( "enable_touch_gestures", false, "Enable/Disable the usage of touch gestures" ); +gamescope::ConVar<bool> cv_touch_gestures( "enable_touch_gestures", false, "Enable/Disable the usage of touch gestures" );
struct wlserver_t wlserver = { struct wlserver_t wlserver = {
.touch_down_ids = {} .touch_down_ids = {}
@@ -2568,6 +2569,33 @@ void wlserver_touchmotion( double x, double y, int touch_id, uint32_t time, bool @@ -2598,6 +2599,33 @@ void wlserver_touchmotion( double x, double y, int touch_id, uint32_t time, bool
if ( bAlwaysWarpCursor ) if ( bAlwaysWarpCursor )
wlserver_mousewarp( tx, ty, time, false ); wlserver_mousewarp( tx, ty, time, false );
@ -86,10 +86,10 @@ index ee6891d..62da656 100644
else if ( eMode == gamescope::TouchClickModes::Disabled ) else if ( eMode == gamescope::TouchClickModes::Disabled )
{ {
diff --git a/src/wlserver.hpp b/src/wlserver.hpp diff --git a/src/wlserver.hpp b/src/wlserver.hpp
index db7d491..da67bf7 100644 index 7a8c155..0859a21 100644
--- a/src/wlserver.hpp --- a/src/wlserver.hpp
+++ b/src/wlserver.hpp +++ b/src/wlserver.hpp
@@ -291,6 +291,7 @@ void wlserver_x11_surface_info_finish( struct wlserver_x11_surface_info *surf ); @@ -306,6 +306,7 @@ void wlserver_x11_surface_info_finish( struct wlserver_x11_surface_info *surf );
void wlserver_set_xwayland_server_mode( size_t idx, int w, int h, int refresh ); void wlserver_set_xwayland_server_mode( size_t idx, int w, int h, int refresh );
extern std::atomic<bool> g_bPendingTouchMovement; extern std::atomic<bool> g_bPendingTouchMovement;
@ -101,10 +101,10 @@ index db7d491..da67bf7 100644
2.45.2 2.45.2
From 34f22c6a52dbed8662132e4bdfd8a29dd1b7825c Mon Sep 17 00:00:00 2001 From c781f3bea1940f76f28f4714ee4d10b9024909cd Mon Sep 17 00:00:00 2001
From: Matthew Anderson <ruinairas1992@gmail.com> From: Matthew Anderson <ruinairas1992@gmail.com>
Date: Fri, 17 May 2024 20:16:20 -0500 Date: Fri, 17 May 2024 20:16:20 -0500
Subject: [PATCH 02/22] Add bypass_steam_resolution to workaround the 720p/800p Subject: [PATCH 02/21] Add bypass_steam_resolution to workaround the 720p/800p
restrictions Steam has for games restrictions Steam has for games
--- ---
@ -113,7 +113,7 @@ Subject: [PATCH 02/22] Add bypass_steam_resolution to workaround the 720p/800p
2 files changed, 14 insertions(+) 2 files changed, 14 insertions(+)
diff --git a/src/main.cpp b/src/main.cpp diff --git a/src/main.cpp b/src/main.cpp
index 4b91c97..3d1057a 100644 index 2b5e9b3..4e63245 100644
--- a/src/main.cpp --- a/src/main.cpp
+++ b/src/main.cpp +++ b/src/main.cpp
@@ -129,6 +129,8 @@ const struct option *gamescope_options = (struct option[]){ @@ -129,6 +129,8 @@ const struct option *gamescope_options = (struct option[]){
@ -134,10 +134,10 @@ index 4b91c97..3d1057a 100644
" --xwayland-count create N xwayland servers\n" " --xwayland-count create N xwayland servers\n"
" --prefer-vk-device prefer Vulkan device for compositing (ex: 1002:7300)\n" " --prefer-vk-device prefer Vulkan device for compositing (ex: 1002:7300)\n"
diff --git a/src/steamcompmgr.cpp b/src/steamcompmgr.cpp diff --git a/src/steamcompmgr.cpp b/src/steamcompmgr.cpp
index 9ee265d..bec4268 100644 index e4738f9..8fe13fd 100644
--- a/src/steamcompmgr.cpp --- a/src/steamcompmgr.cpp
+++ b/src/steamcompmgr.cpp +++ b/src/steamcompmgr.cpp
@@ -349,6 +349,8 @@ bool g_bForceHDR10OutputDebug = false; @@ -354,6 +354,8 @@ bool g_bForceHDR10OutputDebug = false;
gamescope::ConVar<bool> cv_hdr_enabled{ "hdr_enabled", false, "Whether or not HDR is enabled if it is available." }; gamescope::ConVar<bool> cv_hdr_enabled{ "hdr_enabled", false, "Whether or not HDR is enabled if it is available." };
bool g_bHDRItmEnable = false; bool g_bHDRItmEnable = false;
int g_nCurrentRefreshRate_CachedValue = 0; int g_nCurrentRefreshRate_CachedValue = 0;
@ -146,7 +146,7 @@ index 9ee265d..bec4268 100644
static void static void
update_color_mgmt() update_color_mgmt()
@@ -5320,6 +5322,13 @@ handle_property_notify(xwayland_ctx_t *ctx, XPropertyEvent *ev) @@ -5364,6 +5366,13 @@ handle_property_notify(xwayland_ctx_t *ctx, XPropertyEvent *ev)
size_t server_idx = size_t{ xwayland_mode_ctl[ 0 ] }; size_t server_idx = size_t{ xwayland_mode_ctl[ 0 ] };
int width = xwayland_mode_ctl[ 1 ]; int width = xwayland_mode_ctl[ 1 ];
int height = xwayland_mode_ctl[ 2 ]; int height = xwayland_mode_ctl[ 2 ];
@ -160,7 +160,7 @@ index 9ee265d..bec4268 100644
bool allowSuperRes = !!xwayland_mode_ctl[ 3 ]; bool allowSuperRes = !!xwayland_mode_ctl[ 3 ];
if ( !allowSuperRes ) if ( !allowSuperRes )
@@ -7166,6 +7175,8 @@ steamcompmgr_main(int argc, char **argv) @@ -7210,6 +7219,8 @@ steamcompmgr_main(int argc, char **argv)
bForceWindowsFullscreen = true; bForceWindowsFullscreen = true;
} else if (strcmp(opt_name, "hdr-enabled") == 0) { } else if (strcmp(opt_name, "hdr-enabled") == 0) {
cv_hdr_enabled = true; cv_hdr_enabled = true;
@ -173,10 +173,10 @@ index 9ee265d..bec4268 100644
2.45.2 2.45.2
From 4c5657cca9a37fee0eee1d86ef3c2a6e5acef09c Mon Sep 17 00:00:00 2001 From 06ea33eeac6023ac32a4e89cfb6a704e4fd28e9b Mon Sep 17 00:00:00 2001
From: Matthew Anderson <ruinairas1992@gmail.com> From: Matthew Anderson <ruinairas1992@gmail.com>
Date: Wed, 26 Jul 2023 20:46:29 -0500 Date: Wed, 26 Jul 2023 20:46:29 -0500
Subject: [PATCH 03/22] Add force external orientation. Subject: [PATCH 03/21] Add force external orientation.
Co-authored-by: Bouke Sybren Haarsma <boukehaarsma23@gmail.com> Co-authored-by: Bouke Sybren Haarsma <boukehaarsma23@gmail.com>
--- ---
@ -187,10 +187,10 @@ Co-authored-by: Bouke Sybren Haarsma <boukehaarsma23@gmail.com>
4 files changed, 53 insertions(+), 1 deletion(-) 4 files changed, 53 insertions(+), 1 deletion(-)
diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp
index 92f01ca..4c72dc1 100644 index ee2cbd3..f2a832d 100644
--- a/src/Backends/DRMBackend.cpp --- a/src/Backends/DRMBackend.cpp
+++ b/src/Backends/DRMBackend.cpp +++ b/src/Backends/DRMBackend.cpp
@@ -536,6 +536,7 @@ bool g_bSupportsSyncObjs = false; @@ -537,6 +537,7 @@ bool g_bSupportsSyncObjs = false;
extern gamescope::GamescopeModeGeneration g_eGamescopeModeGeneration; extern gamescope::GamescopeModeGeneration g_eGamescopeModeGeneration;
extern GamescopePanelOrientation g_DesiredInternalOrientation; extern GamescopePanelOrientation g_DesiredInternalOrientation;
@ -198,7 +198,7 @@ index 92f01ca..4c72dc1 100644
extern bool g_bForceDisableColorMgmt; extern bool g_bForceDisableColorMgmt;
@@ -2023,6 +2024,10 @@ namespace gamescope @@ -2031,6 +2032,10 @@ namespace gamescope
{ {
m_ChosenOrientation = g_DesiredInternalOrientation; m_ChosenOrientation = g_DesiredInternalOrientation;
} }
@ -210,7 +210,7 @@ index 92f01ca..4c72dc1 100644
{ {
if ( this->GetProperties().panel_orientation ) if ( this->GetProperties().panel_orientation )
diff --git a/src/main.cpp b/src/main.cpp diff --git a/src/main.cpp b/src/main.cpp
index 3d1057a..fac3df2 100644 index 4e63245..5e39e03 100644
--- a/src/main.cpp --- a/src/main.cpp
+++ b/src/main.cpp +++ b/src/main.cpp
@@ -128,6 +128,7 @@ const struct option *gamescope_options = (struct option[]){ @@ -128,6 +128,7 @@ const struct option *gamescope_options = (struct option[]){
@ -286,10 +286,10 @@ index 8cfe629..5492cae 100644
enum class GamescopeUpscaleFilter : uint32_t enum class GamescopeUpscaleFilter : uint32_t
{ {
diff --git a/src/wlserver.cpp b/src/wlserver.cpp diff --git a/src/wlserver.cpp b/src/wlserver.cpp
index 62da656..2998aed 100644 index 43b9023..f554554 100644
--- a/src/wlserver.cpp --- a/src/wlserver.cpp
+++ b/src/wlserver.cpp +++ b/src/wlserver.cpp
@@ -2530,6 +2530,29 @@ static void apply_touchscreen_orientation(double *x, double *y ) @@ -2560,6 +2560,29 @@ static void apply_touchscreen_orientation(double *x, double *y )
break; break;
} }
@ -323,10 +323,10 @@ index 62da656..2998aed 100644
2.45.2 2.45.2
From 897032bb4b8d8d5c11d67f9844a09a604b2c4333 Mon Sep 17 00:00:00 2001 From 9e0fe1c9b9f82e63fb0255b32c1aefe3048c78e7 Mon Sep 17 00:00:00 2001
From: Bouke Sybren Haarsma <boukehaarsma23@gmail.com> From: Bouke Sybren Haarsma <boukehaarsma23@gmail.com>
Date: Tue, 12 Mar 2024 00:07:57 +0100 Date: Tue, 12 Mar 2024 00:07:57 +0100
Subject: [PATCH 04/22] implement force-panel-type Subject: [PATCH 04/21] implement force-panel-type
--- ---
src/backend.h | 3 +++ src/backend.h | 3 +++
@ -335,7 +335,7 @@ Subject: [PATCH 04/22] implement force-panel-type
3 files changed, 20 insertions(+) 3 files changed, 20 insertions(+)
diff --git a/src/backend.h b/src/backend.h diff --git a/src/backend.h b/src/backend.h
index 9c2db15..046eb10 100644 index 6c86349..920c92f 100644
--- a/src/backend.h --- a/src/backend.h
+++ b/src/backend.h +++ b/src/backend.h
@@ -17,6 +17,7 @@ struct wlr_buffer; @@ -17,6 +17,7 @@ struct wlr_buffer;
@ -346,7 +346,7 @@ index 9c2db15..046eb10 100644
namespace gamescope namespace gamescope
{ {
@@ -213,6 +214,8 @@ namespace gamescope @@ -218,6 +219,8 @@ namespace gamescope
// Dumb helper we should remove to support multi display someday. // Dumb helper we should remove to support multi display someday.
gamescope::GamescopeScreenType GetScreenType() gamescope::GamescopeScreenType GetScreenType()
{ {
@ -356,10 +356,10 @@ index 9c2db15..046eb10 100644
return GetCurrentConnector()->GetScreenType(); return GetCurrentConnector()->GetScreenType();
diff --git a/src/gamescope_shared.h b/src/gamescope_shared.h diff --git a/src/gamescope_shared.h b/src/gamescope_shared.h
index f34174e..ed30d8c 100644 index 863b03f..a11f598 100644
--- a/src/gamescope_shared.h --- a/src/gamescope_shared.h
+++ b/src/gamescope_shared.h +++ b/src/gamescope_shared.h
@@ -22,6 +22,7 @@ namespace gamescope @@ -25,6 +25,7 @@ namespace gamescope
{ {
GAMESCOPE_SCREEN_TYPE_INTERNAL, GAMESCOPE_SCREEN_TYPE_INTERNAL,
GAMESCOPE_SCREEN_TYPE_EXTERNAL, GAMESCOPE_SCREEN_TYPE_EXTERNAL,
@ -368,7 +368,7 @@ index f34174e..ed30d8c 100644
GAMESCOPE_SCREEN_TYPE_COUNT GAMESCOPE_SCREEN_TYPE_COUNT
}; };
diff --git a/src/main.cpp b/src/main.cpp diff --git a/src/main.cpp b/src/main.cpp
index fac3df2..8bea38c 100644 index 5e39e03..2ac48ca 100644
--- a/src/main.cpp --- a/src/main.cpp
+++ b/src/main.cpp +++ b/src/main.cpp
@@ -129,6 +129,7 @@ const struct option *gamescope_options = (struct option[]){ @@ -129,6 +129,7 @@ const struct option *gamescope_options = (struct option[]){
@ -419,10 +419,10 @@ index fac3df2..8bea38c 100644
2.45.2 2.45.2
From 2178f85676ba25434e8c39adc3848e3f7355acec Mon Sep 17 00:00:00 2001 From c3da8fe380e2f7c8c7152032d496d89eebd57ff6 Mon Sep 17 00:00:00 2001
From: Matthew Anderson <ruinairas1992@gmail.com> From: Matthew Anderson <ruinairas1992@gmail.com>
Date: Fri, 17 May 2024 21:11:34 -0500 Date: Fri, 17 May 2024 21:11:34 -0500
Subject: [PATCH 05/22] wlserver: Fix an issue that would cause gamescope to Subject: [PATCH 05/21] wlserver: Fix an issue that would cause gamescope to
crash when the touchscreen was used crash when the touchscreen was used
--- ---
@ -430,10 +430,10 @@ Subject: [PATCH 05/22] wlserver: Fix an issue that would cause gamescope to
1 file changed, 23 deletions(-) 1 file changed, 23 deletions(-)
diff --git a/src/wlserver.cpp b/src/wlserver.cpp diff --git a/src/wlserver.cpp b/src/wlserver.cpp
index 2998aed..62da656 100644 index f554554..43b9023 100644
--- a/src/wlserver.cpp --- a/src/wlserver.cpp
+++ b/src/wlserver.cpp +++ b/src/wlserver.cpp
@@ -2530,29 +2530,6 @@ static void apply_touchscreen_orientation(double *x, double *y ) @@ -2560,29 +2560,6 @@ static void apply_touchscreen_orientation(double *x, double *y )
break; break;
} }
@ -467,10 +467,10 @@ index 2998aed..62da656 100644
2.45.2 2.45.2
From 261124a5a85ad80b0d7b15926f230bacbca21b22 Mon Sep 17 00:00:00 2001 From 7db5dc7e8ed1f1bfdae777c4c7f30928f3d96461 Mon Sep 17 00:00:00 2001
From: Matthew Anderson <ruinairas1992@gmail.com> From: Matthew Anderson <ruinairas1992@gmail.com>
Date: Fri, 17 May 2024 21:56:55 -0500 Date: Fri, 17 May 2024 21:56:55 -0500
Subject: [PATCH 06/22] Add --custom-refresh-rates Subject: [PATCH 06/21] Add --custom-refresh-rates
--- ---
src/Backends/DRMBackend.cpp | 4 ++++ src/Backends/DRMBackend.cpp | 4 ++++
@ -479,10 +479,10 @@ Subject: [PATCH 06/22] Add --custom-refresh-rates
3 files changed, 36 insertions(+) 3 files changed, 36 insertions(+)
diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp
index 4c72dc1..e4caebb 100644 index f2a832d..32e8a78 100644
--- a/src/Backends/DRMBackend.cpp --- a/src/Backends/DRMBackend.cpp
+++ b/src/Backends/DRMBackend.cpp +++ b/src/Backends/DRMBackend.cpp
@@ -2125,6 +2125,10 @@ namespace gamescope @@ -2135,6 +2135,10 @@ namespace gamescope
( m_Mutable.szMakePNP == "VLV"sv && m_Mutable.szModel == "Jupiter"sv ) || ( m_Mutable.szMakePNP == "VLV"sv && m_Mutable.szModel == "Jupiter"sv ) ||
( m_Mutable.szMakePNP == "VLV"sv && m_Mutable.szModel == "Galileo"sv ); ( m_Mutable.szMakePNP == "VLV"sv && m_Mutable.szModel == "Galileo"sv );
@ -494,7 +494,7 @@ index 4c72dc1..e4caebb 100644
{ {
static constexpr uint32_t kPIDGalileoSDC = 0x3003; static constexpr uint32_t kPIDGalileoSDC = 0x3003;
diff --git a/src/main.cpp b/src/main.cpp diff --git a/src/main.cpp b/src/main.cpp
index 8bea38c..a9e1969 100644 index 2ac48ca..28bcc6f 100644
--- a/src/main.cpp --- a/src/main.cpp
+++ b/src/main.cpp +++ b/src/main.cpp
@@ -132,6 +132,7 @@ const struct option *gamescope_options = (struct option[]){ @@ -132,6 +132,7 @@ const struct option *gamescope_options = (struct option[]){
@ -579,10 +579,10 @@ index 5492cae..0207a51 100644
2.45.2 2.45.2
From db4804880ea0fdf810979aea3153e2f45dc97bfe Mon Sep 17 00:00:00 2001 From 01eff9f4c19dbaa336faf4faf504b5bd9fde8d1c Mon Sep 17 00:00:00 2001
From: Matthew Anderson <ruinairas1992@gmail.com> From: Matthew Anderson <ruinairas1992@gmail.com>
Date: Sat, 18 May 2024 08:44:38 -0500 Date: Sat, 18 May 2024 08:44:38 -0500
Subject: [PATCH 07/22] Add rotation gamescope_control command Subject: [PATCH 07/21] Add rotation gamescope_control command
--- ---
protocol/gamescope-control.xml | 18 ++++++++++++ protocol/gamescope-control.xml | 18 ++++++++++++
@ -621,10 +621,10 @@ index 012c48c..eab8a84 100644
</interface> </interface>
</protocol> </protocol>
diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp
index e4caebb..70d5cdf 100644 index 32e8a78..f952b65 100644
--- a/src/Backends/DRMBackend.cpp --- a/src/Backends/DRMBackend.cpp
+++ b/src/Backends/DRMBackend.cpp +++ b/src/Backends/DRMBackend.cpp
@@ -2020,7 +2020,9 @@ namespace gamescope @@ -2028,7 +2028,9 @@ namespace gamescope
void CDRMConnector::UpdateEffectiveOrientation( const drmModeModeInfo *pMode ) void CDRMConnector::UpdateEffectiveOrientation( const drmModeModeInfo *pMode )
{ {
@ -635,7 +635,7 @@ index e4caebb..70d5cdf 100644
{ {
m_ChosenOrientation = g_DesiredInternalOrientation; m_ChosenOrientation = g_DesiredInternalOrientation;
} }
@@ -2935,6 +2937,25 @@ bool drm_update_color_mgmt(struct drm_t *drm) @@ -2961,6 +2963,25 @@ bool drm_update_color_mgmt(struct drm_t *drm)
return true; return true;
} }
@ -662,10 +662,10 @@ index e4caebb..70d5cdf 100644
{ {
drm->pending.mode_id = 0; drm->pending.mode_id = 0;
diff --git a/src/gamescope_shared.h b/src/gamescope_shared.h diff --git a/src/gamescope_shared.h b/src/gamescope_shared.h
index ed30d8c..d04a907 100644 index a11f598..c1f8c79 100644
--- a/src/gamescope_shared.h --- a/src/gamescope_shared.h
+++ b/src/gamescope_shared.h +++ b/src/gamescope_shared.h
@@ -62,6 +62,16 @@ enum GamescopePanelOrientation @@ -65,6 +65,16 @@ enum GamescopePanelOrientation
GAMESCOPE_PANEL_ORIENTATION_AUTO, GAMESCOPE_PANEL_ORIENTATION_AUTO,
}; };
@ -679,11 +679,11 @@ index ed30d8c..d04a907 100644
+ GAMESCOPE_PANEL_EXTERNAL_ORIENTATION_AUTO, + GAMESCOPE_PANEL_EXTERNAL_ORIENTATION_AUTO,
+}; +};
+ +
// Disable partial composition for now until we get struct GamescopeTimelinePoint
// composite priorities working in libliftoff + also {
// use the proper libliftoff composite plane system. struct wlr_drm_syncobj_timeline *pTimeline = nullptr;
diff --git a/src/main.cpp b/src/main.cpp diff --git a/src/main.cpp b/src/main.cpp
index a9e1969..4469ac1 100644 index 28bcc6f..ab16459 100644
--- a/src/main.cpp --- a/src/main.cpp
+++ b/src/main.cpp +++ b/src/main.cpp
@@ -397,6 +397,7 @@ static gamescope::GamescopeScreenType force_panel_type(const char *str) @@ -397,6 +397,7 @@ static gamescope::GamescopeScreenType force_panel_type(const char *str)
@ -695,10 +695,10 @@ index a9e1969..4469ac1 100644
} else { } else {
fprintf( stderr, "gamescope: invalid value for --force-panel-type\n" ); fprintf( stderr, "gamescope: invalid value for --force-panel-type\n" );
diff --git a/src/wlserver.cpp b/src/wlserver.cpp diff --git a/src/wlserver.cpp b/src/wlserver.cpp
index 62da656..96bb7fc 100644 index 43b9023..e6d6a20 100644
--- a/src/wlserver.cpp --- a/src/wlserver.cpp
+++ b/src/wlserver.cpp +++ b/src/wlserver.cpp
@@ -1101,6 +1101,55 @@ static void gamescope_control_take_screenshot( struct wl_client *client, struct @@ -1119,6 +1119,55 @@ static void gamescope_control_take_screenshot( struct wl_client *client, struct
} ); } );
} }
@ -754,7 +754,7 @@ index 62da656..96bb7fc 100644
static void gamescope_control_handle_destroy( struct wl_client *client, struct wl_resource *resource ) static void gamescope_control_handle_destroy( struct wl_client *client, struct wl_resource *resource )
{ {
wl_resource_destroy( resource ); wl_resource_destroy( resource );
@@ -1110,6 +1159,7 @@ static const struct gamescope_control_interface gamescope_control_impl = { @@ -1128,6 +1177,7 @@ static const struct gamescope_control_interface gamescope_control_impl = {
.destroy = gamescope_control_handle_destroy, .destroy = gamescope_control_handle_destroy,
.set_app_target_refresh_cycle = gamescope_control_set_app_target_refresh_cycle, .set_app_target_refresh_cycle = gamescope_control_set_app_target_refresh_cycle,
.take_screenshot = gamescope_control_take_screenshot, .take_screenshot = gamescope_control_take_screenshot,
@ -766,10 +766,10 @@ index 62da656..96bb7fc 100644
2.45.2 2.45.2
From ef9f07b932c8be1d391b9688b1b31edbb73e86ce Mon Sep 17 00:00:00 2001 From 69dcb30139aae557093515722ddc5d47960a9c06 Mon Sep 17 00:00:00 2001
From: Matthew Anderson <ruinairas1992@gmail.com> From: Matthew Anderson <ruinairas1992@gmail.com>
Date: Sat, 18 May 2024 11:54:50 -0500 Date: Sat, 18 May 2024 11:54:50 -0500
Subject: [PATCH 08/22] Fix an issue that caused force-panel to not work Subject: [PATCH 08/21] Fix an issue that caused force-panel to not work
--- ---
protocol/gamescope-control.xml | 1 - protocol/gamescope-control.xml | 1 -
@ -791,7 +791,7 @@ index eab8a84..7f5578b 100644
<entry name="normal" value="1"/> <entry name="normal" value="1"/>
<entry name="left" value="2"/> <entry name="left" value="2"/>
diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp
index 70d5cdf..7af994e 100644 index f952b65..d2e1e98 100644
--- a/src/Backends/DRMBackend.cpp --- a/src/Backends/DRMBackend.cpp
+++ b/src/Backends/DRMBackend.cpp +++ b/src/Backends/DRMBackend.cpp
@@ -318,6 +318,9 @@ namespace gamescope @@ -318,6 +318,9 @@ namespace gamescope
@ -805,10 +805,10 @@ index 70d5cdf..7af994e 100644
m_pConnector->connector_type == DRM_MODE_CONNECTOR_LVDS || m_pConnector->connector_type == DRM_MODE_CONNECTOR_LVDS ||
m_pConnector->connector_type == DRM_MODE_CONNECTOR_DSI ) m_pConnector->connector_type == DRM_MODE_CONNECTOR_DSI )
diff --git a/src/gamescope_shared.h b/src/gamescope_shared.h diff --git a/src/gamescope_shared.h b/src/gamescope_shared.h
index d04a907..ed30d8c 100644 index c1f8c79..a11f598 100644
--- a/src/gamescope_shared.h --- a/src/gamescope_shared.h
+++ b/src/gamescope_shared.h +++ b/src/gamescope_shared.h
@@ -62,16 +62,6 @@ enum GamescopePanelOrientation @@ -65,16 +65,6 @@ enum GamescopePanelOrientation
GAMESCOPE_PANEL_ORIENTATION_AUTO, GAMESCOPE_PANEL_ORIENTATION_AUTO,
}; };
@ -822,14 +822,14 @@ index d04a907..ed30d8c 100644
- GAMESCOPE_PANEL_EXTERNAL_ORIENTATION_AUTO, - GAMESCOPE_PANEL_EXTERNAL_ORIENTATION_AUTO,
-}; -};
- -
// Disable partial composition for now until we get struct GamescopeTimelinePoint
// composite priorities working in libliftoff + also {
// use the proper libliftoff composite plane system. struct wlr_drm_syncobj_timeline *pTimeline = nullptr;
diff --git a/src/wlserver.cpp b/src/wlserver.cpp diff --git a/src/wlserver.cpp b/src/wlserver.cpp
index 96bb7fc..959f63b 100644 index e6d6a20..666498e 100644
--- a/src/wlserver.cpp --- a/src/wlserver.cpp
+++ b/src/wlserver.cpp +++ b/src/wlserver.cpp
@@ -74,6 +74,8 @@ static LogScope wl_log("wlserver"); @@ -78,6 +78,8 @@ extern gamescope::ConVar<bool> cv_drm_debug_disable_explicit_sync;
//#define GAMESCOPE_SWAPCHAIN_DEBUG //#define GAMESCOPE_SWAPCHAIN_DEBUG
gamescope::ConVar<bool> cv_touch_gestures( "enable_touch_gestures", false, "Enable/Disable the usage of touch gestures" ); gamescope::ConVar<bool> cv_touch_gestures( "enable_touch_gestures", false, "Enable/Disable the usage of touch gestures" );
@ -838,7 +838,7 @@ index 96bb7fc..959f63b 100644
struct wlserver_t wlserver = { struct wlserver_t wlserver = {
.touch_down_ids = {} .touch_down_ids = {}
@@ -1107,43 +1109,43 @@ static void gamescope_control_rotate_display( struct wl_client *client, struct w @@ -1125,43 +1127,43 @@ static void gamescope_control_rotate_display( struct wl_client *client, struct w
if (target_type == GAMESCOPE_CONTROL_DISPLAY_TARGET_TYPE_INTERNAL ) if (target_type == GAMESCOPE_CONTROL_DISPLAY_TARGET_TYPE_INTERNAL )
{ {
switch (orientation) { switch (orientation) {
@ -914,7 +914,7 @@ index 96bb7fc..959f63b 100644
} }
} }
//drm_set_orientation(&g_DRM, isRotated); //drm_set_orientation(&g_DRM, isRotated);
@@ -2554,34 +2556,61 @@ const std::shared_ptr<wlserver_vk_swapchain_feedback>& wlserver_surface_swapchai @@ -2584,34 +2586,61 @@ const std::shared_ptr<wlserver_vk_swapchain_feedback>& wlserver_surface_swapchai
/* Handle the orientation of the touch inputs */ /* Handle the orientation of the touch inputs */
static void apply_touchscreen_orientation(double *x, double *y ) static void apply_touchscreen_orientation(double *x, double *y )
{ {
@ -1006,20 +1006,20 @@ index 96bb7fc..959f63b 100644
2.45.2 2.45.2
From 8950969d8c62982f03bf8452a503276960f2fa33 Mon Sep 17 00:00:00 2001 From 7cd3173fc56f3f3e6bcc3af121fc7eb2a7f65d26 Mon Sep 17 00:00:00 2001
From: Matthew Anderson <ruinairas1992@gmail.com> From: Matthew Anderson <ruinairas1992@gmail.com>
Date: Sat, 18 May 2024 13:50:57 -0500 Date: Sat, 18 May 2024 13:50:57 -0500
Subject: [PATCH 09/22] Fix an arithmetic error Subject: [PATCH 09/21] Fix an arithmetic error
--- ---
src/Backends/DRMBackend.cpp | 6 +++--- src/Backends/DRMBackend.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-) 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp
index 7af994e..30150fb 100644 index d2e1e98..8a739ff 100644
--- a/src/Backends/DRMBackend.cpp --- a/src/Backends/DRMBackend.cpp
+++ b/src/Backends/DRMBackend.cpp +++ b/src/Backends/DRMBackend.cpp
@@ -2023,9 +2023,9 @@ namespace gamescope @@ -2031,9 +2031,9 @@ namespace gamescope
void CDRMConnector::UpdateEffectiveOrientation( const drmModeModeInfo *pMode ) void CDRMConnector::UpdateEffectiveOrientation( const drmModeModeInfo *pMode )
{ {
@ -1036,30 +1036,29 @@ index 7af994e..30150fb 100644
2.45.2 2.45.2
From 3e51d6f0ae7603e322024783143329dc46835901 Mon Sep 17 00:00:00 2001 From 5652820c268a3632653034ef5b6d6a820b07aad4 Mon Sep 17 00:00:00 2001
From: Matthew Anderson <ruinairas1992@gmail.com> From: Matthew Anderson <ruinairas1992@gmail.com>
Date: Sat, 18 May 2024 19:04:48 -0500 Date: Sat, 18 May 2024 19:04:48 -0500
Subject: [PATCH 10/22] Rework the touch gestures to be more smooth Subject: [PATCH 10/21] Rework the touch gestures to be more smooth
--- ---
src/wlserver.cpp | 90 +++++++++++++++++++++++++++++++++++++----------- src/wlserver.cpp | 89 +++++++++++++++++++++++++++++++++++++-----------
1 file changed, 69 insertions(+), 21 deletions(-) 1 file changed, 69 insertions(+), 20 deletions(-)
diff --git a/src/wlserver.cpp b/src/wlserver.cpp diff --git a/src/wlserver.cpp b/src/wlserver.cpp
index 959f63b..131cd72 100644 index 666498e..236f8d7 100644
--- a/src/wlserver.cpp --- a/src/wlserver.cpp
+++ b/src/wlserver.cpp +++ b/src/wlserver.cpp
@@ -71,7 +71,8 @@ @@ -71,6 +71,8 @@
#include <set> #include <set>
static LogScope wl_log("wlserver"); static LogScope wl_log("wlserver");
-
+bool pending_gesture = false; +bool pending_gesture = false;
+bool pending_osk = false; +bool pending_osk = false;
//#define GAMESCOPE_SWAPCHAIN_DEBUG
gamescope::ConVar<bool> cv_touch_gestures( "enable_touch_gestures", false, "Enable/Disable the usage of touch gestures" ); using namespace std::literals;
extern GamescopePanelOrientation g_DesiredInternalOrientation;
@@ -421,6 +422,39 @@ void wlserver_open_steam_menu( bool qam ) @@ -439,6 +441,39 @@ void wlserver_open_steam_menu( bool qam )
XTestFakeKeyEvent(server->get_xdisplay(), XKeysymToKeycode( server->get_xdisplay(), XK_Control_L ), False, CurrentTime); XTestFakeKeyEvent(server->get_xdisplay(), XKeysymToKeycode( server->get_xdisplay(), XK_Control_L ), False, CurrentTime);
} }
@ -1099,7 +1098,7 @@ index 959f63b..131cd72 100644
static void wlserver_handle_pointer_button(struct wl_listener *listener, void *data) static void wlserver_handle_pointer_button(struct wl_listener *listener, void *data)
{ {
struct wlserver_pointer *pointer = wl_container_of( listener, pointer, button ); struct wlserver_pointer *pointer = wl_container_of( listener, pointer, button );
@@ -2649,32 +2683,46 @@ void wlserver_touchmotion( double x, double y, int touch_id, uint32_t time, bool @@ -2679,32 +2714,46 @@ void wlserver_touchmotion( double x, double y, int touch_id, uint32_t time, bool
if ( bAlwaysWarpCursor ) if ( bAlwaysWarpCursor )
wlserver_mousewarp( tx, ty, time, false ); wlserver_mousewarp( tx, ty, time, false );
@ -1170,20 +1169,20 @@ index 959f63b..131cd72 100644
2.45.2 2.45.2
From d25a36dabc8e1d8144413980d915d0e71d313434 Mon Sep 17 00:00:00 2001 From 0897536808301c73f0c694cc21e923c569e828a7 Mon Sep 17 00:00:00 2001
From: Matthew Anderson <ruinairas1992@gmail.com> From: Matthew Anderson <ruinairas1992@gmail.com>
Date: Sun, 19 May 2024 08:55:28 -0500 Date: Sun, 19 May 2024 08:55:28 -0500
Subject: [PATCH 11/22] Fix a typo for --bypass-steam-resolution Subject: [PATCH 11/21] Fix a typo for --bypass-steam-resolution
--- ---
src/steamcompmgr.cpp | 2 +- src/steamcompmgr.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/steamcompmgr.cpp b/src/steamcompmgr.cpp diff --git a/src/steamcompmgr.cpp b/src/steamcompmgr.cpp
index bec4268..10c0a75 100644 index 8fe13fd..c29403d 100644
--- a/src/steamcompmgr.cpp --- a/src/steamcompmgr.cpp
+++ b/src/steamcompmgr.cpp +++ b/src/steamcompmgr.cpp
@@ -7175,7 +7175,7 @@ steamcompmgr_main(int argc, char **argv) @@ -7219,7 +7219,7 @@ steamcompmgr_main(int argc, char **argv)
bForceWindowsFullscreen = true; bForceWindowsFullscreen = true;
} else if (strcmp(opt_name, "hdr-enabled") == 0) { } else if (strcmp(opt_name, "hdr-enabled") == 0) {
cv_hdr_enabled = true; cv_hdr_enabled = true;
@ -1196,10 +1195,10 @@ index bec4268..10c0a75 100644
2.45.2 2.45.2
From 6d6afedd56a3f7b578cac1af7eaf93af931e0500 Mon Sep 17 00:00:00 2001 From 044e5d20ddac5b8144e1937a2e0411189090e82a Mon Sep 17 00:00:00 2001
From: Matthew Anderson <ruinairas1992@gmail.com> From: Matthew Anderson <ruinairas1992@gmail.com>
Date: Sun, 19 May 2024 11:48:52 -0500 Date: Sun, 19 May 2024 11:48:52 -0500
Subject: [PATCH 12/22] Handle gesture cases better to prevent unexpected Subject: [PATCH 12/21] Handle gesture cases better to prevent unexpected
behavior behavior
--- ---
@ -1207,7 +1206,7 @@ Subject: [PATCH 12/22] Handle gesture cases better to prevent unexpected
1 file changed, 43 insertions(+), 20 deletions(-) 1 file changed, 43 insertions(+), 20 deletions(-)
diff --git a/src/wlserver.cpp b/src/wlserver.cpp diff --git a/src/wlserver.cpp b/src/wlserver.cpp
index 131cd72..9afe488 100644 index 236f8d7..a900857 100644
--- a/src/wlserver.cpp --- a/src/wlserver.cpp
+++ b/src/wlserver.cpp +++ b/src/wlserver.cpp
@@ -71,7 +71,8 @@ @@ -71,7 +71,8 @@
@ -1218,9 +1217,9 @@ index 131cd72..9afe488 100644
+bool pending_gesture_x = false; +bool pending_gesture_x = false;
+bool pending_gesture_y = false; +bool pending_gesture_y = false;
bool pending_osk = false; bool pending_osk = false;
//#define GAMESCOPE_SWAPCHAIN_DEBUG
gamescope::ConVar<bool> cv_touch_gestures( "enable_touch_gestures", false, "Enable/Disable the usage of touch gestures" ); using namespace std::literals;
@@ -2647,6 +2648,16 @@ static void apply_touchscreen_orientation(double *x, double *y ) @@ -2678,6 +2679,16 @@ static void apply_touchscreen_orientation(double *x, double *y )
*y = ty; *y = ty;
} }
@ -1237,7 +1236,7 @@ index 131cd72..9afe488 100644
void wlserver_touchmotion( double x, double y, int touch_id, uint32_t time, bool bAlwaysWarpCursor ) void wlserver_touchmotion( double x, double y, int touch_id, uint32_t time, bool bAlwaysWarpCursor )
{ {
assert( wlserver_is_lock_held() ); assert( wlserver_is_lock_held() );
@@ -2685,43 +2696,55 @@ void wlserver_touchmotion( double x, double y, int touch_id, uint32_t time, bool @@ -2716,43 +2727,55 @@ void wlserver_touchmotion( double x, double y, int touch_id, uint32_t time, bool
if ( cv_touch_gestures ) if ( cv_touch_gestures )
{ {
@ -1316,10 +1315,10 @@ index 131cd72..9afe488 100644
2.45.2 2.45.2
From 58e24b2f2ac33eb2388ef734835c6b02e437e563 Mon Sep 17 00:00:00 2001 From 9eae1549e5a539dd2612ab5ca9581ce59e8b1f42 Mon Sep 17 00:00:00 2001
From: Matthew Anderson <ruinairas1992@gmail.com> From: Matthew Anderson <ruinairas1992@gmail.com>
Date: Sun, 19 May 2024 18:14:23 -0500 Date: Sun, 19 May 2024 18:14:23 -0500
Subject: [PATCH 13/22] Add references to drm_set_orientation() and g_drm in Subject: [PATCH 13/21] Add references to drm_set_orientation() and g_drm in
wlserver for rotation gamescope-control wlserver for rotation gamescope-control
--- ---
@ -1328,10 +1327,10 @@ Subject: [PATCH 13/22] Add references to drm_set_orientation() and g_drm in
2 files changed, 5 insertions(+), 3 deletions(-) 2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/wlserver.cpp b/src/wlserver.cpp diff --git a/src/wlserver.cpp b/src/wlserver.cpp
index 9afe488..e963bea 100644 index a900857..ee9f9d0 100644
--- a/src/wlserver.cpp --- a/src/wlserver.cpp
+++ b/src/wlserver.cpp +++ b/src/wlserver.cpp
@@ -1183,8 +1183,9 @@ static void gamescope_control_rotate_display( struct wl_client *client, struct w @@ -1202,8 +1202,9 @@ static void gamescope_control_rotate_display( struct wl_client *client, struct w
wl_log.errorf("Invalid target orientation selected"); wl_log.errorf("Invalid target orientation selected");
} }
} }
@ -1344,10 +1343,10 @@ index 9afe488..e963bea 100644
static void gamescope_control_handle_destroy( struct wl_client *client, struct wl_resource *resource ) static void gamescope_control_handle_destroy( struct wl_client *client, struct wl_resource *resource )
diff --git a/src/wlserver.hpp b/src/wlserver.hpp diff --git a/src/wlserver.hpp b/src/wlserver.hpp
index da67bf7..688d05c 100644 index 0859a21..31fca64 100644
--- a/src/wlserver.hpp --- a/src/wlserver.hpp
+++ b/src/wlserver.hpp +++ b/src/wlserver.hpp
@@ -294,7 +294,8 @@ extern std::atomic<bool> g_bPendingTouchMovement; @@ -309,7 +309,8 @@ extern std::atomic<bool> g_bPendingTouchMovement;
extern gamescope::ConVar<bool> cv_touch_gestures; extern gamescope::ConVar<bool> cv_touch_gestures;
void wlserver_open_steam_menu( bool qam ); void wlserver_open_steam_menu( bool qam );
@ -1361,10 +1360,10 @@ index da67bf7..688d05c 100644
2.45.2 2.45.2
From 768e5689e12c2f57766d27d72b4fad03d54fc01c Mon Sep 17 00:00:00 2001 From 027b3a3b5940a8294c383c65e112247e63f2bcd8 Mon Sep 17 00:00:00 2001
From: Matthew Anderson <ruinairas1992@gmail.com> From: Matthew Anderson <ruinairas1992@gmail.com>
Date: Mon, 20 May 2024 07:02:52 -0500 Date: Mon, 20 May 2024 07:02:52 -0500
Subject: [PATCH 14/22] Fix an issue where forced panel type orientations Subject: [PATCH 14/21] Fix an issue where forced panel type orientations
weren't being applied weren't being applied
--- ---
@ -1372,10 +1371,10 @@ Subject: [PATCH 14/22] Fix an issue where forced panel type orientations
1 file changed, 8 insertions(+), 7 deletions(-) 1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp
index 30150fb..1a2668f 100644 index 8a739ff..0866bb1 100644
--- a/src/Backends/DRMBackend.cpp --- a/src/Backends/DRMBackend.cpp
+++ b/src/Backends/DRMBackend.cpp +++ b/src/Backends/DRMBackend.cpp
@@ -2023,20 +2023,19 @@ namespace gamescope @@ -2031,20 +2031,19 @@ namespace gamescope
void CDRMConnector::UpdateEffectiveOrientation( const drmModeModeInfo *pMode ) void CDRMConnector::UpdateEffectiveOrientation( const drmModeModeInfo *pMode )
{ {
@ -1402,7 +1401,7 @@ index 30150fb..1a2668f 100644
switch ( this->GetProperties().panel_orientation->GetCurrentValue() ) switch ( this->GetProperties().panel_orientation->GetCurrentValue() )
{ {
case DRM_MODE_PANEL_ORIENTATION_NORMAL: case DRM_MODE_PANEL_ORIENTATION_NORMAL:
@@ -2058,6 +2057,7 @@ namespace gamescope @@ -2066,6 +2065,7 @@ namespace gamescope
if ( this->GetScreenType() == gamescope::GAMESCOPE_SCREEN_TYPE_INTERNAL && pMode ) if ( this->GetScreenType() == gamescope::GAMESCOPE_SCREEN_TYPE_INTERNAL && pMode )
{ {
@ -1410,7 +1409,7 @@ index 30150fb..1a2668f 100644
// Auto-detect portait mode for internal displays // Auto-detect portait mode for internal displays
m_ChosenOrientation = pMode->hdisplay < pMode->vdisplay m_ChosenOrientation = pMode->hdisplay < pMode->vdisplay
? GAMESCOPE_PANEL_ORIENTATION_270 ? GAMESCOPE_PANEL_ORIENTATION_270
@@ -2065,6 +2065,7 @@ namespace gamescope @@ -2073,6 +2073,7 @@ namespace gamescope
} }
else else
{ {
@ -1422,20 +1421,20 @@ index 30150fb..1a2668f 100644
2.45.2 2.45.2
From d6e4cf239f0f2113d1f3071a8d4766a810497617 Mon Sep 17 00:00:00 2001 From beab0c8c80c3700d73cddd6806f15893969f0b40 Mon Sep 17 00:00:00 2001
From: Matthew Anderson <ruinairas1992@gmail.com> From: Matthew Anderson <ruinairas1992@gmail.com>
Date: Mon, 20 May 2024 07:25:29 -0500 Date: Mon, 20 May 2024 07:25:29 -0500
Subject: [PATCH 15/22] add missing curly bracket... Subject: [PATCH 15/21] add missing curly bracket...
--- ---
src/Backends/DRMBackend.cpp | 2 +- src/Backends/DRMBackend.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp
index 1a2668f..825812e 100644 index 0866bb1..cdd600f 100644
--- a/src/Backends/DRMBackend.cpp --- a/src/Backends/DRMBackend.cpp
+++ b/src/Backends/DRMBackend.cpp +++ b/src/Backends/DRMBackend.cpp
@@ -2025,7 +2025,7 @@ namespace gamescope @@ -2033,7 +2033,7 @@ namespace gamescope
{ {
if ((this->GetScreenType() == GAMESCOPE_SCREEN_TYPE_INTERNAL && g_DesiredInternalOrientation != GAMESCOPE_PANEL_ORIENTATION_AUTO) || if ((this->GetScreenType() == GAMESCOPE_SCREEN_TYPE_INTERNAL && g_DesiredInternalOrientation != GAMESCOPE_PANEL_ORIENTATION_AUTO) ||
(this->GetScreenType() == GAMESCOPE_SCREEN_TYPE_EXTERNAL && g_DesiredInternalOrientation != GAMESCOPE_PANEL_ORIENTATION_AUTO && g_bExternalForced)) { (this->GetScreenType() == GAMESCOPE_SCREEN_TYPE_EXTERNAL && g_DesiredInternalOrientation != GAMESCOPE_PANEL_ORIENTATION_AUTO && g_bExternalForced)) {
@ -1448,10 +1447,10 @@ index 1a2668f..825812e 100644
2.45.2 2.45.2
From 8983b3621dd81d4633a50a798b7794c6ae9d693b Mon Sep 17 00:00:00 2001 From dd024170f46671f390091c9b4833d5563dd16251 Mon Sep 17 00:00:00 2001
From: Matthew Anderson <ruinairas1992@gmail.com> From: Matthew Anderson <ruinairas1992@gmail.com>
Date: Mon, 20 May 2024 10:17:55 -0500 Date: Mon, 20 May 2024 10:17:55 -0500
Subject: [PATCH 16/22] Fix case where real externals were rotated with faked Subject: [PATCH 16/21] Fix case where real externals were rotated with faked
external panels external panels
--- ---
@ -1460,7 +1459,7 @@ Subject: [PATCH 16/22] Fix case where real externals were rotated with faked
2 files changed, 64 insertions(+), 29 deletions(-) 2 files changed, 64 insertions(+), 29 deletions(-)
diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp
index 825812e..2668ad7 100644 index cdd600f..bc4746b 100644
--- a/src/Backends/DRMBackend.cpp --- a/src/Backends/DRMBackend.cpp
+++ b/src/Backends/DRMBackend.cpp +++ b/src/Backends/DRMBackend.cpp
@@ -318,13 +318,20 @@ namespace gamescope @@ -318,13 +318,20 @@ namespace gamescope
@ -1488,7 +1487,7 @@ index 825812e..2668ad7 100644
return GAMESCOPE_SCREEN_TYPE_EXTERNAL; return GAMESCOPE_SCREEN_TYPE_EXTERNAL;
} }
@@ -2023,11 +2030,11 @@ namespace gamescope @@ -2031,11 +2038,11 @@ namespace gamescope
void CDRMConnector::UpdateEffectiveOrientation( const drmModeModeInfo *pMode ) void CDRMConnector::UpdateEffectiveOrientation( const drmModeModeInfo *pMode )
{ {
@ -1504,10 +1503,10 @@ index 825812e..2668ad7 100644
m_ChosenOrientation = g_DesiredExternalOrientation; m_ChosenOrientation = g_DesiredExternalOrientation;
} }
diff --git a/src/wlserver.cpp b/src/wlserver.cpp diff --git a/src/wlserver.cpp b/src/wlserver.cpp
index e963bea..74d8209 100644 index ee9f9d0..146088a 100644
--- a/src/wlserver.cpp --- a/src/wlserver.cpp
+++ b/src/wlserver.cpp +++ b/src/wlserver.cpp
@@ -2596,29 +2596,57 @@ static void apply_touchscreen_orientation(double *x, double *y ) @@ -2627,29 +2627,57 @@ static void apply_touchscreen_orientation(double *x, double *y )
double ty = 0; double ty = 0;
// Use internal screen always for orientation purposes. // Use internal screen always for orientation purposes.
@ -1591,10 +1590,10 @@ index e963bea..74d8209 100644
2.45.2 2.45.2
From 57057c9e5dc4ac026259726145d5b6e480368699 Mon Sep 17 00:00:00 2001 From b77e5214db01ab13c0a01df5a11c2631ff8a1154 Mon Sep 17 00:00:00 2001
From: Matthew Anderson <ruinairas1992@gmail.com> From: Matthew Anderson <ruinairas1992@gmail.com>
Date: Mon, 20 May 2024 16:30:47 -0500 Date: Mon, 20 May 2024 16:30:47 -0500
Subject: [PATCH 17/22] Add verbose panel logs and attempt to address all Subject: [PATCH 17/21] Add verbose panel logs and attempt to address all
orientation issues orientation issues
--- ---
@ -1604,7 +1603,7 @@ Subject: [PATCH 17/22] Add verbose panel logs and attempt to address all
3 files changed, 39 insertions(+), 21 deletions(-) 3 files changed, 39 insertions(+), 21 deletions(-)
diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp
index 2668ad7..9df20ae 100644 index bc4746b..19819d4 100644
--- a/src/Backends/DRMBackend.cpp --- a/src/Backends/DRMBackend.cpp
+++ b/src/Backends/DRMBackend.cpp +++ b/src/Backends/DRMBackend.cpp
@@ -56,6 +56,7 @@ static constexpr bool k_bUseCursorPlane = false; @@ -56,6 +56,7 @@ static constexpr bool k_bUseCursorPlane = false;
@ -1632,7 +1631,7 @@ index 2668ad7..9df20ae 100644
return GAMESCOPE_SCREEN_TYPE_EXTERNAL; return GAMESCOPE_SCREEN_TYPE_EXTERNAL;
} }
@@ -2030,7 +2032,19 @@ namespace gamescope @@ -2038,7 +2040,19 @@ namespace gamescope
void CDRMConnector::UpdateEffectiveOrientation( const drmModeModeInfo *pMode ) void CDRMConnector::UpdateEffectiveOrientation( const drmModeModeInfo *pMode )
{ {
@ -1654,10 +1653,10 @@ index 2668ad7..9df20ae 100644
m_ChosenOrientation = g_DesiredInternalOrientation; m_ChosenOrientation = g_DesiredInternalOrientation;
} }
diff --git a/src/wlserver.cpp b/src/wlserver.cpp diff --git a/src/wlserver.cpp b/src/wlserver.cpp
index 74d8209..3d4b239 100644 index 146088a..cbaf89a 100644
--- a/src/wlserver.cpp --- a/src/wlserver.cpp
+++ b/src/wlserver.cpp +++ b/src/wlserver.cpp
@@ -2600,26 +2600,29 @@ static void apply_touchscreen_orientation(double *x, double *y ) @@ -2631,26 +2631,29 @@ static void apply_touchscreen_orientation(double *x, double *y )
{ {
if ( g_ForcedScreenType == gamescope::GAMESCOPE_SCREEN_TYPE_EXTERNAL ) if ( g_ForcedScreenType == gamescope::GAMESCOPE_SCREEN_TYPE_EXTERNAL )
{ {
@ -1707,10 +1706,10 @@ index 74d8209..3d4b239 100644
} }
else else
diff --git a/src/wlserver.hpp b/src/wlserver.hpp diff --git a/src/wlserver.hpp b/src/wlserver.hpp
index 688d05c..ae55963 100644 index 31fca64..82eb0e5 100644
--- a/src/wlserver.hpp --- a/src/wlserver.hpp
+++ b/src/wlserver.hpp +++ b/src/wlserver.hpp
@@ -296,6 +296,7 @@ extern gamescope::ConVar<bool> cv_touch_gestures; @@ -311,6 +311,7 @@ extern gamescope::ConVar<bool> cv_touch_gestures;
void wlserver_open_steam_menu( bool qam ); void wlserver_open_steam_menu( bool qam );
extern void drm_set_orientation( struct drm_t *drm, bool isRotated); extern void drm_set_orientation( struct drm_t *drm, bool isRotated);
extern drm_t g_DRM; extern drm_t g_DRM;
@ -1722,17 +1721,17 @@ index 688d05c..ae55963 100644
2.45.2 2.45.2
From 41242b5ee7fa33cae22f30f5bcf5e27169bd8145 Mon Sep 17 00:00:00 2001 From 7508322c78f06e1fe67ccfeb0abb733f4661126b Mon Sep 17 00:00:00 2001
From: Bouke Sybren Haarsma <boukehaarsma23@gmail.com> From: Bouke Sybren Haarsma <boukehaarsma23@gmail.com>
Date: Tue, 28 May 2024 21:56:47 +0200 Date: Tue, 28 May 2024 21:56:47 +0200
Subject: [PATCH 18/22] add closing bracket Subject: [PATCH 18/21] add closing bracket
--- ---
src/main.cpp | 1 + src/main.cpp | 1 +
1 file changed, 1 insertion(+) 1 file changed, 1 insertion(+)
diff --git a/src/main.cpp b/src/main.cpp diff --git a/src/main.cpp b/src/main.cpp
index 4469ac1..e455225 100644 index ab16459..58c77e5 100644
--- a/src/main.cpp --- a/src/main.cpp
+++ b/src/main.cpp +++ b/src/main.cpp
@@ -465,6 +465,7 @@ static enum gamescope::GamescopeBackend parse_backend_name(const char *str) @@ -465,6 +465,7 @@ static enum gamescope::GamescopeBackend parse_backend_name(const char *str)
@ -1747,10 +1746,10 @@ index 4469ac1..e455225 100644
2.45.2 2.45.2
From e528844eb590f8183fdfffaf9a7af39f33dc2213 Mon Sep 17 00:00:00 2001 From d8b9484c8468f4a31556af8903f03cc428982eef Mon Sep 17 00:00:00 2001
From: Bouke Sybren Haarsma <boukehaarsma23@gmail.com> From: Bouke Sybren Haarsma <boukehaarsma23@gmail.com>
Date: Wed, 3 Jan 2024 17:03:04 +0100 Date: Wed, 3 Jan 2024 17:03:04 +0100
Subject: [PATCH 19/22] remove hacky texture Subject: [PATCH 19/21] remove hacky texture
This will use more hardware planes, causing some devices to composite yeilding lower framerates This will use more hardware planes, causing some devices to composite yeilding lower framerates
--- ---
@ -1758,10 +1757,10 @@ This will use more hardware planes, causing some devices to composite yeilding l
1 file changed, 17 insertions(+), 45 deletions(-) 1 file changed, 17 insertions(+), 45 deletions(-)
diff --git a/src/steamcompmgr.cpp b/src/steamcompmgr.cpp diff --git a/src/steamcompmgr.cpp b/src/steamcompmgr.cpp
index 10c0a75..1bc9008 100644 index c29403d..cd6e690 100644
--- a/src/steamcompmgr.cpp --- a/src/steamcompmgr.cpp
+++ b/src/steamcompmgr.cpp +++ b/src/steamcompmgr.cpp
@@ -1579,7 +1579,7 @@ bool MouseCursor::getTexture() @@ -1610,7 +1610,7 @@ bool MouseCursor::getTexture()
{ {
pixels[i * image->width + j] = image->pixels[i * image->width + j]; pixels[i * image->width + j] = image->pixels[i * image->width + j];
} }
@ -1770,7 +1769,7 @@ index 10c0a75..1bc9008 100644
std::vector<uint32_t> resizeBuffer( nDesiredWidth * nDesiredHeight ); std::vector<uint32_t> resizeBuffer( nDesiredWidth * nDesiredHeight );
stbir_resize_uint8_srgb( (unsigned char *)pixels.data(), image->width, image->height, 0, stbir_resize_uint8_srgb( (unsigned char *)pixels.data(), image->width, image->height, 0,
(unsigned char *)resizeBuffer.data(), nDesiredWidth, nDesiredHeight, 0, (unsigned char *)resizeBuffer.data(), nDesiredWidth, nDesiredHeight, 0,
@@ -2257,7 +2257,7 @@ paint_all(bool async) @@ -2290,7 +2290,7 @@ paint_all(bool async)
} }
} }
} }
@ -1779,7 +1778,7 @@ index 10c0a75..1bc9008 100644
int nOldLayerCount = frameInfo.layerCount; int nOldLayerCount = frameInfo.layerCount;
uint32_t flags = 0; uint32_t flags = 0;
@@ -2265,7 +2265,7 @@ paint_all(bool async) @@ -2298,7 +2298,7 @@ paint_all(bool async)
flags |= PaintWindowFlag::BasePlane; flags |= PaintWindowFlag::BasePlane;
paint_window(w, w, &frameInfo, global_focus.cursor, flags); paint_window(w, w, &frameInfo, global_focus.cursor, flags);
update_touch_scaling( &frameInfo ); update_touch_scaling( &frameInfo );
@ -1788,7 +1787,7 @@ index 10c0a75..1bc9008 100644
// paint UI unless it's fully hidden, which it communicates to us through opacity=0 // paint UI unless it's fully hidden, which it communicates to us through opacity=0
// we paint it to extract scaling coefficients above, then remove the layer if one was added // we paint it to extract scaling coefficients above, then remove the layer if one was added
if ( w->opacity == TRANSLUCENT && bHasVideoUnderlay && nOldLayerCount < frameInfo.layerCount ) if ( w->opacity == TRANSLUCENT && bHasVideoUnderlay && nOldLayerCount < frameInfo.layerCount )
@@ -2278,7 +2278,7 @@ paint_all(bool async) @@ -2311,7 +2311,7 @@ paint_all(bool async)
float opacityScale = g_bPendingFade float opacityScale = g_bPendingFade
? 0.0f ? 0.0f
: ((currentTime - fadeOutStartTime) / (float)g_FadeOutDuration); : ((currentTime - fadeOutStartTime) / (float)g_FadeOutDuration);
@ -1797,7 +1796,7 @@ index 10c0a75..1bc9008 100644
paint_cached_base_layer(g_HeldCommits[HELD_COMMIT_FADE], g_CachedPlanes[HELD_COMMIT_FADE], &frameInfo, 1.0f - opacityScale, false); paint_cached_base_layer(g_HeldCommits[HELD_COMMIT_FADE], g_CachedPlanes[HELD_COMMIT_FADE], &frameInfo, 1.0f - opacityScale, false);
paint_window(w, w, &frameInfo, global_focus.cursor, PaintWindowFlag::BasePlane | PaintWindowFlag::FadeTarget | PaintWindowFlag::DrawBorders, opacityScale, override); paint_window(w, w, &frameInfo, global_focus.cursor, PaintWindowFlag::BasePlane | PaintWindowFlag::FadeTarget | PaintWindowFlag::DrawBorders, opacityScale, override);
} }
@@ -2352,34 +2352,6 @@ paint_all(bool async) @@ -2385,34 +2385,6 @@ paint_all(bool async)
if ( overlay == global_focus.inputFocusWindow ) if ( overlay == global_focus.inputFocusWindow )
update_touch_scaling( &frameInfo ); update_touch_scaling( &frameInfo );
} }
@ -1832,7 +1831,7 @@ index 10c0a75..1bc9008 100644
if (notification) if (notification)
{ {
@@ -2957,7 +2929,7 @@ win_maybe_a_dropdown( steamcompmgr_win_t *w ) @@ -2994,7 +2966,7 @@ win_maybe_a_dropdown( steamcompmgr_win_t *w )
// //
// TODO: Come back to me for original Age of Empires HD launcher. // TODO: Come back to me for original Age of Empires HD launcher.
// Does that use it? It wants blending! // Does that use it? It wants blending!
@ -1841,7 +1840,7 @@ index 10c0a75..1bc9008 100644
// Only do this if we have CONTROLPARENT right now. Some other apps, such as the // Only do this if we have CONTROLPARENT right now. Some other apps, such as the
// Street Fighter V (310950) Splash Screen also use LAYERED and TOOLWINDOW, and we don't // Street Fighter V (310950) Splash Screen also use LAYERED and TOOLWINDOW, and we don't
// want that to be overlayed. // want that to be overlayed.
@@ -2972,12 +2944,12 @@ win_maybe_a_dropdown( steamcompmgr_win_t *w ) @@ -3009,12 +2981,12 @@ win_maybe_a_dropdown( steamcompmgr_win_t *w )
// Josh: // Josh:
// The logic here is as follows. The window will be treated as a dropdown if: // The logic here is as follows. The window will be treated as a dropdown if:
@ -1856,7 +1855,7 @@ index 10c0a75..1bc9008 100644
// - If the window has transient for, disregard it, as it is trying to redirecting us elsewhere // - If the window has transient for, disregard it, as it is trying to redirecting us elsewhere
// ie. a settings menu dialog popup or something. // ie. a settings menu dialog popup or something.
// - If the window has both skip taskbar and pager, treat it as a dialog. // - If the window has both skip taskbar and pager, treat it as a dialog.
@@ -3069,7 +3041,7 @@ static bool is_good_override_candidate( steamcompmgr_win_t *override, steamcompm @@ -3106,7 +3078,7 @@ static bool is_good_override_candidate( steamcompmgr_win_t *override, steamcompm
return false; return false;
return override != focus && override->GetGeometry().nX >= 0 && override->GetGeometry().nY >= 0; return override != focus && override->GetGeometry().nX >= 0 && override->GetGeometry().nY >= 0;
@ -1865,7 +1864,7 @@ index 10c0a75..1bc9008 100644
static bool static bool
pick_primary_focus_and_override(focus_t *out, Window focusControlWindow, const std::vector<steamcompmgr_win_t*>& vecPossibleFocusWindows, bool globalFocus, const std::vector<uint32_t>& ctxFocusControlAppIDs) pick_primary_focus_and_override(focus_t *out, Window focusControlWindow, const std::vector<steamcompmgr_win_t*>& vecPossibleFocusWindows, bool globalFocus, const std::vector<uint32_t>& ctxFocusControlAppIDs)
@@ -3210,7 +3182,7 @@ found:; @@ -3247,7 +3219,7 @@ found:;
if ( focus ) if ( focus )
{ {
@ -1874,7 +1873,7 @@ index 10c0a75..1bc9008 100644
out->focusWindow = focus; out->focusWindow = focus;
else else
focus->outdatedInteractiveFocus = true; focus->outdatedInteractiveFocus = true;
@@ -3253,9 +3225,9 @@ found:; @@ -3290,9 +3262,9 @@ found:;
override_focus = fake_override; override_focus = fake_override;
goto found2; goto found2;
} }
@ -1886,7 +1885,7 @@ index 10c0a75..1bc9008 100644
found2:; found2:;
resolveTransientOverrides( true ); resolveTransientOverrides( true );
} }
@@ -4514,7 +4486,7 @@ finish_destroy_win(xwayland_ctx_t *ctx, Window id, bool gone) @@ -4554,7 +4526,7 @@ finish_destroy_win(xwayland_ctx_t *ctx, Window id, bool gone)
{ {
if (gone) if (gone)
finish_unmap_win (ctx, w); finish_unmap_win (ctx, w);
@ -1895,7 +1894,7 @@ index 10c0a75..1bc9008 100644
{ {
std::unique_lock lock( ctx->list_mutex ); std::unique_lock lock( ctx->list_mutex );
*prev = w->xwayland().next; *prev = w->xwayland().next;
@@ -4571,7 +4543,7 @@ destroy_win(xwayland_ctx_t *ctx, Window id, bool gone, bool fade) @@ -4611,7 +4583,7 @@ destroy_win(xwayland_ctx_t *ctx, Window id, bool gone, bool fade)
global_focus.overrideWindow = nullptr; global_focus.overrideWindow = nullptr;
if (x11_win(global_focus.fadeWindow) == id && gone) if (x11_win(global_focus.fadeWindow) == id && gone)
global_focus.fadeWindow = nullptr; global_focus.fadeWindow = nullptr;
@ -1904,7 +1903,7 @@ index 10c0a75..1bc9008 100644
MakeFocusDirty(); MakeFocusDirty();
finish_destroy_win(ctx, id, gone); finish_destroy_win(ctx, id, gone);
@@ -5176,7 +5148,7 @@ handle_property_notify(xwayland_ctx_t *ctx, XPropertyEvent *ev) @@ -5220,7 +5192,7 @@ handle_property_notify(xwayland_ctx_t *ctx, XPropertyEvent *ev)
{ {
get_win_type(ctx, w); get_win_type(ctx, w);
MakeFocusDirty(); MakeFocusDirty();
@ -1913,7 +1912,7 @@ index 10c0a75..1bc9008 100644
} }
if (ev->atom == ctx->atoms.sizeHintsAtom) if (ev->atom == ctx->atoms.sizeHintsAtom)
{ {
@@ -6084,7 +6056,7 @@ void handle_done_commits_xdg( bool vblank, uint64_t vblank_idx ) @@ -6130,7 +6102,7 @@ void handle_done_commits_xdg( bool vblank, uint64_t vblank_idx )
commits_before_their_time.push_back( entry ); commits_before_their_time.push_back( entry );
continue; continue;
} }
@ -1922,7 +1921,7 @@ index 10c0a75..1bc9008 100644
if (!entry.earliestPresentTime) if (!entry.earliestPresentTime)
{ {
entry.earliestPresentTime = next_refresh_time; entry.earliestPresentTime = next_refresh_time;
@@ -6938,7 +6910,7 @@ void update_mode_atoms(xwayland_ctx_t *root_ctx, bool* needs_flush = nullptr) @@ -6983,7 +6955,7 @@ void update_mode_atoms(xwayland_ctx_t *root_ctx, bool* needs_flush = nullptr)
} }
XChangeProperty(root_ctx->dpy, root_ctx->root, root_ctx->atoms.gamescopeDisplayModeListExternal, XA_STRING, 8, PropModeReplace, XChangeProperty(root_ctx->dpy, root_ctx->root, root_ctx->atoms.gamescopeDisplayModeListExternal, XA_STRING, 8, PropModeReplace,
(unsigned char *)modes, strlen(modes) + 1 ); (unsigned char *)modes, strlen(modes) + 1 );
@ -1931,7 +1930,7 @@ index 10c0a75..1bc9008 100644
uint32_t one = 1; uint32_t one = 1;
XChangeProperty(root_ctx->dpy, root_ctx->root, root_ctx->atoms.gamescopeDisplayIsExternal, XA_CARDINAL, 32, PropModeReplace, XChangeProperty(root_ctx->dpy, root_ctx->root, root_ctx->atoms.gamescopeDisplayIsExternal, XA_CARDINAL, 32, PropModeReplace,
(unsigned char *)&one, 1 ); (unsigned char *)&one, 1 );
@@ -7696,7 +7668,7 @@ void steamcompmgr_send_frame_done_to_focus_window() @@ -7748,7 +7720,7 @@ void steamcompmgr_send_frame_done_to_focus_window()
{ {
wlserver_lock(); wlserver_lock();
wlserver_send_frame_done( global_focus.focusWindow->xwayland().surface.main_surface , &now ); wlserver_send_frame_done( global_focus.focusWindow->xwayland().surface.main_surface , &now );
@ -1944,20 +1943,20 @@ index 10c0a75..1bc9008 100644
2.45.2 2.45.2
From 1dbcfed76f4b80d8a9f6570819b5af7917c786fc Mon Sep 17 00:00:00 2001 From 7eac5235caa7cb6664f637017879af95cde34ad7 Mon Sep 17 00:00:00 2001
From: Kyle Gospodnetich <me@kylegospodneti.ch> From: Kyle Gospodnetich <me@kylegospodneti.ch>
Date: Tue, 2 Jul 2024 14:12:47 -0700 Date: Tue, 2 Jul 2024 14:12:47 -0700
Subject: [PATCH 21/22] Only change refresh rates on internal displays Subject: [PATCH 20/21] Only change refresh rates on internal displays
--- ---
src/Backends/DRMBackend.cpp | 2 +- src/Backends/DRMBackend.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp
index ff1858b..f5a452e 100644 index 19819d4..476efef 100644
--- a/src/Backends/DRMBackend.cpp --- a/src/Backends/DRMBackend.cpp
+++ b/src/Backends/DRMBackend.cpp +++ b/src/Backends/DRMBackend.cpp
@@ -2152,7 +2152,7 @@ namespace gamescope @@ -2162,7 +2162,7 @@ namespace gamescope
( m_Mutable.szMakePNP == "VLV"sv && m_Mutable.szModel == "Jupiter"sv ) || ( m_Mutable.szMakePNP == "VLV"sv && m_Mutable.szModel == "Jupiter"sv ) ||
( m_Mutable.szMakePNP == "VLV"sv && m_Mutable.szModel == "Galileo"sv ); ( m_Mutable.szMakePNP == "VLV"sv && m_Mutable.szModel == "Galileo"sv );
@ -1970,20 +1969,20 @@ index ff1858b..f5a452e 100644
2.45.2 2.45.2
From 3b0408f6ec7307e7a38f2c795b932d0dc05f2d72 Mon Sep 17 00:00:00 2001 From 6db019cb96bde2d961d0408170817354915a51f5 Mon Sep 17 00:00:00 2001
From: Kyle Gospodnetich <me@kylegospodneti.ch> From: Kyle Gospodnetich <me@kylegospodneti.ch>
Date: Tue, 2 Jul 2024 15:14:23 -0700 Date: Tue, 2 Jul 2024 15:14:23 -0700
Subject: [PATCH 22/22] Also check g_bExternalForced Subject: [PATCH 21/21] Also check g_bExternalForced
--- ---
src/Backends/DRMBackend.cpp | 6 +++--- src/Backends/DRMBackend.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-) 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp
index f5a452e..d7f935d 100644 index 476efef..cf2a613 100644
--- a/src/Backends/DRMBackend.cpp --- a/src/Backends/DRMBackend.cpp
+++ b/src/Backends/DRMBackend.cpp +++ b/src/Backends/DRMBackend.cpp
@@ -2152,9 +2152,9 @@ namespace gamescope @@ -2162,9 +2162,9 @@ namespace gamescope
( m_Mutable.szMakePNP == "VLV"sv && m_Mutable.szModel == "Jupiter"sv ) || ( m_Mutable.szMakePNP == "VLV"sv && m_Mutable.szModel == "Jupiter"sv ) ||
( m_Mutable.szMakePNP == "VLV"sv && m_Mutable.szModel == "Galileo"sv ); ( m_Mutable.szMakePNP == "VLV"sv && m_Mutable.szModel == "Galileo"sv );