Using systemd-networkd instead of wicked or networkmanager makes the (~6s) difference between KMS module finishing loading soon enough or not. This is from an xdm startup failing using systemd-networkd: # journalctl -b -o short-monotonic -u display-manager.service -u systemd-modules-load.service -g St -- Journal begins at Sat 2021-01-16 18:26:29 EST, ends at Sat 2021-08-14 16:50:47 EDT. -- [ 3.849113] asa88 systemd[1]: Stopped Load Kernel Modules. [ 6.231843] asa88 systemd[1]: Starting X Display Manager... [ 7.383982] asa88 display-manager[651]: Starting service tdm [ 7.384359] asa88 systemd[1]: Started X Display Manager. This is from an xdm startup succeeding using wicked: # journalctl -b -o short-monotonic -u display-manager.service -u systemd-modules-load.service -g St -- Journal begins at Fri 2021-08-13 23:33:06 EDT, ends at Sat 2021-08-14 17:38:24 EDT. -- [ 3.731005] localhost systemd[1]: Stopped Load Kernel Modules. [ 13.312481] asa88 systemd[1]: Starting X Display Manager... [ 13.411758] asa88 display-manager[1013]: Starting service xdm [ 13.412175] asa88 systemd[1]: Started X Display Manager. All my systems are configured with static IP, without IPV6 enabled, and without resolvconf of any kind enabled. It looks like the summary should be: display-manager.service starts too soon when using systemd-networkd or using systemd-networkd instead of wicked or networkmanager results in systemd-modules-load.service functionally finishing after display-manager.service starts