GNOME Bugzilla – Bug 705409
hi-dpi support: scale cursors
Last modified: 2014-11-10 00:21:01 UTC
Cursors need to be scaled by the scale factor when we are on a hi-dpi display.
This is done
This doesn't completely work. As detailed here: http://www.linlap.com/lenovo_ideapad_yoga_2_pro org.gnome.desktop.interface.cursor-size needs to be changed from 24 to 48. Without this change, sometimes the cursors are the proper size, but other cursors are unscaled. Not sure what's the cause. Can do more investigation though.
It would be most helpful to know in what situation you see unscaled cursors. Are these dnd cursors ? Custom application cursors ? Something else ?
On my yoga 2 I see very small cursors (both pointer and dnd) by default in Fedora 20 (updated today).
What environment are you running this in? In gnome, we have gnome-settings-daemon controlling the cursor-size: https://github.com/GNOME/gnome-settings-daemon/blob/master/plugins/xsettings/gsd-xsettings-manager.c#L575 calculated here, based on the window scale factor: https://github.com/GNOME/gnome-settings-daemon/blob/master/plugins/xsettings/gsd-xsettings-manager.c#L505 So, if org.gnome.desktop.interface.cursor-size is 24, and g-s-d detects or is configured to use a scale of 2 it will set Gtk/CursorThemeSize to 48. Now, there are cases where this may still not work. For instance non-gtk apps will not read the Gtk/CursorThemeSize xsetting, and some themes do not have size 48 cursors. However, it sounds to you like manually changing it to 48 fixes it, which seems very weird to me...
I'm running GNOME 3.11.x (whatever is in Rawhide). Setting the icon size to 48 ensures proper sized cursors all the time. Before I set it to 48 (when it was at the default 24) cursors were the proper size only some of the time. For example, there were cases when the arrow icon was proper-sized, but the window resize icons were too small. I'll do some testing today and report back tomorrow.
I experienced this in stock Fedora 20 GNOME. I too had to set org.gnome.desktop.interface.cursor-size to 48 to have a decently-sized cursor. I didn't notice g-s-d's scale factor.
Tada -- proof http://imgur.com/a/bxAAh All with cursor-size set to 24
Hashem: That is very weird. We need to look deeper into exactly what happens, if the size is *sometimes* right that means that at some fundamental level things go right in that it scales the default size of 24 to 48, but why is it not always doing it?
I think it's partly GTK+2/3 dependent because cursor sizes change based on the app and cursor icon. I'd be happy to debug if you have any tips on how to debug gsd [from source?].
I can confirm my cursor is very tiny in a brand new fresh install of fedora 20 (fully updated) with gnome 3 running on a UHD monitor. For some reason I also had to manually set the scaling-factor in dconf to 2 (perhaps everyone is ignoring samsung devices these days, but in fact the new U28D590D really does report valid EDID info). The dconf scaling factor didn't seem to have any effect on the cursor size in the gnome shell. (I should probably say I also had to use the nvidia binary drivers because the GTX 750Ti video card isn't supported by nouveau yet).
(In reply to comment #11) > I can confirm my cursor is very tiny in a brand new fresh install of fedora 20 I observed this more, and I suspect the problem is a race condition between gnome shell starting and gnome setting daemon starting. When I move the cursor into an app, it appears to be the expected larger size, but the cursor in the gnome shell background (or on window title bars) is the microscopic one. I don't think gnome shell saw the scaling factor 2 setting before it started.
moving to gnome-shell, then
There was a bug in mutter which meant that it didn't follow the cursor size. That's fixed now. *** This bug has been marked as a duplicate of bug 729337 ***