Bug 426496

Summary: Multiple monitor assignment is wrong after update to Qt 5.15.1
Product: [Plasma] plasmashell Reporter: David Rubio <david.alejandro.rubio>
Component: generic-multiscreenAssignee: Aleix Pol <aleixpol>
Status: CLOSED FIXED    
Severity: normal CC: admin, anselmolsm, auxsvr, bastimeyer123, bugs.kde.org.trustful938, 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, openmindead, piotr.mierzwinski, plasma-bugs, rgeorgiev583, rizzitello, sannythebest95, scrue, simone, simpson.ross+kde, stanczakdominik
Priority: VHI Keywords: regression
Version: 5.19.5   
Target Milestone: 1.0   
Platform: Arch Linux   
OS: Linux   
URL: https://bugreports.qt.io/browse/QTBUG-86604
See Also: https://bugs.kde.org/show_bug.cgi?id=426591
https://bugs.kde.org/show_bug.cgi?id=426894
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: 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
@David Edmundson:

env:
CADENCE_AUTO_STARTED=true
COLORFGBG=15;0
COLORTERM=truecolor
CUDA_PATH=/opt/cuda
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
DESKTOP_SESSION=/usr/share/xsessions/plasma
DISABLE_AUTO_UPDATE=true
DISPLAY=:0
DSSI_PATH=/home/magnus/.dssi:/usr/lib/dssi:/usr/local/lib/dssi
EDITOR=vim
GOPATH=/home/magnus/Documents/Go
GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/magnus/.gtkrc-2.0:/home/magnus/.config/gtkrc-2.0
GTK_MODULES=canberra-gtk-module
GTK_RC_FILES=/etc/gtk/gtkrc:/home/magnus/.gtkrc:/home/magnus/.config/gtkrc
HOME=/home/magnus
KDED_STARTED_BY_KDEINIT=1
KDE_APPLICATIONS_AS_SCOPE=1
KDE_FULL_SESSION=true
KDE_SESSION_UID=1000
KDE_SESSION_VERSION=5
KEYTIMEOUT=1
KONSOLE_DBUS_SERVICE=:1.40
KONSOLE_DBUS_SESSION=/Sessions/1
KONSOLE_DBUS_WINDOW=/Windows/1
KONSOLE_VERSION=200801
KWIN_TRIPLE_BUFFER=1
LADSPA_PATH=/home/magnus/.ladspa:/usr/lib/ladspa:/usr/local/lib/ladspa
LANG=de_DE.UTF-8
LANGUAGE=
LESS=-Ri
LOGNAME=magnus
LV2_PATH=/home/magnus/.lv2:/usr/lib/lv2:/usr/local/lib/lv2
MAIL=/var/spool/mail/magnus
MOTD_SHOWN=pam
OLDPWD=/home/magnus
PAM_KWALLET5_LOGIN=/run/user/1000/kwallet5.socket
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/cuda/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
PROFILEHOME=
PWD=/home/magnus
QT_AUTO_SCREEN_SCALE_FACTOR=0
QT_SCREEN_SCALE_FACTORS=eDP1=1.25;HDMI1=1.25;VIRTUAL1=1.25;
SHELL=/usr/bin/zsh
SHELL_SESSION_ID=b596d138216b4dcdbeeae3af39da3a60
SHLVL=1
TDESKTOP_DISABLE_TRAY_COUNTER=1
TERM=xterm-256color
USER=magnus
VST_PATH=/home/magnus/.vst:/usr/lib/vst:/usr/local/lib/vst
WINDOWID=62914567
XAUTHORITY=/home/magnus/.Xauthority
XCURSOR_SIZE=24
XCURSOR_THEME=Adwaita
XDG_CONFIG_HOME=/home/magnus/.config
XDG_CURRENT_DESKTOP=KDE
XDG_RUNTIME_DIR=/run/user/1000
XDG_SEAT=seat0
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_CLASS=user
XDG_SESSION_DESKTOP=KDE
XDG_SESSION_ID=2
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1
XDG_SESSION_TYPE=x11
XDG_VTNR=1
_=/usr/bin/env
__GL_YIELD=usleep
P9K_TTY=old
PAGER=less
LSCOLORS=Gxfxcxdxbxegedabagacad
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
P9K_SSH=0


Qt 5.15.1 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 10.2.0) on "xcb" 
OS: Arch Linux [linux version 5.4.64-1-lts]

Architecture: x86_64; features: SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 AVX AVX2

Environment:
  QT_AUTO_SCREEN_SCALE_FACTOR="0"
  QT_SCREEN_SCALE_FACTORS="eDP1=1.25;HDMI1=1.25;VIRTUAL1=1.25;"

Features: QT_NO_EXCEPTIONS

Library info:
  PrefixPath: /usr
  DocumentationPath: /usr/share/doc/qt
  HeadersPath: /usr/include/qt
  LibrariesPath: /usr/lib
  LibraryExecutablesPath: /usr/lib/qt/libexec
  BinariesPath: /usr/bin
  PluginsPath: /usr/lib/qt/plugins
  ImportsPath: /usr/lib/qt/imports
  Qml2ImportsPath: /usr/lib/qt/qml
  ArchDataPath: /usr/lib/qt
  DataPath: /usr/share/qt
  TranslationsPath: /usr/share/qt/translations
  ExamplesPath: /usr/share/doc/qt/examples
  TestsPath: /usr/tests
  SettingsPath: /etc/xdg

