summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMerlin Jehli2024-06-03 10:08:14 +0200
committerMerlin Jehli2024-06-03 10:08:14 +0200
commit1513ed9a84b85b31c0529fff9320016d10619094 (patch)
tree2941cf39332ab06777f026485695139f00c3c499
parent01730ef39b4f6b5de8e65b07d552ea0075d1b683 (diff)
downloadaur-gamescope-fml.tar.gz
update to 3.14.18
-rw-r--r--.SRCINFO10
-rw-r--r--PKGBUILD15
-rw-r--r--disable-steam-touch-click-atom.patch13
-rw-r--r--modifiers.patch100
4 files changed, 11 insertions, 127 deletions
diff --git a/.SRCINFO b/.SRCINFO
index c8eca0bd3ccb..e683f245f333 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = gamescope-fml
pkgdesc = SteamOS session compositing window manager with added patches
- pkgver = 3.14.16
+ pkgver = 3.14.18
pkgrel = 1
url = https://github.com/ValveSoftware/gamescope
arch = x86_64
@@ -47,25 +47,21 @@ pkgbase = gamescope-fml
depends = xorg-server-xwayland
provides = gamescope
conflicts = gamescope
- source = git+https://github.com/ValveSoftware/gamescope.git#tag=3.14.16
+ source = git+https://github.com/ValveSoftware/gamescope.git#tag=3.14.18
source = git+https://github.com/nothings/stb.git#commit=af1a5bc352164740c1cc1354942b1c6b72eacb8a
source = git+https://github.com/Joshua-Ashton/reshade.git
source = git+https://github.com/Joshua-Ashton/GamescopeShaders.git#tag=v0.1
source = git+https://github.com/KhronosGroup/SPIRV-Headers.git
source = 720p.patch
- source = disable-steam-touch-click-atom.patch
source = external-rotation.patch
source = panel-type.patch
- source = modifiers.patch
- sha256sums = 024c6e89befd05fe8e15b925adf2a9b435654834036df23a0571843478afb607
+ sha256sums = 97aeb6dd4206c2716a063c145d24bde443163e0e13e045359ac7e8a293f2d42e
sha256sums = e39e0c91b297bfd707afcda84ecdc15a08c22e2ad4c347fc3533b1ed98fb3f85
sha256sums = SKIP
sha256sums = 03726f2fb44ae79e6a398e8f9aaaf8054800dda9b8298726157522fe5f7296b1
sha256sums = SKIP
sha256sums = 63a9c78d2871b5f53e037b43929a9db5fac1d464a0026d0d0b207227bbd9dcd5
- sha256sums = b12682ccaf9e0fd25bfed37c16f79d79ce418564b73b2ed1e4a81b2b03dc43cf
sha256sums = 86f0832f00f5c4f75df8bd5d2a434a31ae4879b59dbee63239d4035b75c56b02
sha256sums = 5b09480791d07f76df4da2fafc54336ad6806d3eaaf57ab81c651ebd3b56ff51
- sha256sums = ef97afb0fa044fa0e95c38936ce92bdcdfc23080e377fd71f42a2fab9aabf0cb
pkgname = gamescope-fml
diff --git a/PKGBUILD b/PKGBUILD
index 8be252b21b38..2dae8746b0e4 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,7 +2,7 @@
_pkgname=gamescope
pkgname=gamescope-fml
-pkgver=3.14.16
+pkgver=3.14.18
pkgrel=1
pkgdesc='SteamOS session compositing window manager with added patches'
arch=(x86_64)
@@ -61,22 +61,18 @@ source=(
git+https://github.com/Joshua-Ashton/GamescopeShaders.git#tag=v0.1
git+https://github.com/KhronosGroup/SPIRV-Headers.git
720p.patch
- disable-steam-touch-click-atom.patch
external-rotation.patch
panel-type.patch
- modifiers.patch
)
-sha256sums=('024c6e89befd05fe8e15b925adf2a9b435654834036df23a0571843478afb607'
+sha256sums=('97aeb6dd4206c2716a063c145d24bde443163e0e13e045359ac7e8a293f2d42e'
'e39e0c91b297bfd707afcda84ecdc15a08c22e2ad4c347fc3533b1ed98fb3f85'
'SKIP'
'03726f2fb44ae79e6a398e8f9aaaf8054800dda9b8298726157522fe5f7296b1'
'SKIP'
'63a9c78d2871b5f53e037b43929a9db5fac1d464a0026d0d0b207227bbd9dcd5'
- 'b12682ccaf9e0fd25bfed37c16f79d79ce418564b73b2ed1e4a81b2b03dc43cf'
'86f0832f00f5c4f75df8bd5d2a434a31ae4879b59dbee63239d4035b75c56b02'
- '5b09480791d07f76df4da2fafc54336ad6806d3eaaf57ab81c651ebd3b56ff51'
- 'ef97afb0fa044fa0e95c38936ce92bdcdfc23080e377fd71f42a2fab9aabf0cb')
+ '5b09480791d07f76df4da2fafc54336ad6806d3eaaf57ab81c651ebd3b56ff51')
prepare() {
cd "$srcdir/$_pkgname"
@@ -115,6 +111,11 @@ build() {
arch-meson gamescope build \
-Dforce_fallback_for=stb,wlroots \
-Dpipewire=enabled \
+ -Dinput_emulation=enabled \
+ -Ddrm_backend=enabled \
+ -Drt_cap=enabled \
+ -Davif_screenshots=enabled \
+ -Dsdl2_backend=enabled \
-Denable_gamescope=true \
-Denable_gamescope_wsi_layer=true \
-Denable_openvr_support=true
diff --git a/disable-steam-touch-click-atom.patch b/disable-steam-touch-click-atom.patch
deleted file mode 100644
index 8c980b70cee7..000000000000
--- a/disable-steam-touch-click-atom.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/steamcompmgr.cpp b/src/steamcompmgr.cpp
-index 05337c1..d6d883b 100644
---- a/src/steamcompmgr.cpp
-+++ b/src/steamcompmgr.cpp
-@@ -4949,7 +4949,7 @@ handle_property_notify(xwayland_ctx_t *ctx, XPropertyEvent *ev)
- focusDirty = true;
- }
- }
-- if (ev->atom == ctx->atoms.steamTouchClickModeAtom )
-+ if (ev->atom == ctx->atoms.steamTouchClickModeAtom && !env_to_bool(getenv("GAMESCOPE_DISABLE_TOUCH_CLICK_MODE")))
- {
- gamescope::cv_touch_click_mode = (gamescope::TouchClickMode) get_prop(ctx, ctx->root, ctx->atoms.steamTouchClickModeAtom, 0u );
- }
diff --git a/modifiers.patch b/modifiers.patch
deleted file mode 100644
index a4c7c07e9ec1..000000000000
--- a/modifiers.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 4ca3986582d7a45162da9c99e85044a8b9a0fd65 Mon Sep 17 00:00:00 2001
-From: Joshua Ashton <joshua@froggi.es>
-Date: Sat, 18 May 2024 18:47:52 +0100
-Subject: [PATCH] wayland_backend: Hopefully fix GPUs wehere modifiers are not
- supported
-
----
- src/wayland_backend.cpp | 29 ++++++++++++++++++++++++-----
- 1 file changed, 24 insertions(+), 5 deletions(-)
-
-diff --git a/src/wayland_backend.cpp b/src/wayland_backend.cpp
-index a8b067320..ddc6c10df 100644
---- a/src/wayland_backend.cpp
-+++ b/src/wayland_backend.cpp
-@@ -73,6 +73,7 @@ namespace gamescope
-
- gamescope::ConVar<bool> cv_wayland_mouse_warp_without_keyboard_focus( "wayland_mouse_warp_without_keyboard_focus", true, "Should we only forward mouse warps to the app when we have keyboard focus?" );
- gamescope::ConVar<bool> cv_wayland_mouse_relmotion_without_keyboard_focus( "wayland_mouse_relmotion_without_keyboard_focus", false, "Should we only forward mouse relative motion to the app when we have keyboard focus?" );
-+ gamescope::ConVar<bool> cv_wayland_use_modifiers( "wayland_use_modifiers", true, "Use DMA-BUF modifiers?" );
-
- class CWaylandConnector;
- class CWaylandPlane;
-@@ -532,6 +533,8 @@ namespace gamescope
- void SetFullscreen( bool bFullscreen ); // Thread safe, can be called from the input thread.
- void UpdateFullscreenState();
-
-+ bool SupportsFormat( uint32_t uDRMFormat ) const;
-+
- void SetHostCompositorIsCurrentlyVRR( bool bActive ) { m_bHostCompositorIsCurrentlyVRR = bActive; }
-
- bool CurrentDisplaySupportsVRR() const { return m_bHostCompositorIsCurrentlyVRR; }
-@@ -598,6 +601,7 @@ namespace gamescope
- zwp_relative_pointer_v1 *m_pRelativePointer = nullptr;
-
- std::unordered_map<uint32_t, std::vector<uint64_t>> m_FormatModifiers;
-+ std::unordered_set<uint32_t> m_ModifierlessFormats;
- std::unordered_map<uint32_t, wl_buffer *> m_ImportedFbs;
-
- uint32_t m_uPointerEnterSerial = 0;
-@@ -1270,15 +1274,15 @@ namespace gamescope
- void CWaylandBackend::GetPreferredOutputFormat( VkFormat *pPrimaryPlaneFormat, VkFormat *pOverlayPlaneFormat ) const
- {
- VkFormat u8BitFormat = VK_FORMAT_UNDEFINED;
-- if ( m_FormatModifiers.contains( DRM_FORMAT_ARGB8888 ) )
-+ if ( SupportsFormat( DRM_FORMAT_ARGB8888 ) )
- u8BitFormat = VK_FORMAT_B8G8R8A8_UNORM;
-- else if ( m_FormatModifiers.contains( DRM_FORMAT_ABGR8888 ) )
-+ else if ( SupportsFormat( DRM_FORMAT_ABGR8888 ) )
- u8BitFormat = VK_FORMAT_R8G8B8A8_UNORM;
-
- VkFormat u10BitFormat = VK_FORMAT_UNDEFINED;
-- if ( m_FormatModifiers.contains( DRM_FORMAT_ABGR2101010 ) )
-+ if ( SupportsFormat( DRM_FORMAT_ABGR2101010 ) )
- u10BitFormat = VK_FORMAT_A2B10G10R10_UNORM_PACK32;
-- else if ( m_FormatModifiers.contains( DRM_FORMAT_ARGB2101010 ) )
-+ else if ( SupportsFormat( DRM_FORMAT_ARGB2101010 ) )
- u10BitFormat = VK_FORMAT_A2R10G10B10_UNORM_PACK32;
-
- assert( u8BitFormat != VK_FORMAT_UNDEFINED );
-@@ -1478,10 +1482,16 @@ namespace gamescope
-
- bool CWaylandBackend::UsesModifiers() const
- {
-- return true;
-+ if ( !cv_wayland_use_modifiers )
-+ return false;
-+
-+ return !m_FormatModifiers.empty();
- }
- std::span<const uint64_t> CWaylandBackend::GetSupportedModifiers( uint32_t uDrmFormat ) const
- {
-+ if ( !UsesModifiers() )
-+ return std::span<const uint64_t>{};
-+
- auto iter = m_FormatModifiers.find( uDrmFormat );
- if ( iter == m_FormatModifiers.end() )
- return std::span<const uint64_t>{};
-@@ -1744,6 +1754,13 @@ namespace gamescope
- }
- }
-
-+ bool CWaylandBackend::SupportsFormat( uint32_t uDRMFormat ) const
-+ {
-+ return UsesModifiers()
-+ ? m_FormatModifiers.contains( uDRMFormat )
-+ : m_ModifierlessFormats.contains( uDRMFormat );
-+ }
-+
- /////////////////////
- // Wayland Callbacks
- /////////////////////
-@@ -1831,6 +1848,8 @@ namespace gamescope
- //xdg_log.infof( "Modifier: %s (0x%" PRIX32 ") %lx", drmGetFormatName( uFormat ), uFormat, ulModifier );
- if ( ulModifier != DRM_FORMAT_MOD_INVALID )
- m_FormatModifiers[uFormat].emplace_back( ulModifier );
-+ else
-+ m_ModifierlessFormats.emplace( uFormat );
- }
-
- // Output