Cursor doesn't adjust to context on screen 25.04

Ubuntu Version: 25.04 Plucky Puffin

Desktop Environment (if applicable): GNOME 48

Problem Description: I basically have this exact same issue. https://askubuntu.com/questions/1168157/mouse-pointer-does-not-adjust-to-context-on-screen
Cursor just stays an arrow, it doesn’t transform to ‘hand’ when hovering over links or as line when going over text. I’ve had it happen in Firefox, Brave and Teams for Linux (just an electron web-app). All 3 are installed as snaps (not sure if relevant). In order to fix it, you just have to move the cursor to another app (any app, even screenshotting or trying to record it fixes is - that’s why I don’t have a video of it)

Relevant System Information:
Ubuntu 25.04
GNOME 48
Wayland
Linux 6.14.0-15-generic
AMD Ryzen 9 9950X3D
AMD Radeon 9070 XT
Mesa 25.0.3-1ubuntu2
Not sure what else might be relevant

Screenshots or Error Messages: Can’t catch it, screenshotting fixes it

What I’ve Tried:
I’ve tried switching to Adwaita (default) cursor theme - doesn’t help
Disabling all extensions - doesn’t help
My next steps would have been installing from .deb installer but I didn’t really want to do that, I kinda like snaps. I was curious if anyone else has this issue using snaps


AFAIK this is an issue with XWayland and electron, I have not seen it with Firefox or any non-electron app yet though…

Mine says Wayland in about:support. Do you think GPU drivers might have to do anything with it? When I use snap packages, I use the driver they’ve packaged? I’ve just noticed this when I was checking if it’s wayland or xwayland

Driver Vendor mesa/llvmpipe
Driver Version 23.2.1.0

I have 9070XT, and apparently I need 25.0 Mesa drivers for that card (just from what I’ve read online). Should I try switching to .deb until they update the snap package? I’ve had a similar issue with Steam from Snap store, where it launches as black screen because of older drivers. On Steam-installer from .deb package it works. I could be totally misunderstanding this whole situation, though. Let me know if I’m speaking nonsense rn

1 Like

Some information here to read over:

— Support status —

Bionic (18.04) - Discontinued - Long term users can use kisak-mesa stable
Focal (20.04) - Support ending with the Mesa 25.0 series
Jammy (22.04) - Support ending with the Mesa 25.0 series
Noble (24.04) - Supported
Oracular (24.10) - Preliminary support (Not tested locally)
Plucky (25.04) - On hold until Focal and Jammy are retired due to PPA storage limit

We just have to be patient :wink:

1 Like

Isn’t that for something else, like getting the latest Mesa drivers on your device (like 25.1, for example, while we have 25.0)? I have Mesa 25.0.3-1ubuntu2 on my PC, I was under the impression that Snap packages use their own Mesa version they package inside (again, I have no clue what I’m talking about, just my understanding) Or are we waiting for kisak to package it so other devs would be able to use it in snap packages?

No, not in this case, my current daily driver is a Qualcomm arm64 laptop with Mali GPU, couldn’t be more different hardware and I can reproduce the cursor issue just fine, just not in Firefox…

The other bit (mesa 25.x) is unrelated I think and just something your specific graphics card requires…

2 Likes

You are correct, snaps use:

This makes it very easy to switch between different versions and variants of the mesa drivers without affecting the host at all…

I.e. there are kisak and obiaf channels for the mesa snap to use the different variations of mesa with different patch sets and gaming optimisations by simply using snap refresh with the correct --channel option…

1 Like

Wise Words, but i’m not so Wise… :wink:
I also agree. No change seen on my end.

glxinfo | grep "Mesa" 
client glx vendor string: Mesa Project and SGI
OpenGL core profile version string: 4.6 (Core Profile) Mesa 25.0.5 - kisak-mesa PPA
OpenGL version string: 4.6 (Compatibility Profile) Mesa 25.0.5 - kisak-mesa PPA
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 25.0.5 - kisak-mesa PPA

Thanks, I managed to find the issue. They even explain how to reproduce it and I can reproduce it now every time https://gitlab.gnome.org/GNOME/mutter/-/issues/4033

I think I found a way to reproduce my remaining issue:

  • Highlight a bit of text in an XWayland window.
  • Drag that bit of text
  • Release it somewhere (doesn’t need to be an input field)
  • Mouse cursor changes from the “hand” cursor back to the regular “arrow” cursor. After that it doesn’t change in any XWayland window regardless what I hover over (not just the one where I triggered the issue)
    • Switching focus to another XWayland window doesn’t fix it
    • Switching focus to a Wayland window fixes it
    • Moving any window (or opening Gnome Overview) fixes it

This is what causes it, I didn’t realize I was doing this but I was. It doesn’t have to be xwayland window, though, I’ll let them know there. Because mine isn’t. Maybe you could try this on your end as well
Proof that it’s on wayland
image
Edit: actually they seem to be on top of it and realize it’s not only on xwayland, I’ll just keep following the thread

1 Like

I’ve just installed .deb (native) version and it doesn’t happen in that one. I guess the issue is that snap doesn’t use gtk 3.24.49. I’m just making that conclusion of what they say here https://gitlab.gnome.org/GNOME/mutter/-/issues/4033 in the last few comments. I’ve tried to check what’s in use but I was unsuccessful in that.

Also tried switching channel to latest/edge 140.0a1 on firefox nightly (snap) and that fixes it as well. So I guess I don’t have to report this to anyone? It will fix itself on its own as updates come, as far as I understand this. There are a couple of packages that this happens in, Chromium for example, as well. That one is packaged by Canonical.

Right, all snaps that switch to the new graphics stack (which for most is already in use in the edge channel as you found) will be fixed soon…

2 Likes