Avoid boot time stall due to udev rules
The script deployed by the displaylink installer at /opt/displaylink/udev.sh is triggered by udev rules and will run:
systemctl start displaylink-driver
Under certain conditions this will trigger "udevadm settle" to block forever as it leaved processes left and can't return.
I found https://github.com/NixOS/nixpkgs/pull/51760/commits/c72bb28b9cb5138d39647f8fa12394443fea682d which fixes the issue for them.
Applying the same to /opt/displaylink/udev.sh in Ubuntu 20.04 works just fine, the boot is fast again and functionality had no negative impact.
So please could you change this line in your code to be like:
systemctl start --no-block displaylink-driver
Jonathan Motzfelt commented
Thanks for the fix - spend a couple of hours getting frustrated with not being able to boot my Lenovo T14 docked into a DisplayLink dock also from Lenovo. Applied this fix manually and not it worked.
Please get this patched into the upstream drivers.
I'm on Ubuntu 21.10 with driver version 5.4.1-55.174, using Lenovo T14 and ThinkPad USB-C Hybrid Dock, version A40.