[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1113799: marked as done (trixie-pu: package qt6-base/6.8.2+dfsg-9+deb13u1)



Your message dated Sat, 15 Nov 2025 11:21:45 +0000
with message-id <736c7150dc08501cc89945035c406eaf9688e144.camel@adam-barratt.org.uk>
and subject line Closing requests for updates included in 13.2
has caused the Debian Bug report #1113799,
regarding trixie-pu: package qt6-base/6.8.2+dfsg-9+deb13u1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1113799: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1113799
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: qt6-base@packages.debian.org, deltaone@debian.org
Control: affects -1 + src:qt6-base
User: release.debian.org@packages.debian.org
Usertags: pu

Hi Release Team,

[ Reason ]
When the screen gets locked in the Plasma 6 X11 session, it results
in a very high CPU load until the screen is unlocked again.
The Wayland session is not affected by this.

The bug was reported originally at
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1111957 and has since
been fixed in both unstable and testing.

[ Impact ]
Users face very high CPU loads when locking their screen under
Plasma 6 X11.

[ Tests ]
The patch comes from upstream and has gone through the usual Qt
quality assurance.
In addition, I experienced this bug myself and can confirm that the
patch fixes the issue.

[ Risks ]
The risks are very low. The patch is trivial (2 lines are removed), comes
directly from upstream and I have verified it myself.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]
Addad a 2-line patch that fixes the above-described issue.


Thank you.


--
Med vänliga hälsningar

Patrick Franz
diff -Nru qt6-base-6.8.2+dfsg/debian/changelog qt6-base-6.8.2+dfsg/debian/changelog
--- qt6-base-6.8.2+dfsg/debian/changelog	2025-07-18 15:28:20.000000000 +0200
+++ qt6-base-6.8.2+dfsg/debian/changelog	2025-09-02 21:04:45.000000000 +0200
@@ -1,3 +1,10 @@
+qt6-base (6.8.2+dfsg-9+deb13u1) trixie; urgency=medium
+
+  * Backport patch to fix high CPU load of kwin_x11 when locking the
+    screen.
+
+ -- Patrick Franz <deltaone@debian.org>  Tue, 02 Sep 2025 21:04:45 +0200
+
 qt6-base (6.8.2+dfsg-9) unstable; urgency=medium
 
   [ Patrick Franz ]
diff -Nru qt6-base-6.8.2+dfsg/debian/patches/series qt6-base-6.8.2+dfsg/debian/patches/series
--- qt6-base-6.8.2+dfsg/debian/patches/series	2025-07-18 15:26:54.000000000 +0200
+++ qt6-base-6.8.2+dfsg/debian/patches/series	2025-09-02 21:03:17.000000000 +0200
@@ -1,6 +1,7 @@
 # fixed in 6.8.4/6.9.2
 upstream_QColorTransferGeneric_fix_BT2100PQEOTF.patch
 upstream_cve-2025-5992_input_range_qcolortransformation.diff
+upstream_fix_high_cpu_load_kwin_x11.diff
 
 # fixed in 6.9.1
 upstream_prevent_recursion_in_qsortfilterproxymodel.diff
diff -Nru qt6-base-6.8.2+dfsg/debian/patches/upstream_fix_high_cpu_load_kwin_x11.diff qt6-base-6.8.2+dfsg/debian/patches/upstream_fix_high_cpu_load_kwin_x11.diff
--- qt6-base-6.8.2+dfsg/debian/patches/upstream_fix_high_cpu_load_kwin_x11.diff	1970-01-01 01:00:00.000000000 +0100
+++ qt6-base-6.8.2+dfsg/debian/patches/upstream_fix_high_cpu_load_kwin_x11.diff	2025-08-24 13:08:47.000000000 +0200
@@ -0,0 +1,49 @@
+From e2b88612e5c8dfc3f4bf416dff7b1af3e1e4f0f6 Mon Sep 17 00:00:00 2001
+From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
+Date: Sun, 27 Jul 2025 15:58:31 +0300
+Subject: [PATCH] XCB: Remove extra xcb_randr_select_input() calls
+
+This fixes high CPU usage in kwin.
+
+If there is a ConfigureNotify event for the root window, QtXCB will
+call xcb_randr_select_input(). The problem is that the X server may send
+an output change event in response to xcb_randr_select_input().
+
+When kwin sees that output change event, it will process the event and
+it can update its override redirect windows, which can produce a few
+ConfigureNotify events for the root window and make kwin get stuck in an
+update loop.
+
+Since the QXcbConnection constructor already subscribes to the RandR
+events, these xcb_randr_select_input() function calls can be removed.
+Also, `true` is not a valid argument for xcb_randr_select_input(). It
+expects a mask of events to listen. For what it's worth, `true`
+corresponds to XCB_RANDR_NOTIFY_MASK_SCREEN_CHANGE = 1, which
+xrandrSelectEvents() already subscribes to.
+
+Pick-to: 6.10 6.9 6.8
+Change-Id: I950a0a6e2e34822ac3da8cd69b96670e4bf4b07d
+Reviewed-by: Liang Qi <liang.qi@qt.io>
+---
+
+diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp
+index 2f00615..c1b8f84 100644
+--- a/src/plugins/platforms/xcb/qxcbscreen.cpp
++++ b/src/plugins/platforms/xcb/qxcbscreen.cpp
+@@ -499,7 +499,6 @@
+     , m_cursor(std::make_unique<QXcbCursor>(connection, this))
+ {
+     if (connection->isAtLeastXRandR12()) {
+-        xcb_randr_select_input(xcb_connection(), screen()->root, true);
+         auto crtc = Q_XCB_REPLY_UNCHECKED(xcb_randr_get_crtc_info, xcb_connection(),
+                                           m_crtc, output ? output->timestamp : 0);
+         if (crtc) {
+@@ -605,8 +604,6 @@
+         return;
+     }
+ 
+-    xcb_randr_select_input(xcb_connection(), screen()->root, true);
+-
+     m_monitor = monitorInfo;
+     qCDebug(lcQpaScreen) << "xcb_randr_monitor_info_t: primary=" << m_monitor->primary << ", x=" << m_monitor->x << ", y=" << m_monitor->y
+         << ", width=" << m_monitor->width << ", height=" << m_monitor->height

--- End Message ---
--- Begin Message ---
Package: release.debian.org
Version: 13.2

Hi,

The updates referenced in each of these bugs were included in today's
13.2 trixie point release.

Regards,

Adam

--- End Message ---

Reply to: