From bc2c97d16e2a79ae0b86b279769d39652a90b7d9 Mon Sep 17 00:00:00 2001 From: Markus Fritsche Date: Thu, 30 Apr 2026 04:59:37 +0000 Subject: [PATCH] kwin-fourier: revert active patch to 0001, bump to pkgrel=2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 0002's upstream-shape patch turned out to be semantically equivalent to stock (sync_file snapshots fences at export, polling the dmabuf fd tracks later-added fences — the patch swaps one ioctl for one F_DUPFD with a behaviour change Mutter explicitly moved away from on amdgpu). Hosts running 0002 are effectively stock and stall during V4L2 stateless playback because the producer doesn't populate dma_resv exclusive fences, so the sync_file is a stub and KWin waits forever. 0001 (bypass the watchDmaBuf wait entirely) is the working downstream carry. Trade-off is that frames can present before the producer signals, but on V4L2 stateless hardware where no fence is populated at all, there's nothing to wait for in practice. Upstream fix lives in the linux-media RFC (vb2 dma_resv producer fences, sent 2026-04-29). Once that lands and producer drivers opt in, the 0001 carry can be retired and the upstream-shape 0002 reconsidered. Both patches stay on disk; 0002 is not being upstreamed (MR 9157 closed on reviewer feedback). --- arch/kwin-fourier/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/kwin-fourier/PKGBUILD b/arch/kwin-fourier/PKGBUILD index b30063c75..3039dff9f 100644 --- a/arch/kwin-fourier/PKGBUILD +++ b/arch/kwin-fourier/PKGBUILD @@ -23,7 +23,7 @@ pkgname=kwin pkgver=6.6.4 _dirver=$(echo $pkgver | cut -d. -f1-3) -pkgrel=1 +pkgrel=2 epoch=1 arch=(aarch64 x86_64) url='https://kde.org/plasma-desktop/' @@ -98,7 +98,7 @@ makedepends=(extra-cmake-modules optdepends=('plasma-keyboard: virtual keyboard') groups=(plasma) source=(https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz{,.sig} - 0002-transaction-poll-dmabuf-fd-directly-upstream-shape.patch) + 0001-transaction-bypass-watchDmaBuf-fence-wait.patch) sha256sums=('3f9439760580a977d018daf4b35b62e5a1700def7b21c8dfbfc789d21378d7ad' 'SKIP' 'SKIP') @@ -109,7 +109,7 @@ validpgpkeys=('E0A3EB202F8E57528E13E72FD7574483BB57B18D' # Jonathan Esk-Riddell '1FA881591C26B276D7A5518EEAAF29B42A678C20') # Marco Martin prepare() { - patch -d $pkgname-$pkgver -p1 < 0002-transaction-poll-dmabuf-fd-directly-upstream-shape.patch + patch -d $pkgname-$pkgver -p1 < 0001-transaction-bypass-watchDmaBuf-fence-wait.patch } build() {