Public bug reported:
After upgrading to mutter `46.2-1ubuntu0.24.04.16`, X11 (XWayland) window
positioning requests are applied at **twice** the requested x coordinate.
Any window positioned onto a second monitor lands past the right edge of the
desktop. The application then behaves as if off-screen: it stops repainting
(compositor keeps showing its last buffer, so it looks "frozen") and does not
receive pointer input. The app itself is alive and healthy the whole time.
Because x=0 doubles to 0, the primary monitor is unaffected — the failure looks
like "my second monitor froze", which is misleading.
## Steps to reproduce
Wayland session, two monitors side by side, **no scaling** (both scale
1):
- DP-1 2560x1440 @ +0+0 (primary)
- HDMI-1 2560x1440 @ +2560+0
- X screen: 5120x1440
On any XWayland window (e.g. a `gnome-terminal` started as a different user,
which
falls back to X11):
```bash
wmctrl -i -r <winid> -b remove,maximized_vert,maximized_horz
wmctrl -i -r <winid> -e 0,500,0,800,600
wmctrl -l -G | grep <winid>
```
## Expected
Window at x=500.
## Actual
Window at x=1000. Consistently x2:
| requested x | actual x |
|---|---|
| 100 | 200 |
| 500 | 1000 |
| 1280 | 2560 |
| 2560 | 5120 |
Requesting x=2560 (the correct origin of the second monitor, as reported by
`xrandr`) places the window at 5120 — outside the 5120-wide X screen entirely.
**Not confined to wmctrl.** mutter's own maximize placement is also wrong: after
maximizing, the window sits at x=132, i.e. the workarea origin (66) doubled. No
client requested that position, so this is not an EWMH client bug.
## Regression
- `46.2-1ubuntu0.24.04.15` — working (in use for months, unmodified setup)
- `46.2-1ubuntu0.24.04.16` — broken, immediately after upgrade
`.16` contains exactly one patch:
```
* d/p/window-Replace-winsys_id-for-monitor-matching.patch
Fix window not restore to the external monitor after replug. (LP: #2156974)
```
That patch replaces `winsys_id` with a logical-monitor id for monitor matching
and
modifies, among others, `meta_window_move_resize_internal()` and
`meta_window_move_to_monitor()` — i.e. the window-to-monitor matching and move
path. Given it is the only change in `.16`, it is the obvious suspect.
(I have not identified the faulty line — reporting the observed behaviour, not a
proposed mechanism.)
## Not a scaling configuration issue
No scaling is configured anywhere:
```
org.gnome.desktop.interface scaling-factor = uint32 0
org.gnome.desktop.interface text-scaling-factor = 1.0
org.gnome.mutter experimental-features = []
Xft.dpi = 96
```
Both logical monitors are `scale 1` in `~/.config/monitors.xml` and in
`org.gnome.Mutter.DisplayConfig.GetCurrentState`. No `GDK_SCALE` in the
environment. Xwayland is started with no scale arguments.
## Environment
- Ubuntu 24.04.4 LTS (noble), GNOME Shell 46.0, Wayland session
- mutter / libmutter-14-0 / mutter-common / mutter-common-bin /
gir1.2-mutter-14:
`46.2-1ubuntu0.24.04.16`
- gnome-shell `46.0-0ubuntu6~24.04.14`
- Kernel 7.0.0-28-generic, NVIDIA GTX 1070 Ti, driver 580.159.03 (nvidia_drm
modeset=1)
- Monitors: LG 27GL850 (DP-1, 2560x1440@144, primary) + Dell P2418D (HDMI-1,
2560x1440@60)
## Impact
Any script or application that positions X11 windows programmatically
(`wmctrl`, `xdotool`, `_NET_MOVERESIZE_WINDOW`) is broken on multi-monitor
setups.
Windows land outside the desktop where they cannot be seen, clicked, or
recovered —
they cannot even be dragged back, since the position request is re-doubled.
Wayland-native clients are unaffected, so this only bites the XWayland
path.
** Affects: mutter (Ubuntu)
Importance: Undecided
Status: New
** Tags: multimonitor noble regression-update xwayland
--
You received this bug notification because you are a member of Ubuntu
Desktop Bugs, which is subscribed to mutter in Ubuntu.
https://bugs.launchpad.net/bugs/2161021
Title:
mutter 46.2-1ubuntu0.24.04.16: X11 window coordinates doubled —
windows targeted at second monitor land off-screen (regression from
LP: #2156974)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/2161021/+subscriptions
--
desktop-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs