The simple answer is that with the current state of X hotplug, you can't. If you're sufficiently motivated, my (extremely limited) understanding of the stack of work to do is as follows:
- 1) Test/verify XRandR support in xserver-xorg-video-displaylink
- 2) Add a udev rule that calls a hotplug activation script
- 3) Have the activation script initialise the device, and send RROutputChangeNotifyEvent to X
- 4) Troubleshoot the known issues with receipt of RROutputChangeNotifyEvent that makes it currently only work with certain types of hardware device (something about polling)
Once you get this far, you should be able to attach a displaylink device after X is running, and have it initialised. Precisely how your session deals with the device as a secondary display will be an amusing source of bugs: there's lots of corner cases dealing with very small displays (some common displaylink devices are 800x480 or smaller), or with difficulties allocating sufficient VRAM (displaylink has interesting handling routines for very high-resolution displays).
BUT this isn't really complete, because you'll need to reattach it and reinitialise it each and every time you want to use it. For a richer solution, one needs to enable hotplugging at a deeper level, which can also be used for coldplugging:
- a) Implement DDC/EDID polling/handling for displaylink
- b) Implement USB bus polling during X initialisation
- c) Test/verify XRandR support in xorg-xserver-video-displaylink
- d) Add udev hints for displaylink devices to tell X how to detect them
Depending on precisely how b) is implemented, this should also cover the hotplug case also, by sending attributes to X in the udev rules (compare to how X input hotplugging support in udev is enabled). An added advantage of this implementation is that it likely also ends up adding support for USB display adaptors that use the sisusb driver (although that would need separate testing).
If you're actually interested in this level of implementation, I strongly advise you to carefully review wiki.x.org, and discuss this with the X developers. Several people have looked at the problem before, but all seem to have become distracted by something else at some time in the process.
If the above is all complete, the user experience should be: Attach a device. Install the driver. Watch it work (no logout/login, no reboot, etc.). Note that the user will not be prompted to install the driver on hardware detect, which is an entirely separate problem, and I think I've gone on long enough in this answer to leave that for another time.