Created attachment 150470 [details] Screen recording that illustrates the bug SUMMARY Please see the attached video. When using Xorg + dual-screen (4K & 200% scale) + PLASMA_USE_QT_SCALING=1, if I place a plasma panel to between the two screens (or exactly, the left edge of the right screen), the right screen become unusable and all windows placed on it will be immediately kicked to the right edge of the screen (outside the visible area). It's still possible to pull a window out but only moving it to the left screen can prevent it from being misplaced again. STEPS TO REPRODUCE 1. Create a fresh new user. Setup a plasma panel. 2. Move the panel to the left edge of the right screen of two screens placed horizontally. 3. Move or start a window on the right screen. OBSERVED RESULT All windows on the right screen are misplaced outside visible area (to the right of the right edge of the right screen). EXPECTED RESULT Windows are correctly placed. SOFTWARE/OS VERSIONS Linux/KDE Plasma: Arch Linux with latest packages KDE Plasma Version: 5.25.2 KDE Frameworks Version: 5.95.0 Qt Version: 5.15.5 ADDITIONAL INFORMATION The left screen is connected to Intel iGPU (i7-10700K). The right is connected to NVIDIA GTX 1650 GPU, which is also the primary GPU. Setting Intel as the primary GPU makes no change. Why am I placing the panel between two screens: I've never intended to do this. But another heisenbug which appears after 5.25 causes my panel to be moved from normal place (leftmost edge) to the wrong place (left edge of the right screen) from time to time after I unlock the screen. And whenever that happens, kwin becomes buggy in the way I said above. About PLASMA_USE_QT_SCALING: I hadn't set the environment variable before 5.25. After 5.25 I noticed everything (icon/text/button) related to plasmashell became smaller than 5.24. Someone told me the environment variable should be set to make plasmashell use the same scale as Qt. They said it's not new in 5.25 and I should have had it set before if I didn't see inconsistent scaling before 5.25. But the thing was I never set it before 5.25.
Pretty sure this'll be fixed by the fix for Bug 450443. *** This bug has been marked as a duplicate of bug 450443 ***
(In reply to Nate Graham from comment #1) > Pretty sure this'll be fixed by the fix for Bug 450443. > > *** This bug has been marked as a duplicate of bug 450443 *** But it seems all the patches in bug 450443 had been applied when I reported this issue. Now I'm still observing the same issue. Currently the following Arch Linux packages are installed on my machine: - plasma-desktop 5.25.3 - qt5-base 5.15.5+kde+r170-1 (which is compiled from https://invent.kde.org/qt/qt/qtbase/-/commit/aa0c6db334cf6f0887f42cbd82e4af258126bdc5).
Hmm, OK. I guess not then. Marking as RESOLVED INTENTIONAL for now since PLASMA_USE_QT_SCALING is not supported. Should we decide to change that (see Bug 356446), this bug report will be re-opened and investigated. Thanks!
Re-opening since this will become an issue again on Plasma 6 where we're using Qt scaling by default. CUI, are you still experiencing it in Plasma 5.27.5? Maybe it's already been fixed.
*** Bug 471480 has been marked as a duplicate of this bug. ***
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kwindowsystem/-/merge_requests/113
Can anyone test https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/3199 to see if the bug is fixed?
Git commit b59a81959e9488fe656e2e54c8a410be4641c401 by Fushan Wen. Committed on 04/09/2023 at 18:42. Pushed by fusionfuture into branch 'master'. KX11Extras: switch to qreal arguments in setExtendStrut/setStrut This avoids loosing precision when setting struts. M +28 -28 src/kx11extras.cpp M +13 -13 src/kx11extras.h https://invent.kde.org/frameworks/kwindowsystem/-/commit/b59a81959e9488fe656e2e54c8a410be4641c401
Git commit 81e4140657b9dee49d98d885f865f72561b7bfe0 by Fushan Wen. Committed on 07/09/2023 at 02:22. Pushed by fusionfuture into branch 'master'. PanelView: fix panel overlapping windows when Qt scaling is enabled KX11Extras::setExtendedStrut(...) will multiply struct.* by DPR, so passing raw coordinates to a struct is wrong. Sizes are already divided by DPR on X11. FIXED-IN: 5.27.8 M +57 -42 shell/panelview.cpp https://invent.kde.org/plasma/plasma-workspace/-/commit/81e4140657b9dee49d98d885f865f72561b7bfe0
Git commit 61bc13fcc05af721ccc5303ffd99c1882d65a7ca by Fushan Wen. Committed on 07/09/2023 at 03:03. Pushed by fusionfuture into branch 'Plasma/5.27'. 🍒PanelView: fix panel overlapping windows when Qt scaling is enabled KX11Extras::setExtendedStrut(...) will multiply struct.* by DPR, so passing raw coordinates to a struct is wrong. Sizes are already divided by DPR on X11. FIXED-IN: 5.27.8 (cherry picked from commit 81e4140657b9dee49d98d885f865f72561b7bfe0) M +35 -22 shell/panelview.cpp https://invent.kde.org/plasma/plasma-workspace/-/commit/61bc13fcc05af721ccc5303ffd99c1882d65a7ca