Go Back   DisplayLink Forum > DisplayLink Graphics Technology > Linux and Open Source

 
 
Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
Old 01-19-2021, 05:18 AM   #1
andygoth
Junior Member
 
Join Date: Jan 2021
Posts: 4
Default Slackware support

I am working on adapting the DisplayLink driver to work on Slackware. The former maintainer of the DisplayLink SlackBuild script told me to go ahead and take over, since his last update was back in 2017. The driver seems to have changed in a few ways since then, for example installing to /opt/displaylink and requiring systemd, upstart, or runit.

Unfortunately, I still don't have things working right, and I can't be sure if the problem is with the driver, my Slackware adaptations, my hardware, Slackware64-current, or something else.

I'm using a Dell D3100 dock, whose Ethernet, keyboard, mouse, and sound are working fine. Here's the output of lsusb:

Code:
$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 005: ID 04f3:0903 Elan Microelectronics Corp. ELAN:Fingerprint
Bus 003 Device 004: ID 13d3:5a05 IMC Networks USB2.0 VGA UVC WebCam
Bus 003 Device 003: ID 13d3:3496 IMC Networks 
Bus 003 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 005: ID 17e9:436e DisplayLink Dell D3100 USB3.0 Dock
Bus 002 Device 004: ID 2109:0813 VIA Labs, Inc. USB3.0 Hub
Bus 002 Device 003: ID 17e9:436e DisplayLink Dell D3100 USB3.0 Dock
Bus 002 Device 002: ID 2109:0813 VIA Labs, Inc. USB3.0 Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 13ba:0018 PCPlay Barcode PCP-BCG4209
Bus 001 Device 003: ID 2109:2813 VIA Labs, Inc. USB2.0 Hub
Bus 001 Device 002: ID 2109:2813 VIA Labs, Inc. USB2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Those two 17e9's look good. I also see related text in dmesg:

Code:
[    6.797257] usb 2-2.1: new SuperSpeed Gen 1 USB device number 3 using xhci_hcd
[    6.810352] usb 2-2.1: New USB device found, idVendor=17e9, idProduct=436e, bcdDevice=31.34
[    6.810420] usb 2-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    6.810475] usb 2-2.1: Product: Dell D3100 USB3.0 Dock
[    6.810513] usb 2-2.1: Manufacturer: DisplayLink
[    6.810549] usb 2-2.1: SerialNumber: 2010202407B
[...]
[    7.404132] usb 2-2.3: new SuperSpeed Gen 1 USB device number 5 using xhci_hcd
[    7.417935] usb 2-2.3: New USB device found, idVendor=17e9, idProduct=436e, bcdDevice=31.34
[    7.419685] usb 2-2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    7.421395] usb 2-2.3: Product: Dell D3100 USB3.0 Dock
[    7.423100] usb 2-2.3: Manufacturer: DisplayLink
[    7.424787] usb 2-2.3: SerialNumber: 2010202407
[...]
[   37.687498] evdi: loading out-of-tree module taints kernel.
[   37.702820] evdi: [I] Initialising logging on level 5
This ties into udev somewhat okay. It's not starting DisplayLinkManager on boot, but it does work after "udevadm trigger -c add". I know very little about udev and am not sure how to debug.

Here's /dev/displaylink:

Code:
$ ls -l /dev/displaylink/by-id/
total 0
lrwxrwxrwx 1 root root 20 Jan 18 23:46 usb-002-003-DisplayLink_Dell_D3100_USB3.0_Dock_2010202407B -> /dev/bus/usb/002/003
lrwxrwxrwx 1 root root 20 Jan 18 23:46 usb-002-005-DisplayLink_Dell_D3100_USB3.0_Dock_2010202407 -> /dev/bus/usb/002/005
At this moment, DisplayLinkManager is running. Yet, xrandr --listproviders appears to show only the onboard video:

Code:
$ xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x55 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 4 outputs: 2 associated providers: 0 name:AMD Radeon(TM) Vega 8 Graphics @ pci:0000:05:00.0
What is the next thing I should be looking at?

How do I read /var/log/displaylink/DisplayLinkManager.log? It appears to be a bunch of base64-encoded lines, but they decode to binary or gibberish.

Are there any other Slackware users here? Would anyone care to test my SlackBuild script? It's still a work-in-progress (haven't added dkms support yet).

Edit: After poking around forum a bit more, it seems the kernel and evdi versions are of great importance. I have kernel 5.10.6 and evdi 1.9.0. I played around trying to build the bundled evdi, but even with 228.patch it has a few compile errors due to drm_prime_pages_to_sg() wanting a "struct drm_device *" but being given a "struct page **".

While on the topic of versions, I should be clear that I'm using DisplayLink 5.3.1.34.

Last edited by andygoth; 01-19-2021 at 05:36 AM. Reason: versions
andygoth is offline   Reply With Quote
 

Tags
d3100 docking station, linux, slackware

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 06:40 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2021, vBulletin Solutions, Inc.