You are not logged in.

#1 2021-04-18 12:14:47

skiwi
Member
Registered: 2012-11-28
Posts: 38

DisplayLink high CPU utilization

I recently got a Dell docking station for my XPS 9370. This seemed like a nice upgrade to get rid of some cable clutter on my desk but unfortunately it appears that the DisplayLink driver has some issue leading to high CPU utilization. In idle state this is around 30-40% but I can easily get this to 100% simply by moving around some windows or even just the mouse. A similar issue seems to be reported on the DisplayLink forums [1]. Something similar might have been fixed a more recent driver version for Windows [2]. Some evidence that I may not be the only one seeing this in [3].

Is anyone able to use DisplayLink on (arch) linux or is this something related my setup ?

Thanks !

Screenshot-from-2021-04-18-12-18-15.png

My setup:
- Dell XPS 9370 (one internal HD monitor), Intel® UHD Graphics 620
- Two external monitors (2x Dell Ultrasharp @ 2560x1440)  connected through DisplayLink->Docking Station->Laptop (USB-C/thunderbolt)
- Arch `Linux 5.11.13-arch1-1`, `aur/evdi-git 1.9.1.r4`, `aur/displaylink 5.4-2`, GNOME 40.0.0 with Wayland

The docking station has two DisplayPorts, one HDMI and USB-C. I've tried
- connecting both monitor through DisplayPort (docking station): high cpu usage as described above
- connecting one monitor through HDMI (docking station) and the other through DisplayPort (docking station): same as above.
- connecting one monitor through HDMI (docking station) and the other through USB-C (docking station) but then the USB-C doesn't get recognized as a display.
- connecting one monitor through HDMI (docking station) and the other through USB-C directly, that works, low cpu utilization
- connecting both directly through USB-C, that also works, low cpu utilization, don't need a docking station for this.

[1] https://support.displaylink.com/forums/ … mint-linux

[2] https://support.displaylink.com/forums/ … nt-eats-38

[3] https://bbs.archlinux.org/viewtopic.php?id=251909

Last edited by skiwi (2021-04-18 12:16:34)

Offline

#2 2021-04-18 12:54:19

progandy
Member
Registered: 2012-05-17
Posts: 5,317

Re: DisplayLink high CPU utilization

I have no solution for DisplayLInk, but in the future, please avoid DisplayLink and look for docking stations with proper usb-c display port alternatie mode instead (thunderbolt docking stations may be an option as well, but they are too expensive in my opinion). DisplayLink is an ugly thing that reads the image from a fake screen, copies it to a userspace process which in turn compresses it and sends it over a proprietary usb protocol. The more screens you connect that way, the more cpu time and memory is required
USB-C DP altmode doesn't have any of the overhead and directly sends displayport data over half of the usb-c lanes. The other half is still available for usb3.1, but it is also possible to build an adapter that uses all lanes for displayport and optionally has usb2.0. A monitor connected through usb-c most likely uses this alt-mode.

Last edited by progandy (2021-04-18 12:58:30)


| alias CUTF='LANG=en_XX.UTF-8@POSIX ' | alias ENGLISH='LANG=C.UTF-8 ' |

Offline

#3 2021-04-18 13:54:27

skiwi
Member
Registered: 2012-11-28
Posts: 38

Re: DisplayLink high CPU utilization

Thanks @progandy ! That makes sense, then it's probably unavoidable to a large extent. I didn't realize DisplayLink works like this. Not sure why this is such a common technology then.
I'll see if I can return the docking station (Dell D6000) and find a different solution or otherwise continue working through HDMI/USB-C directly.

Topic can be closed

Offline

#4 2021-04-18 16:17:23

progandy
Member
Registered: 2012-05-17
Posts: 5,317

Re: DisplayLink high CPU utilization

Not sure why this is such a common technology then.

I imagine the protocol tries to be clever and do things like skipping unchanged frames and sending only damaged/changed parts of frames to limit the used bandwidth. That way more high-resolution outputs can be driven with a single connection if the content is mostly static at the cost of more processing. The DisplayLink driver could maybe be optimized and improved, but since it is closed source and the company doesn't seem to neglect their linux users, good luck with that.

Such a dock is also universal and doesn't require hardware support except an USB port (With low resolutions / frame rates it even works with usb2)

DisplayPort sends all frames in full(*), so with the USB3/DP combined mode you can drive a single 4k-60Hz display or maybe two 2k-60Hz displays.
https://www.displayport.org/displayport-over-usb-c/

(*): There is Display Stream Compression (DSC), but I have no idea if your laptops, docks or monitors support that. I also do not know if DSC works with damage tracking or simply compresses each frame.

Edit: Dell has USB-C and Thunderbolt docking stations that might work (WD15, WD19, WD19DC, TB15, TB16, WD19TB)
https://www.dell.com/support/kbdoc/0001 … ns?lang=en

Last edited by progandy (2021-04-18 16:30:37)


| alias CUTF='LANG=en_XX.UTF-8@POSIX ' | alias ENGLISH='LANG=C.UTF-8 ' |

Offline

Board footer

Powered by FluxBB