SUMMARY If I unplug and plug again primary monitor it was incorrectly showed in xrandr' output as not primary, and Xwayland apps starts on wrong monitor. STEPS TO REPRODUCE 1. Login in wayland session 2. Run xrandr 3. Unplug Primary monitor 4. Plug Primary monitor again 5. Run xrandr again and compare output OBSERVED RESULT Xrandr output in 5th step: XWAYLAND1 connected primary 1280x1024+2560+208 (normal left inverted right x axis y axis) 380mm x 300mm XWAYLAND2 connected 2560x1440+0+0 (normal left inverted right x axis y axis) 600mm x 340mm EXPECTED RESULT Xrandr output in 5th step should be the same as in 2nd step: XWAYLAND0 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 600mm x 340mm XWAYLAND1 connected 1280x1024+2560+208 (normal left inverted right x axis y axis) 380mm x 300mm SOFTWARE/OS VERSIONS Operating System: Manjaro Linux KDE Plasma Version: 5.24.80 KDE Frameworks Version: 5.91.0 Qt Version: 5.15.2 Kernel Version: 5.16.2-1-MANJARO (64-bit) Graphics Platform: Wayland Processors: 12 × Genuine Intel® CPU 0000 @ 3.20GHz Memory: 31,0 GiB of RAM Graphics Processor: Mesa Intel® UHD Graphics 630 ADDITIONAL INFORMATION My primary 2560*1440 monitor is connected via DP, and secondary 1280*1024 monitor connected via HDMI and placed on right-hand side. After login in logs: kwin_wayland_drm: Reading output configuration for KWin::DrmOutput(0x564ced0892c0, name="DP-1", geometry=QRect(0,0 2560x1440), scale=1) kwin_wayland_drm: Reading output configuration for KWin::DrmOutput(0x564cecf318c0, name="HDMI-A-2", geometry=QRect(0,0 1280x1024), scale=1) kwin_xwl: Setting primary KWin::DrmOutput(0x564ced0892c0, name="DP-1", geometry=QRect(0,0 2560x1440), scale=1) 33 After unplug monitor: kwin_wayland_drm: Removing output KWin::DrmOutput(0x564ced0892c0, name="DP-1", geometry=QRect(0,0 2560x1440), scale=1) kwin_xwl: Setting primary KWin::DrmOutput(0x564cecf318c0, name="HDMI-A-2", geometry=QRect(2560,208 1280x1024), scale=1) 35 kwin_wayland_drm: Reading output configuration for KWin::DrmOutput(0x564cecf318c0, name="HDMI-A-2", geometry=QRect(2560,208 1280x1024), scale=1) After plug monitor again: kwin_wayland_drm: Reading output configuration for KWin::DrmOutput(0x564cedebd5e0, name="DP-1", geometry=QRect(0,0 2560x1440), scale=1) kwin_wayland_drm: Reading output configuration for KWin::DrmOutput(0x564cecf318c0, name="HDMI-A-2", geometry=QRect(0,0 1280x1024), scale=1) kwin_xwl: Setting primary KWin::DrmOutput(0x564cedebd5e0, name="DP-1", geometry=QRect(0,0 2560x1440), scale=1) 35 Aside from this issue I've also experiencing #371717 after reconnect primary monitor.
Can reproduce. As discussed https://invent.kde.org/plasma/kwin/-/commit/f91ae3e97584767d273479c4013a43e279d77f40
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/1945
Git commit d1698e12706baedc054e1dea78960cf31a63dddc by Aleix Pol Gonzalez, on behalf of Aleix Pol. Committed on 27/01/2022 at 11:31. Pushed by apol into branch 'master'. Fix xrandr primary when the new screen is the connected one We'd trigger updatePrimary before Xwayland had reacted to the new output so we wouldn't end up calling xcb_randr_set_output_primary() as necessary. M +1 -0 src/utils/xcbutils.cpp M +32 -0 src/xwl/xwayland.cpp M +4 -0 src/xwl/xwayland.h https://invent.kde.org/plasma/kwin/commit/d1698e12706baedc054e1dea78960cf31a63dddc
Git commit 27254f61ff57f38ce95d28f1110e0159ef6e9ae4 by Aleix Pol Gonzalez, on behalf of Aleix Pol. Committed on 27/01/2022 at 14:19. Pushed by apol into branch 'Plasma/5.24'. Fix xrandr primary when the new screen is the connected one We'd trigger updatePrimary before Xwayland had reacted to the new output so we wouldn't end up calling xcb_randr_set_output_primary() as necessary. (cherry picked from commit d1698e12706baedc054e1dea78960cf31a63dddc) M +1 -0 src/utils/xcbutils.cpp M +32 -0 src/xwl/xwayland.cpp M +4 -0 src/xwl/xwayland.h https://invent.kde.org/plasma/kwin/commit/27254f61ff57f38ce95d28f1110e0159ef6e9ae4