PDA

View Full Version : Alpine Linux support: my progress


psypete
04-07-2023, 01:44 AM
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


sudo apk add linux-lts-dev


3. Install dkms


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/displaylink-graphics/downloads/ubuntu-5.6.1?filetype=exe and download
- Go to download directory
- Unpack file


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


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


sudo truncate -s 0 /usr/src/linux-headers-$(uname -r)/scripts/Makefile.gcc-plugins


7. Run the displaylink installer


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
04-07-2023, 02:42 AM
So, i needed to install the `gcompat` package to run the DisplayLinkManager app...


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


[ 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:



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

ZekeMX
07-31-2023, 06:47 AM
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

bmentink
01-12-2026, 02:16 AM
Hi there, great you are attempting this. I am running Alpine Linux on a Macbook M1, and it is my preffered daily driver, so until the official DisplayPort is upstreamed, I would like to use my WavLink adapter as I did on Fedora remix.

What is the latest status on this project?

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


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


[ 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:



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