Well, since revision 2038, we can consider this bug practically fixed. LightDM now adds/removes seats dynamically following logind SeatNew()/SeatRemoved() signals, and also listens on logind seats' CanGraphical property changes.
However, I think there's a last case that should be tested --- and it could be the most critical, although least probable, one: systemd boots too fast that lightdm service is started before main graphics device is loaded. In this case, seat0 would start as CanGraphical=no, and then switch to CanGraphical=yes after graphics device is ready.
I'm not sure if lightdm at revision 2038 can handle this case.
Well, since revision 2038, we can consider this bug practically fixed. LightDM now adds/removes seats dynamically following logind SeatNew( )/SeatRemoved( ) signals, and also listens on logind seats' CanGraphical property changes.
However, I think there's a last case that should be tested --- and it could be the most critical, although least probable, one: systemd boots too fast that lightdm service is started before main graphics device is loaded. In this case, seat0 would start as CanGraphical=no, and then switch to CanGraphical=yes after graphics device is ready.
I'm not sure if lightdm at revision 2038 can handle this case.