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
Bugs, which is subscribed to 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


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to