|Summary:||Multiple monitor assignment is wrong after update to Qt 5.15.1|
|Product:||[Plasma] plasmashell||Reporter:||David Rubio <david.alejandro.rubio>|
|Component:||generic-multiscreen||Assignee:||Aleix Pol <aleixpol>|
|Severity:||normal||CC:||admin, anselmolsm, auxsvr, bastimeyer123, chdanilpro, con.m.keating, david.alejandro.rubio, dombe, dpbasti, elman, fisiu82, hujq, info, ivan.planinar, kde, kde, lcz.link, madLyfe, magnus.gross21, mat.mueller, matt.scheirer, mo78, nate, nils.acrimont+kde, openmindead, piotr.mierzwinski, plasma-bugs, rgeorgiev583, rizzitello, sannythebest95, scrue, simone, simpson.ross+kde, stanczakdominik|
|Latest Commit:||Version Fixed In:|
Plasmashell and KScreen logs that might attest to the issue.
All plasmashell logs (journalctl -b0 /usr/bin/plasmashell)
Output of env
Output of qtdiag
Debug logs (.tar.gz)
Description David Rubio 2020-09-13 20:03:58 UTC
Created attachment 131611 [details] Plasmashell and KScreen logs that might attest to the issue. SUMMARY After updating to Qt 5.15.1, plasmashell seems to have a compendium of issues related to multi-monitor support: 1. After starting plasmashell, both screens flicker for a second. 2. The wallpapers are in the wrong monitors. 3. Notifications are in the wrong monitor (secondary instead of primary) 4. KRunner always is in the secondary monitor, and, when free-floating, its always in the upper left (or right, depending on position) corner of the secondary monitor. 5. The "add new applets" menu refuses to open. Using latte-dock for panels, so applets shouldn't have an effect on plasmashell behaviour. Doing plasmashell --replace in KRunner fixes all of the above issues. STEPS TO REPRODUCE 1. Update to qt 5.15.1 OBSERVED RESULT Multi-monitor support seems broken. EXPECTED RESULT Multi-monitor support shouldn't be broken. SOFTWARE/OS VERSIONS Linux: 5.8.8 KDE Plasma Version: 5.19.5 KDE Frameworks Version: 5.73.0 Qt Version: 5.15.1 ADDITIONAL INFORMATION Plasmashell and KScreen seem to be very confused. Attaching log from journalctl. Warning: long log mostly of because the spam of "Pixmap is null"
Comment 1 David Rubio 2020-09-13 20:07:13 UTC
I took the logs from two different plasmashell startups from a clean log out/log in session. Using plasmashell --replace *after* the session already started doesn't either result on a log spam nor in a broken screen arrangement/wallpaper position.
Comment 2 David Rubio 2020-09-13 20:18:15 UTC
Can't attach the video of the issue, so I uploaded it to youtube, please check the following video: https://www.youtube.com/watch?v=R7__7g7BC_s
Comment 3 David Rubio 2020-09-13 20:56:20 UTC
Created attachment 131615 [details] All plasmashell logs (journalctl -b0 /usr/bin/plasmashell)
Comment 4 Nate Graham 2020-09-15 02:02:54 UTC
*** Bug 426477 has been marked as a duplicate of this bug. ***
Comment 5 Nate Graham 2020-09-15 02:03:28 UTC
Qt 5.15.1 regression? :/
Comment 6 magnus.gross21 2020-09-15 14:24:08 UTC
Yes, definitely a Qt 15.1 regression. I just downgraded all qt5 packages to the latest qt5-*-5.15.0* candidate from the pacman cache and rebooted and the problem is fixed. Skipping through the qtbase commits for 15.1, I can't really find much that would be a problem. There were two commits related to HighDPI: https://github.com/qt/qtbase/commit/8f6ef542ba7050f39eb9c6062871240a1a62ea42 and its parent commit. Perhaps one of them is the culprit or the bad commit is in a totally different Qt submodule. I don't really have time to bisect the issue though, as compiling Qt takes too much time on my laptop.
Comment 7 Felix 2020-09-15 15:05:51 UTC
Faced the same problem here, the work around for me is to turn off the main monitor and turn it on again.
Comment 8 David Edmundson 2020-09-15 15:36:04 UTC
Please include output of "env".
Comment 9 David Edmundson 2020-09-15 15:42:11 UTC
Also output of "qtdiag"
Comment 10 magnus.gross21 2020-09-15 15:51:03 UTC
Comment 11 David Edmundson 2020-09-15 15:55:48 UTC
Qt is only listing 1 screen. What did you have plugged in?
Comment 12 magnus.gross21 2020-09-15 15:59:51 UTC
I have my Laptop screen disabled and an external monitor plugged in (eDP1 and HDMI1): QT_SCREEN_SCALE_FACTORS="eDP1=1.25;HDMI1=1.25;VIRTUAL1=1.25;" Qt shows only one screen, because eDP1 is disabled, which is unrelated to this bug report.
Comment 15 David Rubio 2020-09-15 17:17:31 UTC
Attached both needed files. Let me know if you need anything else.
Comment 16 David Rubio 2020-09-15 20:38:57 UTC
It's also been reported (and I just confirmed) that desktop icons go in the wrong place aswell, and task manager gets confused in what screen a window is.
Comment 17 David Edmundson 2020-09-16 08:18:31 UTC
*** Bug 426591 has been marked as a duplicate of this bug. ***
Comment 18 David Edmundson 2020-09-16 08:30:11 UTC
Thanks. I'm not sure anything unusual stands out. Which isn't too surprising given this issue doesn't manifest on restart of plasmashell; which implies it only happens when screens externally change when kscreen kicks in. What might help is adding #!/bin/sh export QT_LOGGING_RULES=*.debug=true into /etc/profile.d/kde_log.sh and re-logigng. then the journalctl output fetched the beginning will be a /lot/ more verbose. Hopefully then it can contain something. Failing that we'll have to start a bisect on a dual screen setup.
Comment 19 David Rubio 2020-09-16 17:06:25 UTC
Debug logs were, indeed, really big. Uploading to a temp URL: https://a.uguu.se/uqzuuy.txt The URL will expire after 24 hours, though. If you need a permanent URL let me know.
Comment 20 David Rubio 2020-09-16 17:12:35 UTC
The debug logs start after a while of normal logs, sorry I couldn't separate them but Kate really didn't like me fiddling with that file lol
Comment 21 David Rubio 2020-09-16 17:13:33 UTC
Ctrl + F = Sep 16 14:00:28 reimu systemd-logind: Session c2 logged out. Waiting for processes to exit. Should land you at the start of debug logs.
Comment 22 David Rubio 2020-09-16 19:49:53 UTC
Created attachment 131706 [details] Debug logs (.tar.gz) Compressed. Full file is ~8MB, so can't directly upload. Ctrl + F = Sep 16 14:00:28 reimu systemd-logind: Session c2 logged out. Waiting for processes to exit. To see the start of the debug logs.
Comment 23 Matthias Mueller 2020-09-17 08:08:17 UTC
i can confirm the issue on my side - desktop PC with two different size screens. For me, the wallpaper second screen is shifted upwards and the taskmanager doesn't display the windows on that screen. And KRunner launces somewhere in the "middle" of both screens (i'd guess the middle of the combined horizontal resolution). Shifting the position of the second screen in system settings/display does fix the issues, so maybe it's related to screen positioning somehow? There are also a lot of people reporting it in the latest manjaro-testing update thread ( https://forum.manjaro.org/t/testing-update-2020-09-15-kernels-pamac-gamemode-qt-5-15-1-systemd-amdvlk-wine/25346 ) Let me know if any logs from my side could be helpful :)
Comment 24 Christoph Feck 2020-09-17 13:21:09 UTC
*** Bug 426638 has been marked as a duplicate of this bug. ***
Comment 25 kinghat 2020-09-17 13:23:10 UTC
all 3 of my monitors are the same size/brand/model with different orientations.
Comment 26 Vladimir Yerilov 2020-09-17 17:27:04 UTC
One more thing that is also related to Qt 5.15.1 update, is that Yakuake started during login ignores its hot key (F12) until it is closed and launched again.
Comment 27 Anselmo L. S. Melo (anselmolsm) 2020-09-17 18:03:45 UTC
For reference: This issue in Qt's bug tracker: https://bugreports.qt.io/browse/QTBUG-86604
Comment 28 Sebastian Turzański 2020-09-18 06:37:28 UTC
I confirm the same bug for the latest opensuse tumpleweed 20200916
Comment 29 Daniel Baumgartner 2020-09-18 08:54:45 UTC
I can also confirm for recent opensuse tumbleweed 20200916 (qt 5.15.1 / plasma 5.19.5). My temporary workaround is to drag one of my three screens in 'settings/display configuration' back and forth (confirm in between). The task manager widget (with behavior set to 'show only tasks from current screen') indicates that the monitor assignment is correct again. But after reboot I have to manually do the same... A new login fails anyway due to Bug 424129.
Comment 30 Sebastian Turzański 2020-09-18 10:30:50 UTC
(In reply to Daniel Baumgartner from comment #29) > I can also confirm for recent opensuse tumbleweed 20200916 (qt 5.15.1 / > plasma 5.19.5). > > My temporary workaround is to drag one of my three screens in > 'settings/display configuration' back and forth (confirm in between). The > task manager widget (with behavior set to 'show only tasks from current > screen') indicates that the monitor assignment is correct again. But after > reboot I have to manually do the same... A new login fails anyway due to Bug > 424129. use plasmashell --replace as a workaround
Comment 31 Matthias Mueller 2020-09-18 10:34:09 UTC
plasmashell --replace doesn't work for me, i HAVE to move the secondary screen around in system settings in order to fix it
Comment 32 Daniel Baumgartner 2020-09-18 14:28:52 UTC
(In reply to Sebastian Turzański from comment #30) > (In reply to Daniel Baumgartner from comment #29) > > I can also confirm for recent opensuse tumbleweed 20200916 (qt 5.15.1 / > > plasma 5.19.5). > > > > My temporary workaround is to drag one of my three screens in > > 'settings/display configuration' back and forth (confirm in between). The > > task manager widget (with behavior set to 'show only tasks from current > > screen') indicates that the monitor assignment is correct again. But after > > reboot I have to manually do the same... A new login fails anyway due to Bug > > 424129. > > use > plasmashell --replace > as a workaround ...what results a terrible loop of: "../.local/share/plasma/plasmoids/org.kde.networkMonitor/contents/ui/HistoryGraph.qml:41: TypeError: Cannot read property 'height' of null" ...and three black screens - due to that plasmoid. So: Not my favorite atm ;).
Comment 33 Nate Graham 2020-09-18 23:50:11 UTC
*** Bug 426591 has been marked as a duplicate of this bug. ***
Comment 34 David Rubio 2020-09-18 23:55:31 UTC
Making a program with the following contents and making it start on plasmashell startup is a suitable workaround that shouldn't require further user intervention: #!/bin/bash (sleep 10 && plasmashell --replace) &
Comment 35 David Rubio 2020-09-18 23:59:44 UTC
(In reply to David Rubio from comment #34) > Making a program with the following contents and making it start on > plasmashell startup is a suitable workaround that shouldn't require further > user intervention: > > #!/bin/bash > (sleep 10 && plasmashell --replace) & Would be a good note to say that on my system doing sleep 4 was enough, but you might get away with less or need more, not sure.
Comment 36 Mat Williams 2020-09-19 09:28:11 UTC
same bug on arch, plasmashell --replace fixes
Comment 37 Antonio Rojas 2020-09-19 18:38:45 UTC
*** Bug 426744 has been marked as a duplicate of this bug. ***
Comment 38 David Edmundson 2020-09-19 23:39:41 UTC
Summarising the relevant bits of "new_log" from David Rubio initial state: Sep 16 14:00:49 reimu plasmashell: qt.qpa.screen: adding QXcbScreen(0x55a40b813840, name="HDMI-A-0", geometry=1920x1080+1920+0, availableGeometry=1920x1080+1920+0, devicePixelRatio=1.0, logicalDpi=QPair(96.0,96.0), physicalSize=532.0x304.0mm, screenNumber=0, virtualSize=3840x1080 (3840.0x1080.0mm), orientation=Qt::LandscapeOrientation, depth=24, refreshRate=144.0, root=6c8, windowManagerName="KWin") (Primary: true ) Sep 16 14:00:49 reimu plasmashell: qt.qpa.screen: adding QXcbScreen(0x55a40b844080, name="HDMI-A-1", geometry=1920x1080+0+0, availableGeometry=1920x1080+0+0, devicePixelRatio=1.0, logicalDpi=QPair(96.0,96.0), physicalSize=480.0x270.0mm, screenNumber=0, virtualSize=3840x1080 (3840.0x1080.0mm), orientation=Qt::LandscapeOrientation, depth=24, refreshRate=60.0, root=6c8, windowManagerName="KWin") (Primary: false ) Could you tell me which one should be primary? Sep 16 14:00:50 reimu plasmashell: qt.quick.window.transient: PlasmaQuick::Dialog(0x55a40bd90000, visibility=QWindow::Hidden, flags=QFlags<Qt::WindowType>(Dialo g|FramelessWindowHint|WindowStaysOnTopHint), geometry=1920,0 0x0) is transient for DesktopView(0x55a40bd2e300, visibility=QWindow::Hidden, flags=QFlags<Qt::WindowType >(Window|FramelessWindowHint), title="Desktop", geometry=1920,0 1920x1080) This is super weird. We're showing an invisible dialog parented to the dekstop which isn't shown yet. What could that be? Sep 16 14:00:50 reimu plasmashell: qt.scenegraph.renderloop: exposureChanged() DesktopView(0x55a40bd2e300 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt ::WindowType>(Window|FramelessWindowHint), title="Desktop", geometry=1920,0 1920x1080) Sep 16 14:00:50 reimu plasmashell: qt.scenegraph.renderloop: exposureChanged() DesktopView(0x55a40c3f5a00 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt ::WindowType>(Window|FramelessWindowHint), title="Desktop", geometry=0,0 1920x1080) And this looks sane - which matches your video, both views fill the screen.
Comment 39 David Rubio 2020-09-19 23:47:26 UTC
Primary is HDMI-A-0 according to System Settings, which seems correct to me.
Comment 40 Chris Rizzitello 2020-09-22 15:00:34 UTC
I've just tested on my machine Also Arch i get some more unusual results. https://ibb.co/bPx5mBn The screens are merged together w/ what should be on the left on the right side of the right screen.
Comment 41 Florian Wessel 2020-09-23 19:41:43 UTC
I have this bug also on my Arch machine. I downgraded the Qt packages to Qt5.15.0. Which graphic card vendor do you use? I use Nvidia with the proprietary drivers may the problems came from a misbehaving driver?
Comment 42 David Rubio 2020-09-23 20:57:08 UTC
(In reply to Florian Wessel from comment #41) > I have this bug also on my Arch machine. I downgraded the Qt packages to > Qt5.15.0. Which graphic card vendor do you use? I use Nvidia with the > proprietary drivers may the problems came from a misbehaving driver? I use AMDGPU with an RX 480 so not driver related pretty sure.
Comment 43 Fisiu 2020-09-23 21:48:12 UTC
My system is also affected since few days. https://streamable.com/pcfluo openSUSE Tumbleweed 20200919.
Comment 44 Nate Graham 2020-09-24 15:54:36 UTC
*** Bug 426894 has been marked as a duplicate of this bug. ***
Comment 45 Florian Wessel 2020-09-24 17:52:53 UTC
(In reply to David Rubio from comment #42) > (In reply to Florian Wessel from comment #41) > > I have this bug also on my Arch machine. I downgraded the Qt packages to > > Qt5.15.0. Which graphic card vendor do you use? I use Nvidia with the > > proprietary drivers may the problems came from a misbehaving driver? > > I use AMDGPU with an RX 480 so not driver related pretty sure. Okay, that sounds good. I hope the problem is identified soon.
Comment 46 Bug Janitor Service 2020-09-25 12:55:07 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/292
Comment 47 Nate Graham 2020-09-26 15:46:23 UTC
*** Bug 426975 has been marked as a duplicate of this bug. ***
Comment 48 Daniel Baumgartner 2020-09-27 09:23:03 UTC
It's fixed with Qt 5.15.1-2.1 (opensuse tumbleweed 20200925) changelog: - Revert commit to fix screen geometry on startup (boo#1176750, QTBUG-86604): * 0001-Revert-Emit-QScreen-availableG-g-eometryChanged-on-l.patch
Comment 49 David Rubio 2020-09-28 00:32:22 UTC
(In reply to Daniel Baumgartner from comment #48) > It's fixed with Qt 5.15.1-2.1 (opensuse tumbleweed 20200925) > > changelog: > - Revert commit to fix screen geometry on startup (boo#1176750, QTBUG-86604): > * 0001-Revert-Emit-QScreen-availableG-g-eometryChanged-on-l.patch I compiled my own qt5-base with the patch on the Qt bug tracker, and it works now. I don't know if they will release a new version over this though. I'm guessing not.
Comment 50 Anselmo L. S. Melo (anselmolsm) 2020-09-30 16:40:03 UTC
(In reply to Anselmo L. S. Melo (anselmolsm) from comment #27) > For reference: This issue in Qt's bug tracker: > https://bugreports.qt.io/browse/QTBUG-86604 A fix for this QTBUG has been merged: https://codereview.qt-project.org/c/qt/qtbase/+/315447
Comment 51 Nate Graham 2020-09-30 17:18:42 UTC
Yeah, and the Qt bug report (https://bugreports.qt.io/browse/QTBUG-86604) has been marked as fixed, with the fix in Qt 5.15.2. At this point I think the right approach is to ask distros shipping Qt 5.15.1 to cherry-pick the fix. David has already sent an email to the distributions mailing list asking them to do so.
Comment 52 David Rubio 2020-09-30 17:25:58 UTC
Thanks you all for the help <3 I chimed in on Arch's bug tracker to backport the fix. Haven't heard back, though.
Comment 53 magnus.gross21 2020-10-01 18:33:34 UTC
FYI the patched qt5-base 5.15.1-2 is out now for Arch users too!
Comment 54 Mat Williams 2020-10-01 19:09:09 UTC
thanks, just got the update on Arch and it has resolved my issue
Comment 55 Nate Graham 2020-10-06 14:36:40 UTC
*** Bug 427197 has been marked as a duplicate of this bug. ***
Comment 56 d3coder 2020-11-05 13:50:19 UTC
Bug is not fixed. Happens for me occasionally on Xorg and Wayland sessions. I think it might be some race condition.
Comment 57 David Rubio 2020-11-05 14:51:29 UTC
I can confirm this is happening again. Started happening somewhere between plasmashell 5.20.0 and 5.20.2, somehow :p
Comment 58 Nate Graham 2020-11-05 14:55:40 UTC
:( Can you two confirm that you have Qt 5.15.1?
Comment 59 d3coder 2020-11-05 14:57:13 UTC
qt5-base 5.15.1-3 from arch linux https://www.archlinux.org/packages/extra/x86_64/qt5-base/
Comment 60 Nate Graham 2020-11-05 14:57:50 UTC
Comment 61 David Rubio 2020-11-05 15:14:47 UTC
same as d3coder I could record another video, but its basically the same behavior.
Comment 62 David Rubio 2020-11-05 16:15:52 UTC
Well, actually, notifications now are in the correct monitor when it happens, so is KRunner. The issue is only now with the wallpaper, which either: - Goes black on second monitor - Is shuffled between monitors - Reset to the default wallpaper on all monitors All of which get fixed by a quick `plasmashell --replace`
Comment 63 d3coder 2020-11-05 16:18:40 UTC
For me it behaves like in 5.15.0, but randomly Panel is on wrong monitor, desktop icons are on wrong monitor, notifications appear near center of wrong monitor.
Comment 64 David Rubio 2020-11-05 17:11:04 UTC
Interesting. I can confirm is quite random now though. It happens like at really random times and sometimes it stops happening for a while and then it confuses me :p
Comment 65 David Rubio 2020-11-05 17:12:49 UTC
(In reply to d3coder from comment #63) > For me it behaves like in 5.15.0, but randomly > Panel is on wrong monitor, desktop icons are on wrong monitor, notifications > appear near center of wrong monitor. I don't use the plasma panel or desktop icons, which explains why I don't see it :)
Comment 66 Matthias Mueller 2020-11-05 17:36:51 UTC
i only had a black wallpaper on the second monitor once since it was "fixed". (Manjaro testing here, so currently qt5-base 5.15.1-3 and plasma-desktop 5.20.2-1 )
Comment 67 David Rubio 2020-11-05 17:39:01 UTC
(In reply to Matthias Mueller from comment #66) > i only had a black wallpaper on the second monitor once since it was > "fixed". (Manjaro testing here, so currently qt5-base 5.15.1-3 and > plasma-desktop 5.20.2-1 > ) I only have seen the wallpaper misplacement myself aswell. I've counted about 7 times since 5.20 was released. Not many, but it happens.
Comment 68 kinghat 2020-11-05 17:41:22 UTC
the different wallpapers on each of my 3 screens of different orientations have been fine since "the fix" on manjaro. my info: Operating System: Manjaro Linux KDE Plasma Version: 5.20.2 KDE Frameworks Version: 5.75.0 Qt Version: 5.15.1 Kernel Version: 5.9.3-1-MANJARO OS Type: 64-bit Processors: 8 × Intel® Xeon® CPU E5-1620 v3 @ 3.50GHz Memory: 62.7 GiB of RAM Graphics Processor: AMD Radeon ™ RX 470 Graphics
Comment 69 ivan.planinar 2020-11-15 22:11:15 UTC
(In reply to d3coder from comment #56) > Bug is not fixed. Happens for me occasionally on Xorg and Wayland sessions. > I think it might be some race condition. Me too. Operating System: Arch Linux KDE Plasma Version: 5.20.3 KDE Frameworks Version: 5.76.0 Qt Version: 5.15.1 Kernel Version: 5.9.8-arch1-1 OS Type: 64-bit Processors: 16 × AMD Ryzen 7 3700X 8-Core Processor Memory: 31,4 GiB of RAM Graphics Processor: GeForce GTX 1060 6GB/PCIe/SSE2 This happens like 1 out of 6 on boot/restart. My 2nd monitor (HDMI) goes black without background, but has the weather widget.
Comment 70 David Rubio 2020-11-15 22:12:18 UTC
(In reply to David Rubio from comment #67) > (In reply to Matthias Mueller from comment #66) > > i only had a black wallpaper on the second monitor once since it was > > "fixed". (Manjaro testing here, so currently qt5-base 5.15.1-3 and > > plasma-desktop 5.20.2-1 > > ) > > I only have seen the wallpaper misplacement myself aswell. I've counted > about 7 times since 5.20 was released. Not many, but it happens. I just got a black wallpaper this startup on my second screen, so yes, it happens aswell.
Comment 71 David Edmundson 2020-12-20 00:04:35 UTC
Qt 5.15.2 fixed the issue of geometryChanged not being emited if logical DPI changes at the same time which is what this bug report was. Reclosing.
Comment 72 d3coder 2020-12-20 07:46:22 UTC
Should i create another report? Because i still have this issue, it's rare, but it happens qt 5.15.2 plasma 5.20.4 frameworks 5.77.0