sddm
sddm copied to clipboard
SDDM ignores the cursor theme and uses Adwaita
Desktop - KDE Plasma OS - Arch SDDM 0.21
My config file /etc/sddm.conf.d/kde_settings.conf
[Autologin]
Relogin=false
Session=
User=
[General]
HaltCommand=/usr/bin/systemctl poweroff
RebootCommand=/usr/bin/systemctl reboot
[Theme]
Current=breeze
CursorSize=24
CursorTheme=breeze_cursors
Font=Noto Sans,10,-1,0,400,0,0,0,0,0,0,0,0,0,0,1
[Users]
MaximumUid=60513
MinimumUid=1000
[X11]
ServerArguments=-dpi 0
Seconded, also on Arch, with SDDM 0.21.0, exactly the same problem, tried with both Oxygen_Zion and breeze_cursors, but both cases just showed the Adwaita cursor.
Phew, I thought I was doing something wrong! (also on Arch, using Bibata Modern Classic)
same problem, cursorsize=18, cursortheme=breeze_cursors
also, it cannot sync the hidpi settings 200% scaling of wayland
Desktop - dwm OS - Arch SDDM 0.21.0-4
Same problem with these configs:
[General]
InputMethod=
Namespaces=
Numlock=on
HaltCommand=/usr/bin/systemctl poweroff
RebootCommand=/usr/bin/systemctl reboot
[Autologin]
Relogin=false
Session=
User=
[Theme]
Current=where_is_my_sddm_theme
CursorSize=24
CursorTheme=breeze_cursors
Font=Noto Sans,10,-1,5,50,0,0,0,0,0
DisableAvatarsThreshold=7
EnableAvatars=true
FacesDir=/usr/share/sddm/faces
ThemeDir=/usr/share/sddm/themes
[Users]
MaximumUid=60513
MinimumUid=1000
DefaultPath=/usr/local/sbin:/usr/local/bin:/usr/bin
HideShells=
HideUsers=
RememberLastSession=true
RememberLastUser=true
ReuseSession=true
[Wayland]
EnableHiDPI=true
SessionCommand=/usr/share/sddm/scripts/wayland-session
SessionDir=/usr/share/wayland-sessions
SessionLogFile=.local/share/sddm/wayland-session.log
[X11]
DisplayCommand=/usr/share/sddm/scripts/Xsetup
DisplayStopCommand=/usr/share/sddm/scripts/Xstop
EnableHiDPI=true
MinimumVT=1
ServerPath=/usr/bin/X
ServerArguments=-dpi 0
SessionCommand=/usr/share/sddm/scripts/Xsession
SessionDir=/usr/share/xsessions
SessionLogFile=.local/share/sddm/xorg-session.log
UserAuthFile=.Xauthority
XauthPath=/usr/bin/xauth
XephyrPath=/usr/bin/Xephyr
I debugged this a bit.
The reason is that Qt 6 switched from using libXcursor to xcb-util-cursor (https://bugreports.qt.io/browse/QTBUG-67373), which does not look at the XCURSOR_THEME
environment variable anymore. There does not appear to be a way to set the theme other than Xcursor.theme
so needs a call to xrdb: https://github.com/sddm/sddm/pull/1904
IMO a Qt bug that it no longer respects the application/platform cursor setting, but in most cases the resource is set appropriately already anyway.
Put your cursor theme in /usr/share/icons/default/index.theme
[Icon Theme]
Inherits=Bibata-Rainbow-Modern
I think I just read the entire internet, trying to sort this! Saw a comment (Endeavour forum) about ~/.icons/default/index.theme
which lead me to this.
If you want a workaround, don't do that.
Instead, put echo 'Xcursor.theme: Bibata-Rainbow-Modern' | xrdb -nocpp -merge
into the sddm Xsetup script.
Does that work on wayland?
If you use kwin_wayland as compositor, the cursor theme should already be set correctly. No idea which other compositors honor XCURSOR_THEME
.
Nope, cursor started off as bibata, then becomes adwaita, log-in and it becomes bibata. This fix worked for me, I now have a consistent theme.
Nope, cursor started off as bibata, then becomes adwaita
Ok, so the compositor uses the right cursor but sddm-greeter unsets it again. Both should have XCURSOR_THEME
set and use it. Needs a closer look I guess.
I confirm it's the same for me(
Hello, I'm having the exact same problem. Breeze cursor displays for a second, and then it reverts back to Adwaita.
Arch Linux KDE Plasma 6.0.4 SDDM 0.21.0
Still not fixed, tested with plasma 6.2.0
https://github.com/sddm/sddm/pull/1904 is the fix.
Can your PR fix the "cursor size too small on HiDPI settings" problem?
Well, there is actually another problem. For some reason 'Apply Plasma Settings' doesn't want to put the mouse settings into /var/lib/sddm/.config/kcminputrc. The solution is to switch to another mouse theme, save, then apply plasma settings, then switch back save and apply again. Now you should have an entry in kcminputrc saying
[Mouse]
cursorTheme=breeze_cursors
And your problem should be fixed. For newly installed OSes, you should less likely run into this problem. I suspect there is some caching mechanism broken for machines upgraded from old systems.
Hm, /var/lib/sddm/.config/kcminputrc
should not be used to set the cursor theme. That way SDDM's option won't have any effect.
Yet I can confirm that once the cursor setting in kcminputrc is deleted, the cursor reverts to adwaita. I'm using sddm-wayland-plasma on f40. Your PR is about sddm on X11 right? In /etc/sddm.conf.d/kde_settings.conf
we do have CursorTheme=breeze_cursors
, it just doesn't do anything (even after the cursor setting is deleted in kcminputrc).
@AlanIWBFT The PR only affects X11, correct.
On wayland it should already work as the compositor should be started with XCURSOR_THEME
set. If not, that's a bug.
And unfortunately XCURSOR_THEME
is set, but the mouse is still adwaita:
but hold up, didn't you say
XCURSOR_THEME
is no longer respected? why would it work for wayland?
but hold up, didn't you say XCURSOR_THEME is no longer respected?
Not by Qt 6 using xcb, as it uses libxcb-cursor instead of libXcursor now.
why would it work for wayland?
kwin_wayland uses getenv explicitly.
why would it work for wayland?
kwin_wayland uses getenv explicitly.
And so does Qt 6, through the MouseCursorTheme
platform theme hint.
So, what's the consensus now? sddm under wayland has a bug that ignores XCURSOR_THEME
?
Maybe check the directory of /usr/share/icons?
I can confirm all those issues both on Arch Linux as well as in a virtual machine running KDE Neon.
Although on my Arch system it seems that the cursor in SDDM is always stays Adwaita, while in Neon it the cursor actually happens to be Breeze, but has the short change to Adwaita and back.
But I noticed that Adwaita cursor only on VM startup, for which I have configured my user to automatically login (so that I don't actually see SDDM). I didn't notice it when doing a logout and login again, except a minor size change of the cursor.
Most significant to me is the scaling problem for which I started looking for solutions (I didn't even pay attention to the cursor issue until I came here). This is the setting what I always used, and which used to work (making everything 150% size):
[X11]
ServerArguments=-dpi 144
My conclusion was that SDDM had changed to Wayland by default (as fractional and DPI scaling works very different there, as far as I understand) as a reason why this setting is broken, but that does not seem to be the case.
It should be reopen, because nothing is fixed in wayland on ArchLinux with sddm and plasma.
It should be reopen, because nothing is fixed in wayland on ArchLinux with sddm and plasma.
Let's keep this issue for X11, you can open another one for Wayland. FWIW, it works here...
Let's keep this issue for X11, you can open another one for Wayland. FWIW, it works here...
It seems that this question is first opened regardless of X11/wayland
and many of us who comment in this issue uses wayland.
Since there is no separate bug, this should be for both. I can confirm it's still broken when sddm runs in Wayland mode.