Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
6.3.0
-
None
-
Arch Linux x64, Qt SDK gcc_64, nvidia 470.42, two monitors w/o Xinerama
-
-
731b38e768 (qt/qtbase/dev) 731b38e768 (qt/tqtc-qtbase/dev) 13fa48bdc7 (qt/qtbase/6.3) 13fa48bdc7 (qt/tqtc-qtbase/6.3) 13fa48bdc7 (qt/qtbase/6.3.1)
Description
I have two separate X screens that are not using Xinerama, each screen is on a separate Nvidia GPU, using the proprietary driver:
$ DISPLAY=:0.0 xrandr --listmonitors Monitors: 1 0: +*DP-0 2560/600x1440/340+0+0 DP-0 $ DISPLAY=:0.1 xrandr --listmonitors Monitors: 1 0: +*DVI-D-0 1920/620x1080/340+0+0 DVI-D-0
nvidia-settings shows Screen 0 on the left side and Screen 1 on the right: nvidia-settings
However, Qt 6.3.0 thinks the left display, DP-0, is NOT the primary screen, but 6.2.2 correctly shows it as the primary:
$ ~/Qt6/6.2.2/gcc_64/bin/qtdiag | grep 'Primary:' # 0 "DP-0" Depth: 24 Primary: yes # 1 "DVI-D-0" Depth: 24 Primary: no $ ~/Qt6/6.3.0/gcc_64/bin/qtdiag | grep 'Primary:' # 0 "DVI-D-0" Depth: 24 Primary: yes # 1 "DP-0" Depth: 24 Primary: no
This looks like a regression to me. This causes the application to always start on Screen 1 (the right side screen), even though I am launching it from Screen 0 with the correct DISPLAY value of :0.0 (not :0.1).
Since I am not using Xinerama, windows cannot be freely moved between screens, and I cannot figure out a way to get my application to start or display at all on the correct monitor, which shouldn't be necessary anyways.
Attachments
For Gerrit Dashboard: QTBUG-102758 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
409648,6 | xcb: only set primary for monitor on primary X screen | dev | qt/qtbase | Status: MERGED | +2 | 0 |
412385,2 | xcb: only set primary for monitor on primary X screen | 6.3 | qt/qtbase | Status: MERGED | +2 | 0 |