Article 5DA6X DisplayLink

DisplayLink

by
andygoth
from LinuxQuestions.org on (#5DA6X)
With permission, I'm taking over maintainership of the displaylink, evdi, and evdi-kernel SlackBuild scripts. The goal is a nice dual-head monitor setup for my dad's office, driven by his new Asus laptop running Slackware64-current.

It's been a rocky journey and a lot is still broken, but I've made some progress. I figured I'd write a bit about it here.

Right now I'm able to drive the displays, albeit at a jarringly low frame rate. Then when I turn off the laptop internal display, the frame rate drops to below 1fps for most of the screen, with only the mouse movement updating (slightly) quicker. I'm thinking of posting a video to YouTube because it's so bad it has to be seen to be believed.

This is a known issue with the driver ever since Ubuntu 20.04 and X.org 1.20.8. Over half a year ago, the upstream driver maintainers provided a patch, which I cannot use for several reasons. One, it's a Debian package targeting Ubuntu 20.04. Two, it replaces the X.org server core 1.20.8, whereas we're up to 1.20.10. Three, it's said to not work on AMD CPUs, which I have. I'm shocked they haven't shared the patch in source code form, only a precompiled binary, but such is the attitude common amongst proprietary driver developers. We Linux users are supposed to consider ourselves lucky when they even acknowledge our existence. The driver includes an XML file that closely resembles the structure of the Windows registry, so they probably did as minimal a port of their Windows driver as possible.

To get the driver to work at all, I built kernel 5.4.92, since they only support versions through 5.5, and 5.4 is a longterm branch. There are several patches floating around purporting to make things work with newer kernels, but I've not had any luck with them. I'll try harder later once other issues are resolved.

At present, I have to run "udevadm trigger -c add" in order to get the driver to load. I'm not sure why it's not being seen at boot. Then after doing that, I have to restart the X server. I also need to run "xrandr --setprovideroutputsource 1 0" and "xrandr --setprovideroutputsource 2 0" in order to make the USB-reachable displays available for selection in the XFCE display configuration panel. Definitely things are rough around the edges, but this is a good start.

If I can get things working happily with the current Linux kernels, I should look into integrating with dkms.

Right now everything is divided into three packages: displaylink, evdi, and evdi-kernel. I'm currently using the version of evdi bundled with the DisplayLink download, and if that continues to be what I have to do, then I'll merge these three packages into one. But if it makes sense to use a separate source for evdi, then the packages should stay as they are. I'll have to do more experimentation to see if changing evdi versions helps or hurts.

I've also been writing on the DisplayLink forum, though to date no one has replied to my posts. There doesn't seem to be any interest in distributions other than Ubuntu, only a mention that it's possible for users to adapt the Ubuntu installation scripts for other distributions.

One option I'm open to is abandoning my efforts in favor of buying a different multihead video solution. I'm already on my second dock, the first one having absolutely no hope of working in Linux. I am now using a Dell D3100, which I read has the best (practically only) Linux support of any USB 3 video dock. Despite being "best", it's still very poor by my estimation. If anyone knows a better way, please let me know.

Maybe I can buy a different laptop instead, one that can directly drive two external displays.latest?d=yIl2AUoC8zA latest?i=EcBgjJT3FAw:WE7TrzpJnTE:F7zBnMy latest?i=EcBgjJT3FAw:WE7TrzpJnTE:V_sGLiP latest?d=qj6IDK7rITs latest?i=EcBgjJT3FAw:WE7TrzpJnTE:gIN9vFwEcBgjJT3FAw
External Content
Source RSS or Atom Feed
Feed Location https://feeds.feedburner.com/linuxquestions/latest
Feed Title LinuxQuestions.org
Feed Link https://www.linuxquestions.org/questions/
Reply 0 comments