Closed Luc45 closed 4 years ago
@Luc45 Just commented on the other issue. You need the DisplayLink 5.3.1 driver if you have installed evdi 1.7.0.
@elguero that's interesting, thanks. DisplayLink 5.3.1 is not available on Arch Linux, yet, so I'll try to compile the module from sources. I never did that before. What I did so far was:
edvi 1.7.0-1
make
, this was the output:➜ evdi git:(01e246f) make
CFLAGS="-Werror -Wextra -Wall -Wmissing-prototypes -Wstrict-prototypes -Wno-error=missing-field-initializers" make -C module
make[1]: Entering directory '/home/lucas/Downloads/evdi/module'
make -C /lib/modules/5.6.11-1-MANJARO/build M=$PWD
make[2]: Entering directory '/usr/lib/modules/5.6.11-1-MANJARO/build'
AR /home/lucas/Downloads/evdi/module/built-in.a
CC [M] /home/lucas/Downloads/evdi/module/evdi_drv.o
CC [M] /home/lucas/Downloads/evdi/module/evdi_modeset.o
CC [M] /home/lucas/Downloads/evdi/module/evdi_connector.o
CC [M] /home/lucas/Downloads/evdi/module/evdi_encoder.o
CC [M] /home/lucas/Downloads/evdi/module/evdi_main.o
CC [M] /home/lucas/Downloads/evdi/module/evdi_fb.o
CC [M] /home/lucas/Downloads/evdi/module/evdi_gem.o
CC [M] /home/lucas/Downloads/evdi/module/evdi_painter.o
CC [M] /home/lucas/Downloads/evdi/module/evdi_params.o
CC [M] /home/lucas/Downloads/evdi/module/evdi_cursor.o
CC [M] /home/lucas/Downloads/evdi/module/evdi_debug.o
CC [M] /home/lucas/Downloads/evdi/module/evdi_ioc32.o
LD [M] /home/lucas/Downloads/evdi/module/evdi.o
MODPOST 1 modules
CC [M] /home/lucas/Downloads/evdi/module/evdi.mod.o
LD [M] /home/lucas/Downloads/evdi/module/evdi.ko
make[2]: Leaving directory '/usr/lib/modules/5.6.11-1-MANJARO/build'
make[1]: Leaving directory '/home/lucas/Downloads/evdi/module'
CFLAGS="-I../module -Werror -Wextra -Wall -Wmissing-prototypes -Wstrict-prototypes -Wno-error=missing-field-initializers " make -C library
make[1]: Entering directory '/home/lucas/Downloads/evdi/library'
cc -I../module -std=gnu99 -fPIC -I../module -Werror -Wextra -Wall -Wmissing-prototypes -Wstrict-prototypes -Wno-error=missing-field-initializers -c -o evdi_lib.o evdi_lib.c
cc evdi_lib.o -shared -Wl,-soname,libevdi.so.0 -o libevdi.so.1.6.4 -lc -lgcc
cp libevdi.so.1.6.4 libevdi.so
make[1]: Leaving directory '/home/lucas/Downloads/evdi/library'
And I've stopped there to write this because I really don't know what I'm doing. Should I run dkms install {evdi_folder}
instead of make
?
I am not familiar enough with Manjaro. My suggestion would be to look at how the current packages are installed.
Here is what is done to install evdi on Manjaro: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=evdi-git
I see some comments from people that have been able to install evdi-git and DisplayLink 5.3.1 on Manjaro. Looks like some step by step instructions are here in the comments: https://aur.archlinux.org/packages/evdi-git/
Someone has provided a patch for getting DisplayLink 5.3.1 packaged up. https://aur.archlinux.org/packages/displaylink/
If you want to build your own package: https://wiki.archlinux.org/index.php/PKGBUILD https://wiki.archlinux.org/index.php/Creating_packages
Hope this helps. Someone more knowledgeable can chime in and help. I just wanted to help point you in the right direction in regards to the combination you need to have for DisplayLink to work.
Ok. I could compile it with:
git clone git@github.com:DisplayLink/evdi.git
cd evdi/module && make && cd -
sudo cp evdi/module /usr/src/evdi-1.6.4
sudo dkms add -m evdi -v 1.6.4
sudo dkms build -m evdi -v 1.6.4
sudo dkms install -m evdi -v 1.6.4
Now when I run dkms status
I see EVDI 1.6.4 loaded in my 5.6.11-1 module:
dkms status
evdi, 1.6.4, 5.6.11-1-MANJARO, x86_64: installed (original_module exists)
Now, I'm trying to figure out how I'm going to install DisplayLink 5.2.14-1, since in Arch it depends on evdi >= 1.5.0
which resolves to 1.7.0-1
again, so I can't use the Arch one and will probably have to compile it, too. Before I try to go that route I'll just reboot and see if with just EVDI it works. Who knows
PS: Just saw your message. Thanks for pointing those resources. I'll read them if need be.
@elguero I appreciate your help but using evdi 1.6.4 and DisplayLink 5.2.14-1 still didn't solve it.
➜ ~ sudo pacman -Q --info displaylink
Name : displaylink
Version : 5.2.14-1
Description : Linux driver for DL-6xxx, DL-5xxx, DL-41xx and DL-3x00
Architecture : x86_64
URL : http://www.displaylink.com/downloads/ubuntu.php
Licenses : custom GPL2 LGPL2.1
Groups : None
Provides : None
Depends On : libusb>=1.0.0
Optional Deps : None
Required By : None
Optional For : None
Conflicts With : None
Replaces : None
Installed Size : 10.68 MiB
Packager : Unknown Packager
Build Date : qua 13 mai 2020 15:50:38
Install Date : qua 13 mai 2020 15:51:00
Install Reason : Explicitly installed
Install Script : No
Validated By : None
➜ ~ cat /sys/devices/evdi/version
1.6.4
➜ ~ dkms status
evdi, 1.6.4, 5.6.11-1-MANJARO, x86_64: installed (original_module exists)
➜ ~ xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x1b8 cap: 0x1, Source Output crtcs: 4 outputs: 4 associated providers: 0 name:NVIDIA-0
I will probably try the fix on the links you suggested to use DisplayLink 5.3~ and evdi 1.7~. Phew...
I've installed DisplayLink 5.3~ and evdi 1.7~ following the instructions from this comment https://aur.archlinux.org/packages/displaylink/#comment-744236 but it's still not working.
Also did the same with DisplayLink 5.3 and the latest version of EVDI cloned from this repo.
➜ ~ sudo pacman -Q --info displaylink
[sudo] password for lucas:
Name : displaylink
Version : 5.3.1.34-1
Description : Linux driver for DL-6xxx, DL-5xxx, DL-41xx and DL-3x00
Architecture : x86_64
URL : http://www.displaylink.com/downloads/ubuntu.php
Licenses : custom GPL2 LGPL2.1
Groups : None
Provides : None
Depends On : evdi>=1.5.0 libusb>=1.0.0
Optional Deps : None
Required By : None
Optional For : None
Conflicts With : None
Replaces : None
Installed Size : 12.00 MiB
Packager : Unknown Packager
Build Date : qua 13 mai 2020 16:13:52
Install Date : qua 13 mai 2020 16:14:07
Install Reason : Explicitly installed
Install Script : No
Validated By : None
➜ ~ cat /sys/devices/evdi/version
1.7.0
➜ ~ dkms status
evdi, 1.7.0, 5.4.39-1-MANJARO, x86_64: installed
evdi, 1.7.0, 5.6.11-1-MANJARO, x86_64: installed (original_module exists)
evdi, 1.7.0, 5.7.0-1-MANJARO, x86_64: installed
➜ ~ xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x1b8 cap: 0x1, Source Output crtcs: 4 outputs: 4 associated providers: 0 name:NVIDIA-0
I literally ran out of options. If anyone has any idea, I'd gladly hear it. Thanks.
displaylink on aur is now at version 5.3.1.34-1 and is also showing up as a package to upgrade on Manjaro so the manual installation may not be necessary anymore to be compatible with evdi 1.7.0
@strix Indeed. Unfortunately, removing evdi and DisplayLink, rebooting and installing the version from AUR still gives me the same results. There must be something going on at a UDL/Nvidia drivers level. I guess I'll try to uninstall Nvidia drivers, go back to Noeuvau and see if that helps. Thank you.
SOLVED IT!
All I had to do was completely wipe my hard drive and install a fresh Manjaro again. Yay!!
It works without displaylink
, evdi
or dkms
on a proprietary Nvidia driver. It worked on Nouveau as well:
[lucas@lucas-gl502vs ~]$ sudo pacman -Q --info displaylink
error: package 'displaylink' was not found
[lucas@lucas-gl502vs ~]$ cat /sys/devices/evdi/version
cat: /sys/devices/evdi/version: No such file or directory
[lucas@lucas-gl502vs ~]$ dkms status
bash: dkms: command not found
[lucas@lucas-gl502vs ~]$ mhwd -li
> Installed PCI configs:
--------------------------------------------------------------------------------
NAME VERSION FREEDRIVER TYPE
--------------------------------------------------------------------------------
video-linux 2018.05.04 true PCI
video-nvidia-440xx 2019.10.25 false PCI
Warning: No installed USB configs!
[lucas@lucas-gl502vs ~]$
My DisplayLink device is a Plugable UGA-165, according to Arch Linux's DisplayLink page, for chipsets 1X5 (such as mine, 165), you don't need any additional drivers. The DisplayLink drivers are for chipsets DL-6xxx, DL-5xxx, DL-41xx and DL-3x00.
I don't know if that's related to the problem I had, since before migrating to Manjaro I used that same driver on Ubuntu 18.04 with this same device (UGA-165) and it worked fine. It tremendously improved the performance when rendering a video or a Gif in the DisplayLink monitor, thus why I had installed it in Manjaro.
Looking back now, and realizing that it works without evdi
, dkms
and displaylink
, I would probably try to remove these three packages and see if that would have solved it. The only one I didn't remove when I was trying to fix this was dkms
.
Anyway, this is my xrandr --listproviders
now:
[lucas@lucas-gl502vs ~]$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x1b8 cap: 0x1, Source Output crtcs: 4 outputs: 4 associated providers: 1 name:NVIDIA-0
Provider 1: id: 0x239 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 1 name:modesetting
As expected.
Thank you all for your good will and effort.
For christ sake, I broke it again.
I've installed linux56-headers
(as I did previously before the issues started) and it broke it again.
It must be related. It's exactly how it broke the last time.
Output of commands now:
➜ ~ sudo pacman -Q --info displaylink
[sudo] password for lucas:
error: package 'displaylink' was not found
➜ ~ cat /sys/devices/evdi/version
cat: /sys/devices/evdi/version: No such file or directory
➜ ~ dkms status
➜ ~ mhwd -li
> Installed PCI configs:
--------------------------------------------------------------------------------
NAME VERSION FREEDRIVER TYPE
--------------------------------------------------------------------------------
video-linux 2018.05.04 true PCI
video-nvidia-440xx 2019.10.25 false PCI
Warning: No installed USB configs!
➜ ~ xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x1b8 cap: 0x1, Source Output crtcs: 4 outputs: 4 associated providers: 0 name:NVIDIA-0
I've already removed linux56-headers
, but it won't come back anymore... Sigh...
I'll move this conversation to Manjaro forums, since this is not related to evdi. I'll update this comment with the link there if anyone wants to follow up.
Link: “linux56-headers” breaks native DisplayLink 1XX support on fresh Manjaro installation
tl;dr
My monitor connected through my DisplayLink device is not recognized anymore (as if it wasn't connected) after an evdi update (1.6.4-2 that came with Manjaro to 1.7.0-1). . I suspect the root cause is that DisplayLink does not show up as a xrandr provider when I run
xrandr --list-providers
. I would like to know how can I further debug and fix this.Full story
I can see that the USB device is recognized. When booting in Windows the monitor works, so it's not a faulty hardware or a loose cable.
The DisplayLink service is enabled and started:
I'm using NVidia Proprietary drivers. When I run
xrandr --listproviders
I don't see the DisplayLink device there:I can see that I have
udl
module loaded andudlfb
is blacklisted:I'm using evdi 1.7.0 and DisplayLink 5.2.14-1:
I see evdi loaded in DKMS for my current kernel version:
I have this file in xorg.conf.d:
Any ideas on how to further debug this? Thanks!