You are not logged in.
Hello.
After at regular update of installed packages, the Evdi module got broken. The symptoms were similar to those described earlier by @Desynqe in another post.
After booting, the external monitors are not being activated. I tried forcing them to wake up, but that failed:
[foo@bar ~]$ sudo systemctl start displaylink.service
Job for displaylink.service failed because the control process exited with error code.
See "systemctl status displaylink.service" and "journalctl -xeu displaylink.service" for details.
I did as suggested (truncated for brevity/readability):
[foo@bar ~]$ sudo systemctl status displaylink.service
● displaylink.service - DisplayLink Manager Service
Loaded: loaded (/usr/lib/systemd/system/displaylink.service; enabled; preset: disabled)
Active: activating (auto-restart) (Result: exit-code) since Sun 2023-11-12 18:47:41 CET; 3s ago
Process: 17112 ExecStartPre=/sbin/modprobe evdi (code=exited, status=1/FAILURE)
CPU: 3ms
[foo@bar ~]$ journalctl -xeu displaylink.service
░░ The process' exit code is 'exited' and its exit status is 1.
nov. 12 18:49:10 bar systemd[1]: displaylink.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ The unit displaylink.service has entered the 'failed' state with result 'exit-code'.
[...]
nov. 12 18:49:16 bar modprobe[17162]: modprobe: FATAL: Module evdi not found in directory /lib/modules/6.6.1-arch1-1
nov. 12 18:49:16 bar systemd[1]: displaylink.service: Control process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ An ExecStartPre= process belonging to unit displaylink.service has exited.
░░
░░ The process' exit code is 'exited' and its exit status is 1.
I tried to solve the problem by removing the previously installed packages displaylink[AUR] and evdi-compat-git[AUR]. (I also manually deleted remaining displaylink and evdi files in /var/cache/aura/pkgbuilds, /var/cache/aura/vcs and /var/cache/pacman/pkg.) I then tried installing both evdi-compat-git[AUR] and evdi-git[AUR] (individually of course, as it is impossible to have them both installed at the same time). The installation process brings me this output (truncated):
[foo@bar ~]$ sudo aura -Ax evdi-git
[...]
aura >>= Continue? [Y/n]
aura >>= Building evdi-git...
==> Making package: evdi-git 1.14.1.r0.g83bb793-1 (sø. 12. nov. 2023 kl. 18.34 +0100)
[...]
==> Starting build()...
make: Entering directory '/var/cache/aura/vcs/evdi-git/evdi-git/src/evdi/library'
cc -I../module -std=gnu99 -fPIC -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection $(pkg-config --cflags-only-I libdrm) -c -o evdi_lib.o evdi_lib.c
evdi_lib.c: In function ‘find_unused_card_for’:
evdi_lib.c:475:44: warning: ‘%s’ directive output may be truncated writing up to 4095 bytes into a region of size 4089 [-Wformat-truncation=]
475 | snprintf(link_path, PATH_MAX - 7, "%s/device", dirname);
| ^~
......
521 | if (!is_correct_parent_device(evdi_path, parent_device))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:964,
from evdi_lib.c:17:
In function ‘snprintf’,
inlined from ‘is_correct_parent_device’ at evdi_lib.c:475:2,
inlined from ‘find_unused_card_for’ at evdi_lib.c:521:8:
/usr/include/bits/stdio2.h:54:10: note: ‘__builtin___snprintf_chk’ output between 8 and 4103 bytes into a destination of size 4089
54 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
evdi_lib.c: In function ‘find_unused_card_for’:
evdi_lib.c:526:74: warning: ‘/drm’ directive output may be truncated writing 4 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
526 | snprintf(evdi_drm_path, PATH_MAX - strlen(evdi_path), "%s/drm", evdi_path);
| ^~~~
In function ‘snprintf’,
inlined from ‘find_unused_card_for’ at evdi_lib.c:526:3:
/usr/include/bits/stdio2.h:54:10: note: ‘__builtin___snprintf_chk’ output between 5 and 4100 bytes into a destination of size 4096
54 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
evdi_lib.c: In function ‘evdi_check_device’:
evdi_lib.c:619:50: warning: ‘/drm/card’ directive output may be truncated writing 9 bytes into a region of size between 1 and 4096 [-Wformat-truncation=]
619 | snprintf(card_path, PATH_MAX, "%s/drm/card%d", path, device);
| ^~~~~~~~~
In function ‘snprintf’,
inlined from ‘evdi_device_to_platform’ at evdi_lib.c:619:3,
inlined from ‘evdi_check_device’ at evdi_lib.c:634:9:
/usr/include/bits/stdio2.h:54:10: note: ‘__builtin___snprintf_chk’ output between 11 and 4116 bytes into a destination of size 4096
54 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
cc evdi_lib.o -shared -Wl,-soname,libevdi.so.1 -o libevdi.so.1.14.1 -lc -lgcc -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now
cp libevdi.so.1.14.1 libevdi.so
ln -sf libevdi.so.1.14.1 libevdi.so.1
make: Leaving directory '/var/cache/aura/vcs/evdi-git/evdi-git/src/evdi/library'
[...]
==> Build completed: evdi-git 1.14.1.r0.g83bb793-1 (sø. 12. nov. 2023 kl. 18.34 +0100)
[...]
Packages (1) evdi-git-1.14.1.r0.g83bb793-1
Total Installed Size: 0.18 MiB
:: Proceed with installation? [Y/n]
[...]
:: Running post-transaction hooks...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Install DKMS modules
==> dkms install --no-depmod evdi/1.14.1 -k 6.6.1-zen1-1-zen
Error! Bad return status for module build on kernel: 6.6.1-zen1-1-zen (x86_64)
Consult /var/lib/dkms/evdi/1.14.1/build/make.log for more information.
==> WARNING: `dkms install --no-depmod evdi/1.14.1 -k 6.6.1-zen1-1-zen' exited 10
==> dkms install --no-depmod evdi/1.14.1 -k 6.6.1-arch1-1
Error! Bad return status for module build on kernel: 6.6.1-arch1-1 (x86_64)
Consult /var/lib/dkms/evdi/1.14.1/build/make.log for more information.
==> WARNING: `dkms install --no-depmod evdi/1.14.1 -k 6.6.1-arch1-1' exited 10
Those observant will notice that I have both the vanilla kernel and the zen kernel installed. The build process for Evdi brings me these same error messages, regardless of which kernel is currently booted, and independent of whether I try installing evdi-git[AUR] or evdi-compat-git[AUR]. Anyway, despite the error messages, the package seems to get the "installed" status (viewed from the user interface of Pamac). Thus, a subsequent installation of displaylink[AUR] actually seems to be successful. But then again, any attempt to start the displaylink.service fails.
From /var/lib/dkms/evdi/1.14.1/build/make.log (truncated):
[...]
/var/lib/dkms/evdi/1.14.1/build/evdi_fb.c: In function 'evdifb_create':
/var/lib/dkms/evdi/1.14.1/build/evdi_fb.c:421:23: error: 'FBINFO_DEFAULT' undeclared (first use in this function)
421 | info->flags = FBINFO_DEFAULT;
| ^~~~~~~~~~~~~~
/var/lib/dkms/evdi/1.14.1/build/evdi_fb.c:421:23: note: each undeclared identifier is reported only once for each function it appears in
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/evdi/1.14.1/build/evdi_fb.o] Error 1
make[3]: *** Waiting for unfinished jobs....
/var/lib/dkms/evdi/1.14.1/build/evdi_drm_drv.c:127:31: error: 'drm_gem_prime_fd_to_handle' undeclared here (not in a function)
127 | .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/evdi/1.14.1/build/evdi_drm_drv.c:129:31: error: 'drm_gem_prime_handle_to_fd' undeclared here (not in a function)
129 | .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/evdi/1.14.1/build/evdi_drm_drv.o] Error 1
make[2]: *** [/usr/lib/modules/6.6.1-arch1-1/build/Makefile:1913: /var/lib/dkms/evdi/1.14.1/build] Error 2
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Leaving directory '/usr/lib/modules/6.6.1-arch1-1/build'
make: *** [Makefile:38: all] Error 2
Any ideas how to fix this, @anyone?
Last edited by SeagullFish (2023-12-11 13:59:52)
Offline
Patch evdi-compat-git https://bbs.archlinux.org/viewtopic.php … 8#p2131008 or evdi-git https://bbs.archlinux.org/viewtopic.php … 8#p2131108
Offline
Looks like the evdi modules haven't been updated to work with the current kernel. Use the -lts kernel.
Offline
Patch evdi-compat-git https://bbs.archlinux.org/viewtopic.php … 8#p2131008 or evdi-git https://bbs.archlinux.org/viewtopic.php … 8#p2131108
Thank you for your suggestion. But I don't want to compile packages manually without help from pacman or aura, as this can make future conflicts with pacman. Or at least it will make maintenance harder. Anyway, your links to that other thread is helpful, as I now know that I am not the only one affected by this issue.
Looks like the evdi modules haven't been updated to work with the current kernel. Use the -lts kernel.
Thank you! For now, I chose to downgrade to the 6.5.9 kernel instead. In some contexts, I am dependent on the zen kernel, so I don't want to use the LTS if I don't have to.
[foo@bar ~]$ sudo aura -U file://linux-zen-6.5.9.zen2-1-x86_64.pkg.tar.zst file://linux-zen-headers-6.5.9.zen2-1-x86_64.pkg.tar.zst file://linux-6.5.9.arch2-1-x86_64.pkg.tar.zst file://linux-headers-6.5.9.arch2-1-x86_64.pkg.tar.zst
I have read Arch bug reporting guidelines. This leads me to believe that this issue is in fact a bug, and should be reported. But I am not experienced with bug reporting. How can I figure out whether or not somebody has already reported this upstream?
Offline
This leads me to believe that this issue is in fact a bug, and should be reported.
Against the AUR package(s) or upstream, both of which are already aware of this.
There's no component in the arch flyspray that you could file a bug against.
How can I figure out whether or not somebody has already reported this upstream?
The pull request is linked in the AUR comments…
Online
Same problem here (ThinkPad USB 3.0 Pro Dock) Linux 6.6.1-zen1-1-zen x86_64
I have fixed it by compiling manually those packages
-- evdi
-- https://aur.archlinux.org/packages/evdi
git clone https://github.com/Bidski/evdi.git evdi-bidski
sudo mkdir /usr/src/evdi-1.14.1
sudo cp /evdi-bidski/module/* /usr/src/evdi-1.14.1/
sudo dkms build -m evdi -v 1.14.1 --force
sudo dkms install -m evdi -v 1.14.1
-- displaylink 5.8-1
-- (https://aur.archlinux.org/displaylink.git)
git clone https://aur.archlinux.org/displaylink.git
makepkg
pacman -U displaylink-5.8-1-x86_64.pkg.tar.zst
Offline
From the evdi-compat-git[AUR] page, I quote:
aaronrancsik commented on 2023-11-16 17:54 (UTC)
The official evdi is already containing the patch for 6.6 so evdi-git package from AUR is now working.
I have recently changed to another type of docking station that does not require the Evdi/Displaylink drivers. Hence, I have not tested that any newer version of evdi-git[AUR] actually solves the issue. However, I also don't plan on following up this thread any further, so I am changing the status of this thread to [CLOSED] now. If anyone else has experienced that a newer version has indeed solved the issue, and provides input on this, then maybe I will change the status to [SOLVED] instead.
Last edited by SeagullFish (2023-12-11 14:03:41)
Offline