Public bug reported:
On a Wayland session at scale 1.0, the mouse cursor becomes about 1.75x
larger (≈3x the area) only while hovering the monitor arrangement area in
Settings > Displays (CcDisplayArrangement). It returns to normal size as
soon as the pointer leaves that widget.
ENVIRONMENT
- Ubuntu 26.04, GNOME Shell 50.1, Wayland session
- libgtk-4-1 4.22.4+ds-0ubuntu0.1
- mutter-common 50.1-0ubuntu2.4
- gnome-control-center 1:50.3-0ubuntu0.2
- yaru-theme-icon 26.04.5.1ubuntu (cursor theme: Yaru)
- Single 1080p monitor, scale 1.0, no fractional scaling
(org.gnome.mutter experimental-features empty), cursor-size 24
- XCURSOR_SIZE not set, no gtk-cursor-theme-size in settings.ini
STEPS TO REPRODUCE
1. Wayland session, scale 100%, cursor size 24
2. Run: gnome-control-center display
3. Hover the monitor rectangle(s) in the arrangement area
EXPECTED: 24 px cursor
ACTUAL: cursor displayed at 42x42 logical pixels
ANALYSIS
- GTK Inspector shows the widget sets a GdkCursor with name "fleur"
(legacy X11 name). A new GdkCursor object is created on every motion.
- "fleur" has no wp_cursor_shape_v1 equivalent, so GTK falls back to a
client-side cursor surface instead of set_shape.
- WAYLAND_DEBUG=1 shows, on every pointer motion:
wl_shm_pool.create_buffer(new id wl_buffer, 0, 32, 32, 128, 0)
wl_surface#43.attach(wl_buffer, 0, 0)
wp_viewport#44.set_source(0, 0, 32, 32)
wp_viewport#44.set_destination(42, 42)
wl_surface#43.damage(0, 0, 42, 42)
wl_surface#43.commit()
wl_pointer#40.set_cursor(serial, wl_surface#43, 5, 5)
- The compositor reports scale 1.0 everywhere: wl_output.scale(1) on all
outputs and wp_fractional_scale_v1.preferred_scale(120) for both the
toplevel and the cursor surface. The 42x42 destination is still sent
after preferred_scale(120) was received.
- 42 = 24 x 1.75: GTK computes the cursor size with a scale that does not
match the compositor. The Yaru "fleur" cursor provides nominal sizes
24/32/48/64/96, yet a 32x32 image is used.
- Cursors mapped to cursor-shape (e.g. "default") are drawn by Mutter at
the correct 24 px. MUTTER_DEBUG_DISABLE_HW_CURSORS=1 makes no difference.
LIKELY CAUSES
1. GTK (gdk/wayland): wrong size/viewport computation in the fallback
(non cursor-shape) cursor path.
2. gnome-control-center: uses the legacy name "fleur" instead of the
standard CSS name "move", which forces the fallback path; the cursor
is also recreated on every motion event, so a new SHM buffer is
allocated each time.
ProblemType: Bug
DistroRelease: Ubuntu 26.04
Package: libgtk-4-1 4.22.4+ds-0ubuntu0.1
ProcVersionSignature: Ubuntu 7.0.0-34.34-generic 7.0.14
Uname: Linux 7.0.0-34-generic x86_64
ApportVersion: 2.34.1-0ubuntu0.1
Architecture: amd64
CasperMD5CheckResult: pass
CurrentDesktop: ubuntu:GNOME
Date: Mon Sep 28 15:20:22 2026
InstallationDate: Installed on 2023-10-02 (1092 days ago)
InstallationMedia: Ubuntu 22.04.3 LTS "Jammy Jellyfish" - Release amd64
(20230807.2)
ProcEnviron:
LANG=fr_FR.UTF-8
PATH=(custom, no user)
SHELL=/usr/bin/zsh
TERM=xterm-256color
XDG_RUNTIME_DIR=<set>
SourcePackage: gtk4
UpgradeStatus: No upgrade log present (probably fresh install)
** Affects: gtk4 (Ubuntu)
Importance: Undecided
Status: New
** Tags: amd64 apport-bug gnome-control-center resolute wayland-session
** Attachment added: "View of gnome-control-center with bug"
https://bugs.launchpad.net/bugs/2168756/+attachment/6003426/+files/Bug.png
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2168756
Title:
Wayland: cursor shown 1.75x too large over display arrangement in
Settings (fallback cursor gets 42x42 viewport at scale 1.0)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gtk4/+bug/2168756/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs