weird cursor on Linux
Your system information
- Steam client version (build number or date): 1731433018
- Distribution (e.g. Ubuntu): NixOS (
nixos-unstable) - Opted into Steam client beta?: No
- Have you checked for system updates?: Yes
- Steam Logs: steam-logs.tar.gz
- GPU: AMD
Please describe your issue in as much detail as possible:
Steam does not use system cursor (except pointer in non-Web ui parts only) and instead falls back onto some sort of default one.
Steps for reproducing this issue:
- Open steam
- Hover either over any webui part, any part of the ui that changes the cursor or the steam overlay
Non-webui parts of the UI still display the correct cursor:
I'm using breeze_cursors on KDE Plasma 6 (Wayland)
I can reproduce on elementary OS 8 "Circe", on Secure Session (Wayland). Maybe it's not specific to NixOS.
For NixOS, this fix worked for me:
{
xdg.icons.fallbackCursorThemes = [ "breeze_cursors" ];
}
(or substitute any other cursor theme)
For other OS'es, put this into /usr/share/icons/default/index.theme? (haven't tested but it's what the NixOS option does internally):
[Icon Theme]
Inherits=breeze_cursors
For NixOS, this fix worked for me:
{ xdg.icons.fallbackCursorThemes = [ "breeze" ]; }
Was glad someone had a solution, but sadly it did not fix the issue on my machine :/
Replying to https://github.com/ValveSoftware/steam-for-linux/issues/11484#issuecomment-2546235840
This does not fix the issue for me either. Neither does manually creating /usr/share/icons/default/index.theme
Sorry it's breeze_cursors and not breeze, breeze is just the normal icon theme :P
This should work:
{
xdg.icons.fallbackCursorThemes = [ "breeze_cursors" ];
}
Followed by a nixos-rebuild switch and restarting Steam.
You could also fix it by linking it like this: ln -s /run/current-system/sw/share/icons/breeze_cursors ~/.local/share/icons/default, for your user only.
Or really any way of setting the default xcursor theme. You can see the paths Steam will search for the theme by running steam-run env | grep XCURSOR_PATH, and in one of them you just need to make a default theme pointing to your desired cursor theme, either by symlinking or making a theme that inherits it. The issue here is NixOS (and maybe elementary OS) doesn't set default cursor theme, and Steam can't seem to get it from anywhere else as it runs in its own FHS environment and under Xwayland.
xdg.icons.fallbackCursorThemes = [ "breeze_cursors" ];
ln -s /run/current-system/sw/share/icons/breeze_cursors ~/.local/share/icons/default
@andre4ik3 neither of those fix it for me
what DID work for me though is:
cp -rL /run/current-system/sw/share/icons/breeze_cursors ~/.local/share/icons/default
Physically/recursively copying the cursor theme to my home directory without any symlinks
seems to be related to #10808
cp -rL /run/current-system/sw/share/icons/breeze_cursors ~/.local/share/icons/default
Thanks, this worked for me too! Based on this, using home-manager you can just do:
home.file.".local/share/icons/default" = {
source = "${pkgs.kdePackages.breeze}/share/icons/breeze_cursors/";
recursive = true;
};
This only copies the directory structure; the files are symlinked, but it worked anyway. I guess steam doesn't follow symlinked directories?
btw that "weird cursor" is the adwaita cursor. in case anyone cared. changing it breaks my client.