Hm. That suggests to me that the main problem here might be the race in X start up. Could you please try running
echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash sudo update-initramfs -u
to get initramfs-tools to add the drm modules to your initramfs? This should ensure that they're loaded earlier and certainly before X.
If that fixes the problem I'll need to work out how to get libdrm to block appropriately while the kernel modules are being initialised.
Hm. That suggests to me that the main problem here might be the race in X start up. Could you please try running
echo FRAMEBUFFER=y | sudo tee /etc/initramfs- tools/conf. d/splash
sudo update-initramfs -u
to get initramfs-tools to add the drm modules to your initramfs? This should ensure that they're loaded earlier and certainly before X.
If that fixes the problem I'll need to work out how to get libdrm to block appropriately while the kernel modules are being initialised.