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

Reply
 
Thread Tools Search this Thread Display Modes
Old 04-07-2023, 02:44 AM   #1
psypete
Junior Member
 
Join Date: Apr 2023
Posts: 3
Default Alpine Linux support: my progress

Hi there,

I have a Dell D6000 Universal Dock that I need to unplug my HDMI cable into and plug into my laptop to use my monitor, and I would love it if I could just keep it plugged into the dock.

However, I am an insane person, because my laptop runs Alpine Linux. Alpine is a non-glibc Linux distribution, so I understand why this isn't supported yet. However, I'm halfway decent at software development, and would be happy to help support this platform.

Here is how far I've gotten:

1. Install Alpine Linux 3.17.1

2. Install the linux-lts-dev package

Code:
sudo apk add linux-lts-dev
3. Install dkms

Code:
git checkout https://github.com/dell/dkms.git
cd dkms
git checkout v3.0.10
sudo make install
4. Download displaylink Ubuntu installer and unpack it

- Go to https://www.synaptics.com/products/d...1?filetype=exe and download
- Go to download directory
- Unpack file

Code:
unzip "DisplayLink USB Graphics Software for Ubuntu5.6.1-EXE.zip"
mkdir displaylink
bash displaylink-driver-5.6.1-59.184.run --target displaylink
cd displaylink
5. Patch the evdi source code

Code:
mkdir evdi.tmp
tar -C evdi.tmp -xvzf evdi.tar.gz
cd evdi.tmp
patch -p1 <<'EOPATCH'
diff -Naur foo2/library/evdi_lib.c foo/library/evdi_lib.c
--- foo2/library/evdi_lib.c	2022-07-13 09:58:06.000000000 -0400
+++ foo/library/evdi_lib.c	2023-04-06 21:22:50.248134186 -0400
@@ -23,6 +23,8 @@
 #include <sys/types.h>
 #include <unistd.h>
 
+#include <linux/limits.h>
+
 // ********************* Private part **************************
 
 #define MAX_DIRTS           16
EOPATCH
tar -cvzf ../evdi.tar.gz .
cd ..
6. Truncate the Makefile.gcc-plugins script

Code:
sudo truncate -s 0 /usr/src/linux-headers-$(uname -r)/scripts/Makefile.gcc-plugins
7. Run the displaylink installer

Code:
sudo env SYSTEMINITDAEMON=runit ./displaylink-installer.sh


Amazingly, the installer seems to have worked. I'm going to reboot and see what else needs to be done to make it work, probably involving making dkms work properly on Alpine
psypete is offline   Reply With Quote
Old 04-07-2023, 03:42 AM   #2
psypete
Junior Member
 
Join Date: Apr 2023
Posts: 3
Default

So, i needed to install the `gcompat` package to run the DisplayLinkManager app...

Code:
apk add gcompat
And I created a service to run /etc/sv/displaylink-driver/run at boot time.

However, I don't really know what to do from here... ?

I can see some evdi stuff in my /var/log/Xorg.0.log file

Code:
[  5851.582] (II) xfree86: Adding drm device (/dev/dri/card0)
[  5851.582] (II) Platform probe for /sys/devices/pci0000:00/0000:00:02.0/drm/card0
[  5851.598] (II) xfree86: Adding drm device (/dev/dri/card1)
[  5851.598] (II) Platform probe for /sys/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card1
[  5851.601] (II) xfree86: Adding drm device (/dev/dri/card2)
[  5851.601] (II) Platform probe for /sys/devices/platform/evdi.0/drm/card2
[  5851.601] (II) xfree86: Adding drm device (/dev/dri/card3)
[  5851.601] (II) Platform probe for /sys/devices/platform/evdi.1/drm/card3
[  5851.602] (II) xfree86: Adding drm device (/dev/dri/card4)
[  5851.602] (II) Platform probe for /sys/devices/platform/evdi.2/drm/card4
[  5851.602] (II) xfree86: Adding drm device (/dev/dri/card5)
[  5851.602] (II) Platform probe for /sys/devices/platform/evdi.3/drm/card5
[  5851.612] (--) PCI:*(0@0:2:0) 8086:1916:17aa:381c rev 7, Mem @ 0xa2000000/16777216, 0xb0000000/268435456, I/O @ 0x00006000/64, BIOS @ 0x????????/131072
[  5851.612] (--) PCI: (1@0:0:0) 1002:6900:17aa:381c rev 129, Mem @ 0x90000000/268435456, 0xa0000000/2097152, 0xa4200000/262144, I/O @ 0x00005000/256, BIOS @ 0x????????/131072
But I can't see how to actually use these cards?

Can someone link me to some instructions of how to make use of the drivers now that they're installed and the display manager runs?

I tried running the display manager with logging and debugging turned on, but it's just spitting out base64-encoded randomness at me....


Xorg version:


Code:
X.Org X Server 1.21.1.6
X Protocol Version 11, Revision 0
Current Operating System: Linux macintosh 5.15.106-0-lts #1-Alpine SMP Wed, 05 Apr 2023 10:48:45 +0000 x86_64
psypete is offline   Reply With Quote
Old 07-31-2023, 07:47 AM   #3
ZekeMX
Junior Member
 
Join Date: Jul 2021
Posts: 4
Default

Wow!! Congratulations psypete,

I am not an alpine linux user, I use mageia havenīt been able to make the driver work on my distribution, we at work have 24 devices on windows but we plan to move to linux so we are looking for a brand that it's compatible with a the distro we use.

If the drivers uses opensource software I wonder why not just include them in the kernel and all distros would become compatible.

Unfortunately I'm not that savy on making rpm packages, the ones created for fedora use fedora systemd scriplets not compatible with mandriva forks.

But like I said, I just canīt understand why Display Link Doesnīt work witj kernel devs to include them

One last thing, the .run file installer could probably be fixed to use dnf install as well as apt install but unfortunately there is no interest on DisplayLink side... I amd kind of dissapointed, but I have to accept that no other Dock Station deverloper is as good as Display Link, they are just awesome.

Regards
ZekeMX is offline   Reply With Quote
Reply

Tags
alpine, glibc, linux, musl

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 09:15 AM.


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