joukewitteveen / xlogin

Automatic X login service for systemd
BSD 2-Clause "Simplified" License
72 stars 9 forks source link

open /dev/dri/card0: No such file or directory #15

Open noguxx opened 1 year ago

noguxx commented 1 year ago

Hi, this systemd is very useful at my htpc debian x86_64 sid install. I enabled xlogin@user and it was unable to start a openbox-session because of Xorg error "open /dev/dri/card0: No such file or directory", I managed to workaround by adding i915 to /etc/initramfs-tools/modules and update-initramfs -u Can you make systemd wait for the card to be available, restart at fail or at least a warning about this problem when the service fails or at the README.

Thanks

joukewitteveen commented 1 year ago

Hi! Thanks for writing this down so that others can find it. One thing you can do is to add a file /etc/systemd/system/x@vt7.service.d/gpu.conf containing

Wants=dev-dri-card0.device
After=dev-dri-card0.device

and make sure that the device actually shows up as a systemd device. That could be done by adding a file /etc/udev/rules.d/gpu.rules containing

ENV{DEVNAME}=="/dev/dri/card0", TAG+="systemd"

I am not entirely sure the latter is needed or whether your OS may already come preconfigured with something to the same effect. The related upstream systemd issue, systemd/systemd#25408, suggests it may be needed.

If you can suggests something that is clear and concise, I would be happy to add it to the README. I would even consider adding the unit configuration directly to the service file if X always necessarily looks at that specific device.