Cannot Change SDDM Login Screen Background Image

Upstream issue

Hi. Not a showstopper, but I can’t seem to update the Background Image for my SDDM Login Screen.

FWIW, I’m trying to set it to one of the desktop wallpaper images from /usr/share/wallpapers.

I have tried clicking the “Clear Image” button before selecting a new image, but it never seems to change.

Thanks!

1 Like

I set my background image on workstation (gnome) using the settings → appearance panel

This is not true for Atomic Desktops (and also not the same on KDE :laughing: )

SDDM by default uses themes in /usr/share/sddm.

Lesson 1 in atomic desktops: /usr is immutable

The best workaround for this is here:

https://pagure.io/fedora-kde/SIG/issue/534

@siosm also mentioned the solution for this, support for multiple theme directories.

I am not sure if changing the image of a preinstalled theme would be possible when that fix is there.

It would require copying the system theme to a mutable directory and then changing it, if that works how I think it works.

1 Like

Added atomic-desktops, bug-reported and removed kde-plasma

the workaround for now is:

  1. create the custom mutable directories
  2. copy the system SDDM themes there recursively
  3. change the config file
  4. maybe reboot
  5. attempt the change again

in my test it worked great, the getnewstuff integration downloads to the correct location etc.

2 Likes

Thanks, @boredsquirrel , but no joy.

Here is the new local-themes.conf:

eric@EarthMkII:/var/home/eric$ cd /etc/sddm.conf.d/
eric@EarthMkII:/etc/sddm.conf.d$ ll
total 8.0K
drwxr-xr-x. 1 root root   68 2024-08-24 21:21 ./
drwxr-xr-x. 1 root root 4.2K 2024-08-24 22:28 ../
-rw-r--r--. 1 root root  156 2024-02-29 12:38 kde_settings.conf
-rw-r--r--. 1 root root   30 2024-08-24 21:22 local-themes.conf
eric@EarthMkII:/etc/sddm.conf.d$ cat local-themes.conf 
ThemeDir=/var/lib/sddm/themes
eric@EarthMkII:/etc/sddm.conf.d

And here is /var/lib/sddm (I had to sudo su to access the sddm dir):

root@EarthMkII:/var/lib/sddm# ls
state.conf  themes
root@EarthMkII:/var/lib/sddm# ll
total 4
-rwxr-xr-x. 1 sddm sddm 285 Feb 29 02:41 state.conf
drwxr-xr-x. 1 sddm sddm  44 Aug 24 22:25 themes
root@EarthMkII:/var/lib/sddm# cd themes/
root@EarthMkII:/var/lib/sddm/themes# ll
total 0
drwxr-xr-x. 1 sddm sddm 270 Aug 24 21:25 01-breeze-fedora
drwxr-xr-x. 1 sddm sddm 270 Aug 24 21:25 breeze
root@EarthMkII:/var/lib/sddm/themes# cd ..
root@EarthMkII:/var/lib/sddm# tree .
.
├── state.conf
└── themes
    ├── 01-breeze-fedora
    │   ├── Background.qml
    │   ├── default-logo.svg
    │   ├── faces
    │   ├── KeyboardButton.qml
    │   ├── Login.qml
    │   ├── Main.qml
    │   ├── Messages.sh
    │   ├── metadata.desktop
    │   ├── preview.png
    │   ├── SessionButton.qml
    │   └── theme.conf
    └── breeze
        ├── Background.qml
        ├── default-logo.svg
        ├── faces
        ├── KeyboardButton.qml
        ├── Login.qml
        ├── Main.qml
        ├── Messages.sh
        ├── metadata.desktop
        ├── preview.png
        ├── SessionButton.qml
        └── theme.conf

6 directories, 21 files

Did I miss something?

@siosm mentioned it should be reported upstream and be possible to use multiple paths as a solution. He also told you that your bug-report is a duplicate and your request is to demanding.

You are an active participant in the Fedora Project by now so you know how things work. This is an open source project, driven by contributors.

Phrasing bug reports as rhetoric questions to incite an answer and opening a lot of low effort, low research, duplicate bug reports across multiple trackers is wasting us valuable time.

Please make an effort to search for duplicated issues before posting a new issue in the tracker.

As long as nobody is making the “real” effort to report the bug upstream and links it in this topic, I will remove the bug-reported tag. This information is misleading.

An other point here is, that it is not desired to use a different background image path for SDDM. The optimum would be that we can use the same path as the Workstation and other versions from Fedora Linux uses.

Gnome/Mate/Cinnamon/etc. uses /usr/share/backgrounds/ for the default dark/light backgrounds and does this with a simlink in to a sub directory of the mentioned path:

lrwxrwxrwx. 1 root root   30 mar  6 21:00 default-dark.png -> ./f40/default/f40-01-night.png
lrwxrwxrwx. 1 root root   28 mar  6 21:00 default.png -> ./f40/default/f40-01-day.png
lrwxrwxrwx. 1 root root   19 mar  6 21:00 default.xml -> f40/default/f40.xml

So everithing is nicely in a versioned sub folder and it is possible to have several versions on the same system.

Having this detail in mind, means that multiple paths will be needed also in SDDM, to make it more compatible with Fedora Linux and that we not have to “cook an extra menu for KDE desktop”.

1 Like

Removed bug-reported

the issue contains my temporary workaround, streamlined with sioms proposed /var/lib idea. thats why it is linked.

the original issue is here:

https://pagure.io/fedora-kde/SIG/issue/282

But @dislocate-satisfy I see that there is an issue with my proposed workaround. It worked when using /var/usrlocal/share/sddm/themes but this may be an ostree-specific directory and not really standard.

I add the upstream issue to the original post.

Added bug-reported

On a non-atomic distro that path should be /usr/local/share/sddm/themes or /usr/share/sddm/themes.

The atomic distros must muck that around since /usr is immutable on the atomic versions.

Maybe someone who is using fedora KDE on a standard rpm based (non-atomic) release could jump in with the actual path to the sddm themes.

/var/usrlocal/share is a link to /usr/share to /usr/local/share

/var/lib sounds like a good use, and generally dividing the themes into preinstalled (i.e. factory reset-able) and custom installed ones.

so even non atomic desktops could benefit from the different locations

the bottleneck seems to be a mechanism to always copy the immutable themes to the mutable location and also overwrite existing themes there

/usr/local is linked to /var/usrlocal

1 Like

thanks, reminded me, I need to work on the docs!

I know it has been a while, but just today I noticed that every tab under the “Colors & Themes” System Settings has this same QML error. Is this related? Should I undo the changes I documented above? Thx!

EDIT: Yes, it seems so. I removed the local-themes.conf file I had added above, and the tabs show the correct settings now.