Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kwin6 for openSUSE:Factory checked in at 2026-10-16 20:08:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kwin6 (Old) and /work/SRC/openSUSE:Factory/.kwin6.new.3698736 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kwin6" Fri Oct 16 20:08:06 2026 rev:59 rq:1385221 version:6.8.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kwin6/kwin6.changes 2026-09-10 11:45:32.295851308 +0200 +++ /work/SRC/openSUSE:Factory/.kwin6.new.3698736/kwin6.changes 2026-10-16 20:09:17.690158848 +0200 @@ -1,0 +2,76 @@ +Fri Oct 16 14:13:53 UTC 2026 - Fabian Vogt <[email protected]> + +- Add patch to fix some alpha compositing issues: + * 0001-opengl-gltexture-use-swizzles-to-ignore-non-existent.patch + +------------------------------------------------------------------- +Thu Oct 8 16:54:34 UTC 2026 - Fabian Vogt <[email protected]> + +- Update to 6.8.0: + * New feature release + * For more details see https://kde.org/announcements/plasma/6/6.8.0 +- Changes since 6.7.91: + * wayland/seat: actually update the effective pointer focus surface + * wayland/seat: fix implicit pointer grabs on subsurfaces + * autotests/integration: add test cases for implicit pointer grabs + * plugins/slowkeys: Remove unused KF6::WindowSystem dependency + * plugins/slowkeys: Cleanup includes + * plugins/slowkeys: Fix sending the released events (kde#523419) + * plugins/slowkeys: Use Q_UNREACHABLE_RETURN + * wayland/pointerconstraints_v1: don't require a commit for locking or unlocking (kde#526010) + * autotests/integration: add an autotest for pointer warping with pointer locks + * Add KWIN_WAYLAND_SUPPORT_COMMIT_TIMING_V1 environment variable + * Update version for new release 6.8.0 + * xwayland: Ensure that we always reset Selection::m_waylandSource + * wayland/pointerwarp: also set the locked pointer position to the warp request (kde#524804) + * plugins/screencast: Fix crash in OutputScreenCastSource::render() and RegionScreenCastSource::render() + * plugins/screenshot: Make opengl context current in ScreenshotLayer::beginFrame() + * plugins/screenshot: Fix a crash in CaptureScreen() + * utils/svgcursorreader: Render at device resolution to avoid blurry filtered cursors (kde#526691) + * backends/drm: don't use 3x4 Matrix for YUV conversions yet + * backends/drm: fix BT2020 fixed matrix enum strings + * backends/drm: add support for YCbCr->RGB conversion in color pipelines + * helpers/dialoghelper: Fix build without XCB + * helpers/killer: Fix build without XCB + * Remove xcb/xcb.h include in shadow.h (kde#526689) + * qpa: use a single persistent OpenGL context for Qt (kde#522424) + * screencast: Avoid plasmashell windows from being hidden + * Remove stray xcb/xcb.h include (kde#526250) + * core/udmabufallocator: pad buffer sizes to 64 pixels + * effectloader: Warn when an effect was built for another KWin version + * opengl/eglbackend: don't limit format+modifiers of the main GPU to Vulkan + * Fix QTP0004 warnings + * Port away from JSON_ keywords in ecm_setup_qtplugin_macro_names() + * Use QT_NO_PLUGIN with ecm_add_qml_module() + * Set CMP0127 policy + * Fix leaking EI events + * helpers/wayland_wrapper: skip wayland-0 + * xkb: Manage compose table using unique_ptr + * xkb: Use unique_ptr to manage state + * xkb: Use unique_ptr to manage keymaps + * wayland: Implement kde-output-device-v2 v26 (kde#525314) + * plugins/screenshot: make the context current after prePaint (kde#524840) + * Revert "Enable ASAN" + * plugins/screencast: don't hide the portal's windows from the screencast + * opengl/eglcontext: request realtime priority when possible + * Revert "backends/drm,virtual: don't render on virtual outputs for screencasts" + * Revert "wayland: destroy mode resources when the output device resource is released" + * Enable ASAN + +------------------------------------------------------------------- +Fri Sep 25 07:01:05 UTC 2026 - Fabian Vogt <[email protected]> + +- Update to 6.7.91: + * New bugfix release + * For more details see https://kde.org/announcements/plasma/6/6.7.91 +- Too many changes to list here + +------------------------------------------------------------------- +Sat Sep 12 19:28:18 UTC 2026 - Fabian Vogt <[email protected]> + +- Update to 6.7.90: + * New feature release + * For more details see https://kde.org/announcements/plasma/6/6.7.90 +- Too many changes to list here + +------------------------------------------------------------------- Old: ---- kwin-6.7.5.tar.xz kwin-6.7.5.tar.xz.sig New: ---- 0001-opengl-gltexture-use-swizzles-to-ignore-non-existent.patch kwin-6.8.0.tar.xz kwin-6.8.0.tar.xz.sig ----------(New B)---------- New:- Add patch to fix some alpha compositing issues: * 0001-opengl-gltexture-use-swizzles-to-ignore-non-existent.patch ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kwin6.spec ++++++ --- /var/tmp/diff_new_pack.tfwODr/_old 2026-10-16 20:09:18.895209270 +0200 +++ /var/tmp/diff_new_pack.tfwODr/_new 2026-10-16 20:09:18.899209437 +0200 @@ -29,7 +29,7 @@ %{!?_plasma6_version: %define _plasma6_version %(echo %{_plasma6_bugfix} | awk -F. '{print $1"."$2}')} %bcond_without released Name: kwin6 -Version: 6.7.5 +Version: 6.8.0 Release: 0 Summary: KDE Window Manager License: GPL-2.0-or-later AND GPL-3.0-or-later @@ -39,17 +39,12 @@ Source1: https://download.kde.org/stable/plasma/%{version}/%{rname}-%{version}.tar.xz.sig Source2: plasma.keyring %endif +# PATCH-FIX-UPSTREAM https://invent.kde.org/plasma/kwin/-/merge_requests/10128, but amended a bit +Patch1: 0001-opengl-gltexture-use-swizzles-to-ignore-non-existent.patch BuildRequires: doxygen BuildRequires: fdupes -# GCC 15 needed for structured bindings -%if 0%{?suse_version} < 1699 -BuildRequires: gcc15-PIE -BuildRequires: gcc15-c++ -%endif BuildRequires: kf6-extra-cmake-modules >= %{kf6_version} BuildRequires: pkgconfig -BuildRequires: qt6-core-private-devel >= %{qt6_version} -BuildRequires: qt6-gui-private-devel >= %{qt6_version} BuildRequires: systemd-rpm-macros BuildRequires: cmake(Breeze) >= %{_plasma6_bugfix} BuildRequires: cmake(KDecoration3) >= %{_plasma6_bugfix} @@ -86,32 +81,31 @@ BuildRequires: cmake(Qt6Concurrent) >= %{qt6_version} BuildRequires: cmake(Qt6Core) >= %{qt6_version} BuildRequires: cmake(Qt6Core5Compat) >= %{qt6_version} +BuildRequires: cmake(Qt6CorePrivate) >= %{qt6_version} BuildRequires: cmake(Qt6DBus) >= %{qt6_version} +BuildRequires: cmake(Qt6GuiPrivate) >= %{qt6_version} BuildRequires: cmake(Qt6Quick) >= %{qt6_version} BuildRequires: cmake(Qt6Svg) >= %{qt6_version} BuildRequires: cmake(Qt6ToolsTools) >= %{qt6_version} BuildRequires: cmake(Qt6UiTools) >= %{qt6_version} BuildRequires: cmake(Qt6WaylandClient) >= %{qt6_version} BuildRequires: cmake(Qt6Widgets) >= %{qt6_version} -BuildRequires: cmake(VulkanHeaders) >= 1.4 BuildRequires: pkgconfig(epoxy) >= 1.3 BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(gbm) BuildRequires: pkgconfig(lcms2) BuildRequires: pkgconfig(libcanberra) +BuildRequires: pkgconfig(libcap) BuildRequires: pkgconfig(libdisplay-info) >= 0.2.0 -BuildRequires: pkgconfig(libdrm) >= 2.4.116 +BuildRequires: pkgconfig(libdrm) >= 2.4.127 BuildRequires: pkgconfig(libeis-1.0) BuildRequires: pkgconfig(libinput) >= 1.26 -%if 0%{?suse_version} > 1500 -# Leap 15 version is too old -BuildRequires: pkgconfig(libpipewire-0.3) >= 1.2.0 -%endif +BuildRequires: pkgconfig(libpipewire-0.3) >= 1.4.0 BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(libxcvt) -BuildRequires: pkgconfig(wayland-cursor) >= 1.22 +BuildRequires: pkgconfig(wayland-cursor) >= 1.26.0 BuildRequires: pkgconfig(wayland-egl) BuildRequires: pkgconfig(wayland-protocols) >= 1.38 BuildRequires: pkgconfig(x11) @@ -137,6 +131,8 @@ BuildRequires: pkgconfig(xcb-xkb) >= 1.10 BuildRequires: pkgconfig(xkbcommon) >= 0.7.0 BuildRequires: pkgconfig(xkbcommon-x11) +# Needs setcap +BuildRequires: libcap-progs Requires: breeze6-decoration >= %{_plasma6_bugfix} # Needed to show dialogs Requires: kdialog @@ -184,7 +180,7 @@ Requires: kdecoration6-devel >= %{_plasma6_bugfix} Requires: libkwin6 = %{version} Requires: pkgconfig(epoxy) -Requires: pkgconfig(libdrm) >= 2.4.116 +Requires: pkgconfig(libdrm) >= 2.4.127 Provides: kwin5-devel = %{version} Obsoletes: kwin5-devel < %{version} @@ -198,12 +194,7 @@ %autosetup -p1 -n %{rname}-%{version} %build -%cmake_kf6 \ -%if 0%{?suse_version} < 1699 - -DCMAKE_C_COMPILER:STRING=gcc-15 \ - -DCMAKE_CXX_COMPILER:STRING=g++-15 -%endif -%{nil} +%cmake_kf6 %kf6_build @@ -253,6 +244,7 @@ %{_kf6_applicationsdir}/org.kde.kwin.killer.desktop %{_kf6_bindir}/kwin_wayland_wrapper %{_kf6_bindir}/kwindowprop +%{_kf6_configdir}/kwinrulesrc %{_kf6_configkcfgdir}/* %{_kf6_debugdir}/org_kde_kwin.categories %{_kf6_iconsdir}/hicolor/*/apps/kwin.png @@ -263,7 +255,6 @@ %{_kf6_libdir}/kconf_update_bin/kwin-6.0-reset-active-mouse-screen %{_kf6_libdir}/kconf_update_bin/kwin-6.1-remove-gridview-expose-shortcuts %{_kf6_libdir}/kconf_update_bin/kwin-6.5-showpaint-changes -%{_kf6_libdir}/kconf_update_bin/kwin5_update_default_rules %{_kf6_libdir}/libkcmkwincommon.so.* %{_kf6_notificationsdir}/kwin.notifyrc %dir %{_kf6_plugindir}/kwin @@ -314,7 +305,7 @@ %{_kf6_qmldir}/org/kde/kwin/private/ %{_kf6_sharedir}/kconf_update/kwin.upd %{_kf6_sharedir}/krunner/dbusplugins/kwin-runner-windows.desktop -%{_kf6_sharedir}/kwin-wayland/ +%{_kf6_sharedir}/kwin/ %{_libexecdir}/kwin_dialog_helper %{_libexecdir}/kwin_killer_helper %{_libexecdir}/kwin-applywindowdecoration ++++++ 0001-opengl-gltexture-use-swizzles-to-ignore-non-existent.patch ++++++ >From 0b6e93398463bba2a6d3513e0161c399a0376ea7 Mon Sep 17 00:00:00 2001 From: Xaver Hugl <[email protected]> Date: Fri, 16 Oct 2026 16:06:17 +0200 Subject: [PATCH] opengl/gltexture: use swizzles to ignore non-existent alpha channels QImage::convertTo doesn't set the "X" channel to all ones, so OpenGL can still end up reading alpha values where there should be none. The swizzles make it ignore the broken alpha channel. Edited by [email protected] to also set swizzle in upload. --- src/opengl/gltexture.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/opengl/gltexture.cpp b/src/opengl/gltexture.cpp index dbead12ec1..a650a024ac 100644 --- a/src/opengl/gltexture.cpp +++ b/src/opengl/gltexture.cpp @@ -218,6 +218,8 @@ void GLTexture::update(const QImage &image, const Region ®ion, const QPoint & glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0); glPixelStorei(GL_UNPACK_SKIP_ROWS, 0); + setSwizzle(GL_RED, GL_GREEN, GL_BLUE, image.hasAlphaChannel() ? GL_ALPHA : GL_ONE); + unbind(); } @@ -541,7 +543,14 @@ std::unique_ptr<GLTexture> GLTexture::upload(const QImage &image) glPixelStorei(GL_UNPACK_ROW_LENGTH, 0); glBindTexture(GL_TEXTURE_2D, 0); - return std::unique_ptr<GLTexture>(new GLTexture(GL_TEXTURE_2D, texture, internalFormat, image.size(), 1, true, OutputTransform::FlipY)); + auto ret = std::unique_ptr<GLTexture>(new GLTexture(GL_TEXTURE_2D, texture, internalFormat, image.size(), 1, true, OutputTransform::FlipY)); + if (!image.hasAlphaChannel()) { + ret->bind(); + ret->setSwizzle(GL_RED, GL_GREEN, GL_BLUE, image.hasAlphaChannel() ? GL_ALPHA : GL_ONE); + ret->unbind(); + } + + return ret; } std::unique_ptr<GLTexture> GLTexture::upload(const QPixmap &pixmap) -- 2.56.0 ++++++ kwin-6.7.5.tar.xz -> kwin-6.8.0.tar.xz ++++++ /work/SRC/openSUSE:Factory/kwin6/kwin-6.7.5.tar.xz /work/SRC/openSUSE:Factory/.kwin6.new.3698736/kwin-6.8.0.tar.xz differ: char 15, line 1
