Public bug reported:

After any window enters and leaves fullscreen in an "Ubuntu on Xorg" session,
touchscreen taps no longer activate anything inside GNOME Shell popup menus or
modal dialogs (quick settings / aggregate menu, calendar, Looking Glass, polkit
authentication dialog). The menus still OPEN with a tap on the top panel, but
taps on their items do nothing. Mouse and keyboard keep working. Restarting the
shell (Alt+F2, r) restores touch until the next fullscreen.

This looks like a remaining case of LP: #2063005 / mutter#3484 (fixed by
"clutter: Repick actors when touches emulate button clicks", MR !4322), which
is already included in the installed version.

[ Test case ]
1. Log into "Ubuntu on Xorg" on a machine with a touchscreen.
2. Restart the shell (Alt+F2, r) to start from a clean state.
3. Tap the aggregate menu (top right), tap "Dark Style".
   -> Works: the toggle changes.
4. Open GNOME Terminal, press F11 (fullscreen), press F11 again (leave).
   Repeat once more if needed (with GNOME Terminal it broke on the 2nd
   fullscreen; with Google Chrome fullscreen via the Fullscreen API it breaks
   on the 1st).
5. Tap the aggregate menu (it opens), tap "Dark Style".
   -> Expected: the toggle changes.
   -> Actual: nothing happens. Same for every item in any shell popup/modal.
6. Use the mouse or keyboard on the same item -> works.
7. Alt+F2, r -> touch works again until the next fullscreen.

Not reproducible in the Wayland session on the same machine.

[ Observations from debugging (unsafe_mode + D-Bus Eval) ]
- In the broken state, with the aggregate menu open, the shell holds a valid
  grab: global.stage.get_grab_actor() is the panel menu and
  grab.get_seat_state() == Clutter.GrabState.ALL. Main.modalCount is correct
  (no leaked modal).
- No other X client holds an active device grab (XF86LogGrabInfo shows an
  empty active grab list).
- Disabling fullscreen unredirection (Meta.disable_unredirect_for_display in a
  small extension) does NOT avoid the problem.
- While tapping in the broken state, the journal shows many:
  (../clutter/clutter/clutter-actor.c:11730):clutter_actor_event: runtime check
  failed: (retval == CLUTTER_EVENT_PROPAGATE)
- Related observation: outside of grabs, a single tap on an ubuntu-dock icon is
  delivered twice (once as touch, button=0, and once as an emulated click,
  button=1). With click-action='minimize' this restores and immediately
  re-minimizes the window. This is probably a separate issue.

System:

Ubuntu 24.04.4 LTS, kernel 6.17.0-42-generic
mutter / libmutter-14-0 46.2-1ubuntu0.24.04.14
gnome-shell 46.0-0ubuntu6~24.04.13
xserver-xorg-core 2:21.1.12-1ubuntu1.5
xserver-xorg-input-libinput 1.4.0-1ubuntu24.04.1
Touchscreen: ILITEK ILITEK-TP (USB 222a:0001), libinput driver, 1024x768 HDMI
GPU: Intel Arrow Lake-U (display), NVIDIA RTX 5070 driver 580.173.02 also 
present
Extensions: ding, tiling-assistant, ubuntu-appindicators (ubuntu-dock disabled)

** Affects: mutter (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: noble touch xorg

** Tags added: noble

** Tags added: touch xorg

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2169883

Title:
  [Xorg] Touch input stops working in all shell popup menus and modal
  dialogs after any window has been fullscreen (until shell restart)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/2169883/+subscriptions


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

Reply via email to