Standard paths [*...* denote writable entry]:
  DesktopLocation: "Desktop" */home/magnus/Desktop*
  DocumentsLocation: "Documents" */home/magnus/Documents*
  FontsLocation: "Fonts" */home/magnus/.local/share/fonts* /home/magnus/.fonts /usr/local/share/fonts /usr/share/fonts
  ApplicationsLocation: "Applications" */home/magnus/.local/share/applications* /usr/local/share/applications /usr/share/applications
  MusicLocation: "Music" */home/magnus/Music*
  MoviesLocation: "Movies" */home/magnus/Videos*
  PicturesLocation: "Pictures" */home/magnus/Pictures*
  TempLocation: "Temporary Directory" */tmp*
  HomeLocation: "Home" */home/magnus*
  AppLocalDataLocation: "Application Data" */home/magnus/.local/share/QtProject/qtdiag* /usr/local/share/QtProject/qtdiag /usr/share/QtProject/qtdiag
  CacheLocation: "Cache" */home/magnus/.cache/QtProject/qtdiag*
  GenericDataLocation: "Shared Data" */home/magnus/.local/share* /usr/local/share /usr/share
  RuntimeLocation: "Runtime" */run/user/1000*
  ConfigLocation: "Configuration" */home/magnus/.config* /etc/xdg
  DownloadLocation: "Download" */home/magnus/Downloads*
  GenericCacheLocation: "Shared Cache" */home/magnus/.cache*
  GenericConfigLocation: "Shared Configuration" */home/magnus/.config* /etc/xdg
  AppDataLocation: "Application Data" */home/magnus/.local/share/QtProject/qtdiag* /usr/local/share/QtProject/qtdiag /usr/share/QtProject/qtdiag
  AppConfigLocation: "Application Configuration" */home/magnus/.config/QtProject/qtdiag* /etc/xdg/QtProject/qtdiag

File selectors (increasing order of precedence):
  de_DE unix linux arch

Network:
  Using "OpenSSL 1.1.1g  21 Apr 2020", version: 0x1010107f

Platform capabilities: ThreadedPixmaps OpenGL ThreadedOpenGL WindowMasks MultipleWindows ForeignWindows NonFullScreenWindows NativeWidgets WindowManagement SyncState RasterGLSurface SwitchableWidgetComposition

Style hints:
  mouseDoubleClickInterval: 400
  mousePressAndHoldInterval: 800
  startDragDistance: 10
  startDragTime: 500
  startDragVelocity: 0
  keyboardInputInterval: 400
  keyboardAutoRepeatRate: 30
  cursorFlashTime: 1000
  showIsFullScreen: 0
  showIsMaximized: 0
  passwordMaskDelay: 0
  passwordMaskCharacter: U+25CF
  fontSmoothingGamma: 1.7
  useRtlExtensions: 0
  setFocusOnTouchRelease: 0
  tabFocusBehavior: Qt::TabFocusAllControls 
  singleClickActivation: 1

Additional style hints (QPlatformIntegration):
  ReplayMousePressOutsidePopup: 0

Theme:
  Platforms requested : kde,generic
            available : kde,gtk3,snap,flatpak,xdgdesktopportal
  Styles requested    : Breeze,breeze,oxygen,fusion,windows
         available    : Breeze,Windows,Fusion
  Icon theme          : Papirus-Light, hicolor from /usr/share/icons
  System font         : "Google Sans" 10

Fonts:
  General font : "Google Sans" 10
  Fixed font   : "Fira Code" 9
  Title font   : "Google Sans" 10
  Smallest font: "Google Sans" 10

Palette:
  QPalette::WindowText: #ff232627
  QPalette::Button: #ffeff0f1
  QPalette::Light: #ffffffff
  QPalette::Midlight: #fff6f7f7
  QPalette::Dark: #ff888e93
  QPalette::Mid: #ffc4c8cc
  QPalette::Text: #ff232627
  QPalette::BrightText: #ffffffff
  QPalette::ButtonText: #ff232627
  QPalette::Base: #fffcfcfc
  QPalette::Window: #ffeff0f1
  QPalette::Shadow: #ff474a4c
  QPalette::Highlight: #ff3daee9
  QPalette::HighlightedText: #fffcfcfc
  QPalette::Link: #ff2980b9
  QPalette::LinkVisited: #ff7f8c8d
  QPalette::AlternateBase: #ffeff0f1
  QPalette::NoRole: #ff000000
  QPalette::ToolTipBase: #ff232627
  QPalette::ToolTipText: #fffcfcfc
  QPalette::PlaceholderText: #80232627

