From 923ed436db60bccbce146388cd89595f22abb5d5 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Tue, 6 Aug 2024 22:17:02 -0700 Subject: [PATCH 1/3] chore: Update to gamescope 3.14.28 --- ...te-BOE-and-SDC-OLED-Deck-panel-rates.patch | 63 ------------------- spec_files/gamescope/gamescope.spec | 8 +-- 2 files changed, 3 insertions(+), 68 deletions(-) delete mode 100644 spec_files/gamescope/drm-Separate-BOE-and-SDC-OLED-Deck-panel-rates.patch diff --git a/spec_files/gamescope/drm-Separate-BOE-and-SDC-OLED-Deck-panel-rates.patch b/spec_files/gamescope/drm-Separate-BOE-and-SDC-OLED-Deck-panel-rates.patch deleted file mode 100644 index f39afdbc..00000000 --- a/spec_files/gamescope/drm-Separate-BOE-and-SDC-OLED-Deck-panel-rates.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 2e4d7ad1bf2cb98eb67ff8f9385cf6657cf2e912 Mon Sep 17 00:00:00 2001 -From: Matthew Schwartz -Date: Wed, 3 Jul 2024 15:20:08 -0700 -Subject: [PATCH] drm: Separate BOE and SDC OLED Deck panel valid refresh rates - -OLED Decks with BOE panels seem to struggle with a few different -specific modesets (51hz/55hz/65hz) that SDC panels have no issues with. -To work around this, let's make use of Gamescope recognizing each -display manufacturer to correct the bad modesets while leaving -SDC panel units alone. This can be reverted if an underlying cause can -be found in the kernel in the future. ---- - src/Backends/DRMBackend.cpp | 16 +++++++++++++--- - 1 file changed, 13 insertions(+), 3 deletions(-) - -diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp -index 97ef446..9f93c7f 100644 ---- a/src/Backends/DRMBackend.cpp -+++ b/src/Backends/DRMBackend.cpp -@@ -554,7 +554,7 @@ static constexpr uint32_t s_kSteamDeckLCDRates[] = - 60, - }; - --static constexpr uint32_t s_kSteamDeckOLEDRates[] = -+static constexpr uint32_t s_kSteamDeckOLEDSDCRates[] = - { - 45, 47, 48, 49, - 50, 51, 53, 55, 56, 59, -@@ -564,6 +564,16 @@ static constexpr uint32_t s_kSteamDeckOLEDRates[] = - 90, - }; - -+static constexpr uint32_t s_kSteamDeckOLEDBOERates[] = -+{ -+ 45, 47, 48, 49, -+ 50, 53, 56, 59, -+ 60, 62, 64, 66, 68, -+ 72, 73, 76, 77, 78, -+ 80, 81, 82, 84, 85, 86, 87, 88, -+ 90, -+}; -+ - static void update_connector_display_info_wl(struct drm_t *drm) - { - wlserver_lock(); -@@ -2128,12 +2138,12 @@ namespace gamescope - if ( pProduct->product == kPIDGalileoSDC ) - { - m_Mutable.eKnownDisplay = GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_OLED_SDC; -- m_Mutable.ValidDynamicRefreshRates = std::span( s_kSteamDeckOLEDRates ); -+ m_Mutable.ValidDynamicRefreshRates = std::span( s_kSteamDeckOLEDSDCRates ); - } - else if ( pProduct->product == kPIDGalileoBOE ) - { - m_Mutable.eKnownDisplay = GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_OLED_BOE; -- m_Mutable.ValidDynamicRefreshRates = std::span( s_kSteamDeckOLEDRates ); -+ m_Mutable.ValidDynamicRefreshRates = std::span( s_kSteamDeckOLEDBOERates ); - } - else - { --- -2.45.2 - diff --git a/spec_files/gamescope/gamescope.spec b/spec_files/gamescope/gamescope.spec index dd1280ca..6e6c60fe 100644 --- a/spec_files/gamescope/gamescope.spec +++ b/spec_files/gamescope/gamescope.spec @@ -3,11 +3,11 @@ %global _default_patch_fuzz 2 %global build_timestamp %(date +"%Y%m%d") %global toolchain clang -%global gamescope_tag 3.14.27 +%global gamescope_tag 3.14.28 Name: gamescope Version: 100.%{gamescope_tag} -Release: 2.bazzite +Release: 1.bazzite Summary: Micro-compositor for video games on Wayland License: BSD @@ -23,10 +23,8 @@ Patch1: chimeraos.patch # https://hhd.dev/ Patch2: disable-steam-touch-click-atom.patch Patch3: v2-0001-always-send-ctrl-1-2-to-steam-s-wayland-session.patch -# https://github.com/ValveSoftware/gamescope/issues/1398 -Patch4: drm-Separate-BOE-and-SDC-OLED-Deck-panel-rates.patch # https://github.com/ValveSoftware/gamescope/issues/1369 -Patch5: revert-299bc34.patch +Patch4: revert-299bc34.patch BuildRequires: meson >= 0.54.0 BuildRequires: ninja-build From 0c64a62aa6571cb903ef9fd7e625cad8fdf7c915 Mon Sep 17 00:00:00 2001 From: Robert Sturla Date: Wed, 7 Aug 2024 21:54:58 +0100 Subject: [PATCH 2/3] fix(nvidia): pin Nvidia drivers to v555 due to issues in v560 with monitors freezing (#1468) --- Containerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index 736deafc..07db825d 100644 --- a/Containerfile +++ b/Containerfile @@ -848,7 +848,8 @@ RUN /usr/libexec/containerbuild/image-info && \ mkdir -p /var/tmp && chmod 1777 /var/tmp && \ ostree container commit -FROM ghcr.io/ublue-os/akmods-nvidia:${KERNEL_FLAVOR}-${FEDORA_MAJOR_VERSION} AS nvidia-akmods +# Pin the NVIDIA images to the last build of the 555 driver due to issues with monitor freezing on the newer 560 drivers +FROM ghcr.io/ublue-os/akmods-nvidia:${KERNEL_FLAVOR}-${FEDORA_MAJOR_VERSION}-20240806 AS nvidia-akmods FROM bazzite AS bazzite-nvidia From 8c1356c322463fd27cc7c3966164f23aa08cf581 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Wed, 7 Aug 2024 16:31:33 -0700 Subject: [PATCH 3/3] fix: Disable pipewire camera handling temporarily --- .../wireplumber/wireplumber.conf.d/10-disable-camera.conf | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 system_files/desktop/shared/usr/share/wireplumber/wireplumber.conf.d/10-disable-camera.conf diff --git a/system_files/desktop/shared/usr/share/wireplumber/wireplumber.conf.d/10-disable-camera.conf b/system_files/desktop/shared/usr/share/wireplumber/wireplumber.conf.d/10-disable-camera.conf new file mode 100644 index 00000000..e2e7d7e9 --- /dev/null +++ b/system_files/desktop/shared/usr/share/wireplumber/wireplumber.conf.d/10-disable-camera.conf @@ -0,0 +1,5 @@ +wireplumber.profiles = { + main = { + monitor.libcamera = disabled + } +} \ No newline at end of file