mirror of
https://github.com/ublue-os/bazzite.git
synced 2025-02-25 03:40:33 +00:00
chore: Add Nvidia patch for gamescope
This commit is contained in:
parent
33e857d58a
commit
d13e82012e
spec_files/gamescope
54
spec_files/gamescope/1671.patch
Normal file
54
spec_files/gamescope/1671.patch
Normal file
@ -0,0 +1,54 @@
|
||||
From 4da5c0a60ece2955cd60166ad0f93c93b0871723 Mon Sep 17 00:00:00 2001
|
||||
From: brainantifreeze <you@example.com>
|
||||
Date: Thu, 19 Dec 2024 09:16:15 +0000
|
||||
Subject: [PATCH] add layer env var to hide present wait ext
|
||||
|
||||
---
|
||||
layer/VkLayer_FROG_gamescope_wsi.cpp | 20 +++++++++++++++++++-
|
||||
1 file changed, 19 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/layer/VkLayer_FROG_gamescope_wsi.cpp b/layer/VkLayer_FROG_gamescope_wsi.cpp
|
||||
index 718a2604f3..f33da7f22f 100644
|
||||
--- a/layer/VkLayer_FROG_gamescope_wsi.cpp
|
||||
+++ b/layer/VkLayer_FROG_gamescope_wsi.cpp
|
||||
@@ -496,7 +496,11 @@ namespace GamescopeWSILayer {
|
||||
createInfo.ppEnabledExtensionNames = enabledExts.data();
|
||||
|
||||
setenv("vk_xwayland_wait_ready", "false", 0);
|
||||
- setenv("vk_khr_present_wait", "true", 0);
|
||||
+ if (getHidePresentWait()) {
|
||||
+ setenv("vk_khr_present_wait", "false", 0);
|
||||
+ } else {
|
||||
+ setenv("vk_khr_present_wait", "true", 0);
|
||||
+ }
|
||||
|
||||
VkResult result = pfnCreateInstanceProc(&createInfo, pAllocator, pInstance);
|
||||
if (result != VK_SUCCESS)
|
||||
@@ -801,6 +805,10 @@ namespace GamescopeWSILayer {
|
||||
const vkroots::VkInstanceDispatch* pDispatch,
|
||||
VkPhysicalDevice physicalDevice,
|
||||
VkPhysicalDeviceFeatures2* pFeatures) {
|
||||
+ if (getHidePresentWait()) {
|
||||
+ fprintf(stderr, "[Gamescope WSI] Removing VkPhysicalDevicePresentWaitFeaturesKHR because GAMESCOPE_WSI_HIDE_PRESENT_WAIT_EXT is set\n");
|
||||
+ vkroots::RemoveFromChain<VkPhysicalDevicePresentWaitFeaturesKHR>(pFeatures);
|
||||
+ }
|
||||
pDispatch->GetPhysicalDeviceFeatures2(physicalDevice, pFeatures);
|
||||
}
|
||||
|
||||
@@ -1015,6 +1023,16 @@ namespace GamescopeWSILayer {
|
||||
return value;
|
||||
}
|
||||
|
||||
+ static bool getHidePresentWait() {
|
||||
+ static bool s_hidePresentWait = []() -> bool {
|
||||
+ if (auto hide = parseEnv<uint32_t>("GAMESCOPE_WSI_HIDE_PRESENT_WAIT_EXT")) {
|
||||
+ return *hide == 1;
|
||||
+ }
|
||||
+ return false;
|
||||
+ }();
|
||||
+ return s_hidePresentWait;
|
||||
+ }
|
||||
+
|
||||
static uint32_t getMinImageCount() {
|
||||
static uint32_t s_minImageCount = []() -> uint32_t {
|
||||
if (auto minCount = parseEnv<uint32_t>("GAMESCOPE_WSI_MIN_IMAGE_COUNT")) {
|
@ -8,7 +8,7 @@
|
||||
|
||||
Name: gamescope
|
||||
#Version: 100.%{gamescope_tag}
|
||||
Version: 101.%{short_commit}
|
||||
Version: 102.%{short_commit}
|
||||
Release: 1.bazzite
|
||||
Summary: Micro-compositor for video games on Wayland
|
||||
|
||||
@ -27,6 +27,9 @@ Patch1: handheld.patch
|
||||
# https://github.com/ValveSoftware/gamescope/pull/740
|
||||
Patch2: 740.patch
|
||||
|
||||
# https://github.com/ValveSoftware/gamescope/pull/1671
|
||||
Patch3: 1671.patch
|
||||
|
||||
BuildRequires: meson >= 0.54.0
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: cmake
|
||||
|
Loading…
x
Reference in New Issue
Block a user