Hello,
I'm wondering if someone could please decode the log files I have and shed some light on the issue I'm having.
I'm trying to get DisplayLink working on my Gentoo system for a D6000 dock. I managed to piece together some ebuilds that seem to install evdi and displaylink-driver correctly. They are attached along with the DLSupportTool output.
For displaylink-driver, I think all the important files are installed to /opt/displaylink:
Code:
# ls -la /opt/displaylink
total 12264
drwxr-xr-x 2 root root 4096 Jun 1 21:44 .
drwxr-xr-x 11 root root 4096 May 31 23:48 ..
-rwxr-xr-x 1 root root 10900824 May 31 23:48 DisplayLinkManager
prwxr-xr-x 1 root root 0 Jun 1 21:44 DisplayLinkManagerDirLock
-rw-r--r-- 1 root root 632688 May 31 23:48 ella-dock-release.spkg
-rw-r--r-- 1 root root 336448 May 31 23:48 firefly-monitor-release.spkg
-rw-r--r-- 1 root root 667104 May 31 23:48 ridge-dock-release.spkg
-rwxr-xr-x 1 root root 2106 May 31 23:48 udev.sh
The udev.sh file is modified by my ebuild, using the systemd-generated one as the template. All that's changed are the start_service() and stop_service() functions from their systemd versions to OpenRC style: rc-service dlm start/stop. The service name was changed from displaylink-driver to dlm, here is what the dlm OpenRC init script looks like:
Code:
# cat /etc/init.d/dlm
#!/sbin/openrc-run
command="/opt/displaylink/DisplayLinkManager"
command_background=true
directory="/opt/displaylink"
pidfile="/run/${RC_SVCNAME}.pid"
depend() {
after xdm
}
start_pre() {
modprobe evdi
}
So these options tell openrc-run to change to $directory, run $command, background it, and record it's PID in $pidfile. And before starting dlm, evdi is loaded.
The udev rules file is also installed in the right place and it does start the dlm service when the dock is plugged in to the system.
For evdi, the module and library appear to be in the right places:
Code:
# ls -la /lib/modules/5.6.14-gentoo-x86_64/video | grep evdi
-rw-r--r-- 1 root root 708440 May 31 23:51 evdi.ko
Code:
# ls -la /usr/lib64 | grep evdi
lrwxrwxrwx 1 root root 12 May 31 23:51 libevdi.so -> libevdi.so.0
lrwxrwxrwx 1 root root 16 May 31 23:51 libevdi.so.0 -> libevdi.so.1.7.0
-rwxr-xr-x 1 root root 18408 May 31 23:51 libevdi.so.1.7.0
When the dlm service is started by udev, the evdi module is also loaded at the same time, although without any indication in dmesg:
Code:
# lsmod | grep evdi
evdi 12288 0
Code:
# ls -la /sys/module/evdi
total 0
drwxr-xr-x 5 root root 0 Jun 1 21:44 .
drwxr-xr-x 180 root root 0 Jun 1 21:42 ..
-r--r--r-- 1 root root 4096 Jun 1 21:49 coresize
drwxr-xr-x 2 root root 0 Jun 1 21:49 holders
-r--r--r-- 1 root root 4096 Jun 1 21:50 initsize
-r--r--r-- 1 root root 4096 Jun 1 21:50 initstate
drwxr-xr-x 2 root root 0 Jun 1 21:50 notes
-r--r--r-- 1 root root 4096 Jun 1 21:49 refcnt
drwxr-xr-x 2 root root 0 Jun 1 21:50 sections
-r--r--r-- 1 root root 4096 Jun 1 21:50 taint
--w------- 1 root root 4096 Jun 1 21:44 uevent
The problem I'm having is that the dlm service crashes due to DisplayLinkMonitor dying for some reason. The log and edid files are created, my monitors indicate some kind of activity, and then DisplayLinkMonitor crashes.
Does anyone see anything immediately and obviously wrong with this setup?
Thanks,
Cory