mirror of
https://github.com/ublue-os/bazzite.git
synced 2025-01-30 21:32:48 +00:00
57 lines
1.6 KiB
Diff
57 lines
1.6 KiB
Diff
diff --git a/src/drm.cpp b/src/drm.cpp
|
|
index 42c67b9..6373e22 100644
|
|
--- a/src/drm.cpp
|
|
+++ b/src/drm.cpp
|
|
@@ -549,6 +549,19 @@ static constexpr uint32_t s_kSteamDeckOLEDRates[] =
|
|
90,
|
|
};
|
|
|
|
+static constexpr uint32_t s_kLegionGoRates[] =
|
|
+{
|
|
+ 60,
|
|
+ 144,
|
|
+}
|
|
+
|
|
+static constexpr uint32_t s_kLokiRates[] =
|
|
+{
|
|
+ 40,
|
|
+ 50,
|
|
+ 60,
|
|
+}
|
|
+
|
|
static void update_connector_display_info_wl(struct drm_t *drm)
|
|
{
|
|
wlserver_lock();
|
|
@@ -2127,6 +2140,18 @@ namespace gamescope
|
|
}
|
|
}
|
|
|
|
+ if ( m_Mutable.szMakePNP == "LEN"sv && m_Mutable.szModel == "Go Display"sv )
|
|
+ {
|
|
+ m_Mutable.eKnownDisplay = GAMESCOPE_KNOWN_DISPLAY_LEGION_GO;
|
|
+ m_Mutable.ValidDynamicRefreshRates = std::span( s_kLegionGoRates );
|
|
+ }
|
|
+
|
|
+ if ( m_Mutable.szMakePNP == "AYN"sv && m_Mutable.szModel == "LK-GOLDSPV58"sv )
|
|
+ {
|
|
+ m_Mutable.eKnownDisplay = GAMESCOPE_KNOWN_DISPLAY_LOKI;
|
|
+ m_Mutable.ValidDynamicRefreshRates = std::span( s_kLokiRates );
|
|
+ }
|
|
+
|
|
// Colorimetry
|
|
const char *pszColorOverride = getenv( "GAMESCOPE_INTERNAL_COLORIMETRY_OVERRIDE" );
|
|
if ( pszColorOverride && *pszColorOverride && GetScreenType() == GAMESCOPE_SCREEN_TYPE_INTERNAL )
|
|
diff --git a/src/gamescope_shared.h b/src/gamescope_shared.h
|
|
index f34174e..08e7b17 100644
|
|
--- a/src/gamescope_shared.h
|
|
+++ b/src/gamescope_shared.h
|
|
@@ -10,6 +10,8 @@ namespace gamescope
|
|
GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_LCD, // Jupiter
|
|
GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_OLED_SDC, // Galileo SDC
|
|
GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_OLED_BOE, // Galileo BOE
|
|
+ GAMESCOPE_KNOWN_DISPLAY_LEGION_GO, // Lenovo Legion Go
|
|
+ GAMESCOPE_KNOWN_DISPLAY_LOKI, // Ayn Loki
|
|
};
|
|
|
|
enum GamescopeModeGeneration
|