Screens: 1, High DPI scaling: active
# 0 "HDMI1" Depth: 24 Primary: yes
  Manufacturer: BNQ
  Model: BenQ EW3270U-
  Serial number: P4K05053019-
  Geometry: 3072x1728+0+0 (native: 3840x2160+0+0) Available: 3072x1706+0+22
  Physical size: 700x390 mm  Refresh: 30 Hz Power state: 0
  Physical DPI: 111.47,112.542 Logical DPI: 96,96 (native: 120,120) Subpixel_None
  High DPI scaling factor: 1.25 DevicePixelRatio: 1.25 Pixel density: 1
  Primary orientation: 2 Orientation: 2 Native orientation: 0 OrientationUpdateMask: 0

LibGL Vendor: Intel Open Source Technology Center
Renderer: Mesa DRI Intel(R) HD Graphics 4600 (HSW GT2)
Version: 3.0 Mesa 20.1.7
Shading language: 1.30
Format: Version: 3.0 Profile: 0 Swap behavior: 0 Buffer size (RGB): 8,8,8
Profile: None (QOpenGLFunctions_3_0)

Vulkan instance available
Supported instance extensions:
  VK_KHR_device_group_creation, version 1
  VK_KHR_display, version 23
  VK_KHR_external_fence_capabilities, version 1
  VK_KHR_external_memory_capabilities, version 1
  VK_KHR_external_semaphore_capabilities, version 1
  VK_KHR_get_display_properties2, version 1
  VK_KHR_get_physical_device_properties2, version 2
  VK_KHR_get_surface_capabilities2, version 1
  VK_KHR_surface, version 25
  VK_KHR_surface_protected_capabilities, version 1
  VK_KHR_xcb_surface, version 6
  VK_KHR_xlib_surface, version 6
  VK_EXT_acquire_xlib_display, version 1
  VK_EXT_debug_report, version 9
  VK_EXT_debug_utils, version 1
  VK_EXT_direct_mode_display, version 1
  VK_EXT_display_surface_counter, version 1
Supported layers:
  VK_LAYER_MANGOHUD_overlay, version 1, spec version 1.2.135, Vulkan Hud Overlay
  VK_LAYER_NV_optimus, version 1, spec version 1.2.133, NVIDIA Optimus layer
Available physical devices:
  API version 1.2.133, vendor 0x10DE, device 0x139B, GeForce GTX 960M, type 2, driver version 450.264.0

Qt Rendering Hardware Interface supported backends:
OpenGL (with default QSurfaceFormat):
  Min Texture Size: 1
  Max Texture Size: 16384
  Max Color Attachments: 8
  Frames in Flight: 1
  Uniform Buffer Alignment: 1
  Supported MSAA sample counts: 1,2,4,8
  Features:
    - MultisampleTexture
    v MultisampleRenderBuffer
    - DebugMarkers
    - Timestamps
    - Instancing
    - CustomInstanceStepRate
    - PrimitiveRestart
    v NonDynamicUniformBuffers
    v NonFourAlignedEffectiveIndexBufferOffset
    v NPOTTextureRepeat
    - RedOrAlpha8IsRed
    v ElementIndexUint
    - Compute
    v WideLines
    v VertexShaderPointSize
    - BaseVertex
    - BaseInstance
    v TriangleFanTopology
    v ReadBackNonUniformBuffer
    v ReadBackNonBaseMipLevel
  Texture formats: RGBA8 BGRA8 R8 R16 RED_OR_ALPHA8 RGBA16F RGBA32F R16F R32F D16 D32F BC1 BC2 BC3 ETC2_RGB8 ETC2_RGB8A1 ETC2_RGBA8
Vulkan:
  Min Texture Size: 1
  Max Texture Size: 16384
  Max Color Attachments: 8
  Frames in Flight: 2
  Uniform Buffer Alignment: 256
  Supported MSAA sample counts: 1,2,4,8
  Features:
    v MultisampleTexture
    v MultisampleRenderBuffer
    - DebugMarkers
    v Timestamps
    v Instancing
    - CustomInstanceStepRate
    v PrimitiveRestart
    v NonDynamicUniformBuffers
    v NonFourAlignedEffectiveIndexBufferOffset
    v NPOTTextureRepeat
    v RedOrAlpha8IsRed
    v ElementIndexUint
    v Compute
    v WideLines
    v VertexShaderPointSize
    v BaseVertex
    v BaseInstance
    v TriangleFanTopology
    v ReadBackNonUniformBuffer
    v ReadBackNonBaseMipLevel
  Texture formats: RGBA8 BGRA8 R8 R16 RED_OR_ALPHA8 RGBA16F RGBA32F R16F R32F D16 D32F BC1 BC2 BC3 BC4 BC5 BC6H BC7




I can also confirm that replugging the external monitor OR using plasmashell --replace fixes the problem. (Though for now I will just stay with Qt 5.15.0 to fix it)
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 13 David Rubio 2020-09-15 17:17:00 UTC
Created attachment 131683 [details]
Output of env
Comment 14 David Rubio 2020-09-15 17:17:10 UTC
Created attachment 131684 [details]
Output of qtdiag
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[632]: 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[632]: 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[6602]: 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[6602]: 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[6602]: 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[6602]: 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[6602]: 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 Mariusz 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
Well darn.
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