Page MenuHomeSolus

os-installer gdm config conflicting with gdm's own
Open, Needs TriagePublic

Description

We have a gdm config in the os-installer package (here) that, if I understand correctly, gets applied to the system in the postinstall step of the installation. (to replace the one that is applied to the live ISO in the infrastructure-tooling/image/solus-image-creator.py script)

This config differs from the one we ship directly with gdm (relevant patch here), notably in the WaylandEnable=false option, which is commented out in the former, but supposed to be active (i.e. disable Wayland) in the latter.

If I'm not mistaken this doesn't get overwritten by the actual gdm package, so systems are stuck with the config applied during the installation. At least on my system it seemed to be the case in my recent gdm testing.

I think we should as a first step make sure those configs have the same contents and in the future source the same config file for both purposes, so one doesn't have to change it in two places.

Event Timeline

I think it's safe to nuke the os-installer gdm config now?

It seems to my naive eyes like we could just use the actual gdm config everywhere, but then again I don't know what the original reason was for splitting things up like that.

Okay, so I've only just now realized that the config from infrastructe-tooling is responsible for auto-login in Live CD mode (i.e. before installation). So we need that custom config available in some way. I just tried putting it in /run/gdm/custom.conf because I read that that directory was supposed to overrule /etc at least when it comes to blocking Wayland, but it seems that gdm just deleted it immediately. Gonna see if there is some other way to make it so we don't have to carry three copies of the conf.

So I haven't found any way to get gdm to activate automatic login for the Live CD that doesn't involve modifying the custom.conf in /etc/gdm/, and I'm now officially out of ideas

Two workarounds around this that I have successfully applied in testing, but which both are kinda ugly:

  1. In solus-image-creator.py: copy/move the original custom.conf (supplied by the gdm package) to a backup location, instead of overwriting it. Then restore it in the os-installer postinstall step.
  2. Simply add the AutomaticLogin option for the live user to the actual custom.conf in the gdm package. If the live user doesn't exist this effectively gets ignored (I didn't check how bad warnings/errors about this look in the logs)

Apart from that I guess it would also be possible to patch gdm so it accepts another, prioritized custom.conf location which could then be supplied by the gnome-desktop-branding-livecd package.