DisplayLink Ubuntu driver after recent X upgrades does not work with Intel GPUs

Symptoms


On systems which use Intel graphics, upgrading the X Window Server to a version newer than 1.18.3 will make the system not compatible with DisplayLink Ubuntu software by default. This applies to systems using an integrated Intel GPU, or a combination of integrated Intel GPU and a discrete GPU.

On affected platforms, some or all of the following issues can be observed:
  • DisplayLink screens remain blank
  • DisplayLink screens freeze
  • DisplayLink screen or system screen drops to a low resolution (or system switches to low graphics mode)
  • System freezes completely

Workaround: Disable PageFlip for modesetting


It is preferred to keep using "modesetting" driver, but disabling page flipping is necessary. 
To do this, as a root user create a file 20-displaylink.conf under:

/usr/share/X11/xorg.conf.d/

with the following content: 

Section "Device"
  Identifier "DisplayLink"

  Driver "modesetting"
  Option "PageFlip" "false"
EndSection  

A reboot is required for the setting to be effective.  

Technical details


Root cause for these problems have been identified as a result of the recent changes in X.org window system, which do not work with evdi correctly out of the box.

Modesetting driver assumes page flips are not supported by devices using USB transport (e.g. udl - an opensource inbox driver for DisplayLink DL2 devices). However, evdi being a platform device, is not detected correctly by the logic in modesetting, and as a result page flipping is enabled for its screens.

Unfortunately, other parts of X are not yet ready to do page flip on PRIME slave outputs - c.f. the code in present:

These areas were changed just before releasing X from 1.18 and 1.19 branches - and the area is still being actively modified.
Page flipping is again allowed on PRIME slave outputs on trunk (not yet released) version of X.

Feedback and Knowledge Base