DisplayLink / evdi

Extensible Virtual Display Interface
MIT License
689 stars 179 forks source link

Add support for kernel 6.2 #401

Closed listout closed 1 year ago

listout commented 1 year ago

Original patch was suggested by Crashdummyy.

Since commit 9877d8f6bc374912b08dfe862cddbb78b395a5ef in linux kernel feild fbdev has been renamed to info in struct drm_fb_helper.

Fixes: https://github.com/DisplayLink/evdi/issues/394 Fixes: https://github.com/DisplayLink/evdi/issues/384 Fixes: https://github.com/DisplayLink/evdi/issues/402 Signed-off-by: listout listout@protonmail.com

Before submitting the PR please make sure you have run ci scripts:

If you have more than one change consider creating separate PRs for them; it will make the review process much easier. Also provide some description (links to source code or mailing list are welcome - this might help to understand the change).

Thanks for the contribution!

listout commented 1 year ago

The following warning showed up on running the style check script

./module/evdi_fb.c:408: WARNING: Comparisons should place the constant on the right side of the test
./module/evdi_fb.c:466: WARNING: Comparisons should place the constant on the right side of the test
./module/evdi_fb.c:549: WARNING: Comparisons should place the constant on the right side of the test

I'm having a bit of hard time under standing the usage of LINUX_VERSION_CODE and KERNEL_VERSION, if someone could help it would be wonderful.

I'm tested it against 6.2 on gentoo linux with my ThinkPad docking station, seems to be working fine.

SimonSchwendele commented 1 year ago

The following warning showed up on running the style check script

./module/evdi_fb.c:408: WARNING: Comparisons should place the constant on the right side of the test
./module/evdi_fb.c:466: WARNING: Comparisons should place the constant on the right side of the test
./module/evdi_fb.c:549: WARNING: Comparisons should place the constant on the right side of the test

I'm having a bit of hard time under standing the usage of LINUX_VERSION_CODE and KERNEL_VERSION, if someone could help it would be wonderful.

I'm tested it against 6.2 on gentoo linux with my ThinkPad docking station, seems to be working fine.

Its actually not that complicated. This script sets LINUX_VERSION_CODE. It basically just deconstructs the semantic version. Eg your current Kernel version ( 6.2.0 ) displays as: major: 6 minor: 2 patch: 0

The CI needs that to build the latest version of this repository against all kernel versions it wants to. That allows it to work trunkbased and saves the trouble of maintaining a 5.19, 6.0, 6.1, 6.2 etc. branches ;)

listout commented 1 year ago

@SimonSchwendele Thanks a lot. What I'm having trouble keeping up with the current coding convention. For example is this correct?

#if KERNEL_VERSION(6, 1, 12) <= LINUX_VERSION_CODE
    do stuff for kernel version 6.1.12 and below
#else
    do stuff for kernel version 6.2.0 and above
#endif
SimonSchwendele commented 1 year ago

@SimonSchwendele Thanks a lot. What I'm having trouble keeping up with the current coding convention. For example is this correct?

#if KERNEL_VERSION(6, 1, 12) <= LINUX_VERSION_CODE
    do stuff for kernel version 6.1.12 and below
#else
    do stuff for kernel version 6.2.0 and above
#endif

The other way around.

#if LINUX_VERSION_CODE <= KERNEL_VERSION(6, 1, 12)
     do stuff for all Kernels at 6.1.12 and below

LINUX_VERSION_CODE is built like.

Compile against 6.2.0-0.rc8.20230219gt925cf045

LINUX_VERSION_CODE=KERNEL_VERSION(6,2,0)

listout commented 1 year ago

That's what I have done, and the script is complaining. Current coding convention has KERNEL_VERSION(6, 1, 12) on left.

SimonSchwendele commented 1 year ago

That's what I have done, and the script is complaining. Current coding convention has KERNEL_VERSION(6, 1, 12) on left.

Well if thats the codestyle you have to keep it that way. Maybe you should invert it like I mentioned it above to understand it and apply the style just before the push.

Your usage in thie pr is correct

xtermi2 commented 1 year ago

Works for me on Ubuntu 22.10 with kernel 6.2.0-060200-generic

listout commented 1 year ago

@xtermi2 thanks for testing.

dylanmtaylor commented 1 year ago

It looks like @displaylink-emajewsk is the one who has been maintaining this repository, hoping this will be seen or picked up soon. I currently can't use my hardware on Arch Linux. :(

djallits commented 1 year ago

Tested and works in Arch.

julian-poidevin commented 1 year ago

Also working for me on 6.2.1-arch1-1. Hopefully this gets merged soon. (poke @displaylink-emajewsk)

displaylink-emajewsk commented 1 year ago

Apologies, everyone. We've had a lot of work. The reason this isn't merged is because we've already done the work to support the newest Linux kernel, but it's sitting on our internal repository waiting for the driver release, as they have been released in sync so far. There's definitely room for improvement in this process, and I am forwarding all the suggestions and concerns I see here (or on the AUR), but ultimately I don't make the decisions.

listout commented 1 year ago

Shall I close this pr then?

displaylink-emajewsk commented 1 year ago

No need. We can leave it open for people to find, until we can release the driver.

displaylink-emajewsk commented 1 year ago

Unfortunately Arch Linux isn't officially supported. 😒

tsjk commented 1 year ago

For AUR and similar, you can just make a patch of this PR and carry on with your lives (poke the AUR mantainer). For Gentoo, I have an ebuild in one of my repos. It compiles but is untested as I stumbled on another module not supporting Linux kernel v6.2...

dylanmtaylor commented 1 year ago

Apologies, everyone. We've had a lot of work. The reason this isn't merged is because we've already done the work to support the newest Linux kernel, but it's sitting on our internal repository waiting for the driver release, as they have been released in sync so far. There's definitely room for improvement in this process, and I am forwarding all the suggestions and concerns I see here (or on the AUR), but ultimately I don't make the decisions.

Have you considered upstreaming this work as mentioned in #25 so that it doesn't break on new kernel releases in the first place? It would be greatly beneficial to users of your product, and we would be able to use it without installing the modules ourselves.

djallits commented 1 year ago

DISREGARD - I think this is an issue with linux-firmware 20230210.bf4115c-1

@listout

So your fix does restore support for multiple displays, but there other conflicts with a connected DisplayLink and what I believe is btusb support.

Take all this with a grain of salt, as I am on a Dell XPS 15 9500, with the Qualcomm QCA6390 WiFi/Bluetooth chip. I am running through the usual CLI tooling trying to identify where exactly things break. Also want to mention that this was tested against LTS Kernel with no change.

Boot WITHOUT Connected DisplayLink

➜ uname -srm
Linux 6.2.1-arch1-1 x86_64

➜ sudo pacman -Qe | grep linux-firmware
linux-firmware 20230210.bf4115c-1

➜ sudo lsmod | grep bt                         
btqca                  28672  1 hci_uart
btrtl                  28672  1 hci_uart
btbcm                  24576  1 hci_uart
btintel                53248  1 hci_uart
bluetooth            1077248  38 btrtl,btqca,btintel,hci_uart,btbcm,bnep,rfcomm

➜ sudo systemctl status bluetooth 
● bluetooth.service - Bluetooth service
     Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; preset: disabled)
     Active: active (running) since Wed 2023-03-01 16:43:42 CST; 1s ago
       Docs: man:bluetoothd(8)
   Main PID: 11770 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 76654)
     Memory: 1004.0K
        CPU: 29ms
     CGroup: /system.slice/bluetooth.service
             └─11770 /usr/lib/bluetooth/bluetoothd

Mar 01 16:43:42 djallits-xps-15-9500 bluetoothd[11770]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/aptx_ll_1
Mar 01 16:43:42 djallits-xps-15-9500 bluetoothd[11770]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/aptx_ll_0
Mar 01 16:43:42 djallits-xps-15-9500 bluetoothd[11770]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_1
Mar 01 16:43:42 djallits-xps-15-9500 bluetoothd[11770]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_0
Mar 01 16:43:42 djallits-xps-15-9500 bluetoothd[11770]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/faststream
Mar 01 16:43:42 djallits-xps-15-9500 bluetoothd[11770]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/faststream_duplex
Mar 01 16:43:42 djallits-xps-15-9500 bluetoothd[11770]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSink/opus_05
Mar 01 16:43:42 djallits-xps-15-9500 bluetoothd[11770]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/opus_05
Mar 01 16:43:42 djallits-xps-15-9500 bluetoothd[11770]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSink/opus_05_duplex
Mar 01 16:43:42 djallits-xps-15-9500 bluetoothd[11770]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/opus_05_duplex

➜ sudo dmesg | grep -iE 'bluetooth|btusb|btqca'
[   21.898213] Bluetooth: Core ver 2.22
[   21.898235] NET: Registered PF_BLUETOOTH protocol family
[   21.898238] Bluetooth: HCI device and connection manager initialized
[   21.898242] Bluetooth: HCI socket layer initialized
[   21.898245] Bluetooth: L2CAP socket layer initialized
[   21.898250] Bluetooth: SCO socket layer initialized
[   22.595112] Bluetooth: HCI UART driver ver 2.3
[   22.595117] Bluetooth: HCI UART protocol H4 registered
[   22.595119] Bluetooth: HCI UART protocol BCSP registered
[   22.595144] Bluetooth: HCI UART protocol LL registered
[   22.595145] Bluetooth: HCI UART protocol ATH3K registered
[   22.595163] Bluetooth: HCI UART protocol Three-wire (H5) registered
[   22.595208] Bluetooth: HCI UART protocol Intel registered
[   22.595271] Bluetooth: HCI UART protocol Broadcom registered
[   22.595315] Bluetooth: HCI UART protocol QCA registered
[   22.595317] Bluetooth: HCI UART protocol AG6XX registered
[   22.595327] Bluetooth: HCI UART protocol Marvell registered
[   22.601427] Bluetooth: hci0: setting up ROME/QCA6390
[   22.928385] Bluetooth: hci0: QCA Product ID   :0x00000010
[   22.928389] Bluetooth: hci0: QCA SOC Version  :0x400a0200
[   22.928391] Bluetooth: hci0: QCA ROM Version  :0x00000200
[   22.928393] Bluetooth: hci0: QCA Patch Version:0x00000d2b
[   22.928395] Bluetooth: hci0: QCA controller version 0x02000200
[   22.928397] Bluetooth: hci0: QCA Downloading qca/htbtfw20.tlv
[   23.600404] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   23.600409] Bluetooth: BNEP filters: protocol multicast
[   23.600413] Bluetooth: BNEP socket layer initialized
[   23.881028] Bluetooth: hci0: QCA Downloading qca/htnv20.bin
[   24.172004] Bluetooth: hci0: QCA setup on UART is completed
[   24.189678] Bluetooth: MGMT ver 1.22
[   24.743847] hid-generic 0005:046D:B034.0004: input,hidraw2: BLUETOOTH HID v0.03 Mouse [MX Master 3S] on 28:c2:1f:89:16:85
[   27.306354] Bluetooth: RFCOMM TTY layer initialized
[   27.306359] Bluetooth: RFCOMM socket layer initialized
[   27.306361] Bluetooth: RFCOMM ver 1.11
[  683.698693] Bluetooth: hci0: ACL packet for unknown connection handle 129
[  685.423766] Bluetooth: Frame is too long (len 142, expected len 14)
[  685.423774] Bluetooth: hci0: ACL packet for unknown connection handle 16

Boot WITH Connected DisplayLink

➜ uname -srm                                   
Linux 6.2.1-arch1-1 x86_64

➜ sudo pacman -Qe | grep linux-firmware
linux-firmware 20230210.bf4115c-1

➜ sudo lsmod | grep bt                         
btqca                  28672  1 hci_uart
btrtl                  28672  1 hci_uart
btbcm                  24576  1 hci_uart
btintel                53248  1 hci_uart
bluetooth            1077248  15 btrtl,btqca,btintel,hci_uart,btbcm,bnep

➜ sudo systemctl status bluetooth
● bluetooth.service - Bluetooth service
     Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; preset: disabled)
     Active: active (running) since Wed 2023-03-01 17:03:20 CST; 3min 55s ago
       Docs: man:bluetoothd(8)
   Main PID: 865 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 76654)
     Memory: 2.5M
        CPU: 20ms
     CGroup: /system.slice/bluetooth.service
             └─865 /usr/lib/bluetooth/bluetoothd

Mar 01 17:03:20 djallits-xps-15-9500 systemd[1]: Starting Bluetooth service...
Mar 01 17:03:20 djallits-xps-15-9500 bluetoothd[865]: Bluetooth daemon 5.66
Mar 01 17:03:20 djallits-xps-15-9500 bluetoothd[865]: Starting SDP server
Mar 01 17:03:20 djallits-xps-15-9500 systemd[1]: Started Bluetooth service.
Mar 01 17:03:20 djallits-xps-15-9500 bluetoothd[865]: Bluetooth management interface 1.22 initialized

➜ sudo dmesg | grep -iE 'bluetooth|btusb|btqca'
[   23.141956] Bluetooth: Core ver 2.22
[   23.142074] NET: Registered PF_BLUETOOTH protocol family
[   23.142076] Bluetooth: HCI device and connection manager initialized
[   23.142081] Bluetooth: HCI socket layer initialized
[   23.142083] Bluetooth: L2CAP socket layer initialized
[   23.142087] Bluetooth: SCO socket layer initialized
[   23.612748] Bluetooth: HCI UART driver ver 2.3
[   23.612751] Bluetooth: HCI UART protocol H4 registered
[   23.612752] Bluetooth: HCI UART protocol BCSP registered
[   23.612767] Bluetooth: HCI UART protocol LL registered
[   23.612768] Bluetooth: HCI UART protocol ATH3K registered
[   23.612775] Bluetooth: HCI UART protocol Three-wire (H5) registered
[   23.612815] Bluetooth: HCI UART protocol Intel registered
[   23.612861] Bluetooth: HCI UART protocol Broadcom registered
[   23.612867] Bluetooth: HCI UART protocol QCA registered
[   23.612868] Bluetooth: HCI UART protocol AG6XX registered
[   23.612873] Bluetooth: HCI UART protocol Marvell registered
[   23.669772] Bluetooth: hci0: setting up ROME/QCA6390
[   23.994323] Bluetooth: hci0: QCA Product ID   :0x00000010
[   23.994326] Bluetooth: hci0: QCA SOC Version  :0x400a0200
[   23.994327] Bluetooth: hci0: QCA ROM Version  :0x00000200
[   23.994328] Bluetooth: hci0: QCA Patch Version:0x00003ac0
[   23.994329] Bluetooth: hci0: QCA controller version 0x02000200
[   23.994330] Bluetooth: hci0: QCA Downloading qca/htbtfw20.tlv
[   24.008588] Bluetooth: hci0: QCA Failed to send TLV segment (-110)
[   24.008595] Bluetooth: hci0: QCA Failed to download patch (-110)
[   24.008596] Bluetooth: hci0: Retry BT power ON:0
[   25.006110] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   25.006112] Bluetooth: BNEP filters: protocol multicast
[   25.006115] Bluetooth: BNEP socket layer initialized
[   26.497236] Bluetooth: hci0: command 0xfc00 tx timeout
[   34.390472] Bluetooth: hci0: Reading QCA version information failed (-110)
[   34.390475] Bluetooth: hci0: Retry BT power ON:1
[   36.737100] Bluetooth: hci0: command 0xfc00 tx timeout
[   44.843804] Bluetooth: hci0: Reading QCA version information failed (-110)
[   44.843808] Bluetooth: hci0: Retry BT power ON:2
[   47.190477] Bluetooth: hci0: command 0xfc00 tx timeout
[   55.297095] Bluetooth: hci0: Reading QCA version information failed (-110)

The differences in dmesg are obvious, but the subtle difference is that I see that rfcomm is added when I run lsmod when I boot without the DisplayLink detected. I find that strange, because there is less hardware (sans DisplayLink) that the system should be detecting.

dylanmtaylor commented 1 year ago

Apologies, everyone. We've had a lot of work. The reason this isn't merged is because we've already done the work to support the newest Linux kernel, but it's sitting on our internal repository waiting for the driver release, as they have been released in sync so far. There's definitely room for improvement in this process, and I am forwarding all the suggestions and concerns I see here (or on the AUR), but ultimately I don't make the decisions.

Honestly, all of this kernel breakage mess makes me want to sell my VisionTek VT4900 and just buy a Thunderbolt 3 dock. I think the Dell WD19TB should be comparable, and then I don't have to deal with this driver anymore. This is an awful user experience, and it makes it much less compelling to continue using DisplayLink technology. I'd love to see mainline or at least very up-to-date drivers released as close as possible if not with new kernel releases. It's not really a universal dock if it doesn't work on all operating systems, including Linux. And if it constantly breaks on new kernel releases, it makes it feel like Linux users are second-class citizens.

djallits commented 1 year ago

Unfortunately Arch Linux isn't officially supported. cry

@displaylink-emajewsk Ubuntu is the chosen distro by DisplayLink, which is fine, but I do not think anyone is looking for DisplayLink to support any distro over another.

I think the community here would just rather see closer support for the Linux kernel itself. I am guessing the conversation in #25 (h/t @dylanmtaylor), which was almost seven (7) years ago, probably represents most of your community here. The points made then are equally valid today as they were then. Maybe even more so, with the market share growth that DisplayLink has enjoyed since that conversation.

dylanmtaylor commented 1 year ago

Unfortunately Arch Linux isn't officially supported. cry

@displaylink-emajewsk Ubuntu is the chosen distro by DisplayLink, which is fine, but I do not think anyone is looking for DisplayLink to support any distro over another.

I think the community here would just rather see closer support for the Linux kernel itself. I am guessing the conversation in #25 (h/t @dylanmtaylor), which was almost seven (7) years ago, probably represents most of your community here. The points made then are equally valid today as they were then. Maybe even more so, with the market share growth that DisplayLink has enjoyed since that conversation.

Very well said. You can officially support Ubuntu, but if it were in the kernel the actual distribution would be irrelevant as it would almost certainly just work on any flavor of Linux.

listout commented 1 year ago

@displaylink-emajewsk Have you looked at issues #404 ? Does the fixes on your internal repository take care of kernel 6.3?

olof-nord commented 1 year ago

Apologies, everyone. We've had a lot of work. The reason this isn't merged is because we've already done the work to support the newest Linux kernel, but it's sitting on our internal repository waiting for the driver release, as they have been released in sync so far. There's definitely room for improvement in this process, and I am forwarding all the suggestions and concerns I see here (or on the AUR), but ultimately I don't make the decisions.

I understand. Do you have any idea when the next driver release can be expected? @displaylink-emajewsk

ThomasD13 commented 1 year ago

Hi guys, thank you for the PR. I can confirm that this works on my machine: Linux ArchDT 6.2.1-arch1-1 #1 SMP PREEMPT_DYNAMIC Sun, 26 Feb 2023 03:39:23 +0000 x86_64 GNU/Linux

simaotwx commented 1 year ago

Ended up modifying the code myself before I saw this PR. Can confirm that changing "->helper.fbdev" to "->helper.info" fixed the build issue and the displays immediately started working after installing the driver.

NiklasCi commented 1 year ago

I confirm this works on Pop_os 22.04. The problem so far is that if i connect one monitor via the dockingstation everything works fine. If i connect two monitors (either HDMI or DisplayPort) the desktop get unresponsive (drag drop of windows is like 3fps). Everything works fine if i connect one monitor via the dockingstation and one directly with the laptop.

simaotwx commented 1 year ago

For me, one display shows "out-of-sync-y" glitches. The content appears to partially move to the right for a split second and moves back, and this happens like all the time.

SimonSchwendele commented 1 year ago

For me, one display shows "out-of-sync-y" glitches. The content appears to partially move to the right for a split second and moves back, and this happens like all the time.

That happened to me as well when I used ubuntu 3 years ( or so ) ago.

Are you certain the resolution is correct ? Mine happened to be 256x1200 instead of 2560x1440.

Does simply restarting help ? sudo systemctl restart displaylink-driver

palexdev commented 1 year ago

Can confirm that this works on Garuda Linux (arch) with kernel 6.2.2-zen1-1-zen Can you merge so that it can reach AUR please

TonyGiorgio commented 1 year ago

Apologies, everyone. We've had a lot of work. The reason this isn't merged is because we've already done the work to support the newest Linux kernel, but it's sitting on our internal repository waiting for the driver release, as they have been released in sync so far. There's definitely room for improvement in this process, and I am forwarding all the suggestions and concerns I see here (or on the AUR), but ultimately I don't make the decisions.

Honestly, all of this kernel breakage mess makes me want to sell my VisionTek VT4900 and just buy a Thunderbolt 3 dock. I think the Dell WD19TB should be comparable, and then I don't have to deal with this driver anymore. This is an awful user experience, and it makes it much less compelling to continue using DisplayLink technology. I'd love to see mainline or at least very up-to-date drivers released as close as possible if not with new kernel releases. It's not really a universal dock if it doesn't work on all operating systems, including Linux. And if it constantly breaks on new kernel releases, it makes it feel like Linux users are second-class citizens.

Thanks for the alternative suggestion. I update my linux laptop once a quarter and every single time I do I spend a day trying to figure out how to get my external monitors to work. It's absolutely insane the history of commands I've tried over the year to do this and they never work across another update. I'll be buying that Dell hub and seeing how that works instead, thank you.

palexdev commented 1 year ago

Apologies, everyone. We've had a lot of work. The reason this isn't merged is because we've already done the work to support the newest Linux kernel, but it's sitting on our internal repository waiting for the driver release, as they have been released in sync so far. There's definitely room for improvement in this process, and I am forwarding all the suggestions and concerns I see here (or on the AUR), but ultimately I don't make the decisions.

Honestly, all of this kernel breakage mess makes me want to sell my VisionTek VT4900 and just buy a Thunderbolt 3 dock. I think the Dell WD19TB should be comparable, and then I don't have to deal with this driver anymore. This is an awful user experience, and it makes it much less compelling to continue using DisplayLink technology. I'd love to see mainline or at least very up-to-date drivers released as close as possible if not with new kernel releases. It's not really a universal dock if it doesn't work on all operating systems, including Linux. And if it constantly breaks on new kernel releases, it makes it feel like Linux users are second-class citizens.

I have the same feelings At the time I still didn't use Linux as my main, heck I was not even using it, so I didn't do much research But if I knew about all of this, I would have never bought my Asus MB169B+ Lesson learned I think, better avoid this mess next time

palexdev commented 1 year ago

Apologies, everyone. We've had a lot of work. The reason this isn't merged is because we've already done the work to support the newest Linux kernel, but it's sitting on our internal repository waiting for the driver release, as they have been released in sync so far. There's definitely room for improvement in this process, and I am forwarding all the suggestions and concerns I see here (or on the AUR), but ultimately I don't make the decisions.

Honestly, all of this kernel breakage mess makes me want to sell my VisionTek VT4900 and just buy a Thunderbolt 3 dock. I think the Dell WD19TB should be comparable, and then I don't have to deal with this driver anymore. This is an awful user experience, and it makes it much less compelling to continue using DisplayLink technology. I'd love to see mainline or at least very up-to-date drivers released as close as possible if not with new kernel releases. It's not really a universal dock if it doesn't work on all operating systems, including Linux. And if it constantly breaks on new kernel releases, it makes it feel like Linux users are second-class citizens.

I have the same feelings At the time I still didn't use Linux as my main, heck I was not even using it, so I didn't do much research But if I knew about all of this, I would have never bought my Asus MB169B+ Lesson learned I think, better avoid this mess next time

acasaism commented 1 year ago

Works on Pop!_OS 22.04 with kernel 6.2.0-76060200-generic, thanks!!!

paulobarros commented 1 year ago

Fix Works on Pop!_OS 22.04

Dell Inspiron 7472 Kernel 6.2.0-76060200-generic GNOME 42.5 DisplayLink QGeeM 3501 Adapter

Thank you very much!

palexdev commented 1 year ago

For some reason it broke again on my system, all I can see in the logs is: io/hpmud/pp.c 627: unable to read device-id ret=-1

listout commented 1 year ago

@palexdev try cloning and building from the devel branch, they have recently added 6.2 support

palexdev commented 1 year ago

Nothing, I still see the same error

No luck till now even with old sources. That's enough, I've had enough. I've paied money for this, I didn't get it for free. I'm going to sell it and buy something that actually works. Oh and also in the veins of Linus Torvalds:

Fuck you evdi, fuck you displaylink, fuck you Synaptics and all the people behind this shit

bastoune commented 1 year ago

It's been 6 weeks now, how is it still not working ?

listout commented 1 year ago

@bastoune With commit https://github.com/DisplayLink/evdi/commit/a47ded875c208fc38dee3f808f2b0639a86f1730 I think they have patched it for version 6.2

vbatts commented 1 year ago

I just tested this commit by exploding out the displaylink-driver-5.6.1-59.184.bin and patching the sources in evdi.tar.gz. It works on kernel 6.2.0 and 6.2.6, on pop_os 22.04 (Ubuntu 22.04)

cmmrandau commented 1 year ago

I cloned the devel branch, replaced evdi.tar.gz in the exploded displaylink-driver and ran displaylink-installer.sh. Now I have evdi 1.13.0 but it is not working. Peripherals working, display detected but not working. Kernerl 6.2.0-18-generic on Ubuntu 23.04.

djallits commented 1 year ago

Now I have evdi 1.13.0 but it is not working.

@cmmrandau - That is because DisplayLink 5.6.x is pinned to EVDI 1.12. Some, including myself, have had luck with Varun-garg/evdi-compat. Ultimately the way Synaptics manages dependencies needs to be fixed, and only they can fix this.

cmmrandau commented 1 year ago

@djallits - thanks, I tried it but it did not work either. I do this: clone the evdi, make a new evdi.tar.gz and replace the one in displaylink-driver, and then run displaylink-installer.sh in the exploded folder. dkms status says evdi/1.13.0, 6.2.8-060208-generic, x86_64: installed so the installation seems to work. dmesg gives many messages like: [ 35.326797] evdi: [I] (card3) Opened by Task 1560 (systemd-logind) of process 1560 (systemd-logind) ... [ 36.797264] evdi: [I] (card3) Closed by Task 4113 (gnome-shell) of process 4113 (gnome-shell) but google does not make me wiser as to whether this has anything to do with it nor working.

SimonSchwendele commented 1 year ago

@djallits - thanks, I tried it but it did not work either. I do this: clone the evdi, make a new evdi.tar.gz and replace the one in displaylink-driver, and then run displaylink-installer.sh in the exploded folder. dkms status says evdi/1.13.0, 6.2.8-060208-generic, x86_64: installed so the installation seems to work. dmesg gives many messages like: [ 35.326797] evdi: [I] (card3) Opened by Task 1560 (systemd-logind) of process 1560 (systemd-logind) ... [ 36.797264] evdi: [I] (card3) Closed by Task 4113 (gnome-shell) of process 4113 (gnome-shell) but google does not make me wiser as to whether this has anything to do with it nor working.

The current displaylink requires evdi/1.12.0 . The current devel runs on 1.13.0. The changes made to the devel did more than just fixing those issues. You could set the minor version to 12 and try using that one. https://github.com/DisplayLink/evdi/blob/85a347a0a6c97df9fd602289229ca6f738ea9924/library/evdi_lib.h#L16

cmmrandau commented 1 year ago

Thanks for the help. Not sure I did it right. I edited evdi_lib.h from the devel branch to

define LIBEVDI_VERSION_MAJOR 1

define LIBEVDI_VERSION_MINOR 12

define LIBEVDI_VERSION_PATCH 0

and then compressed the evdi folder to evdi.tar.gz and ran displaylink-installer.sh. This doesn't work. dkms status still says I run 1.13.1 My kernel is 6.2.8-060208-generic dmesg still says the same, e.g., [ 36.797264] evdi: [I] (card3) Closed by Task 4113 (gnome-shell) of process 4113 (gnome-shell) Monitor is detected but not working. Peripherals work.

listout commented 1 year ago

Why not try just skipping the compression part altogether? Git clone the repo, cd into it and just run make (or make install). Once done you can just modprobe evdi and restart your dlm service.

I've have using this method and it turned out to be fine

On Wed, Mar 29, 2023 at 3:54β€―PM Martin Randau @.***> wrote:

Thanks for the help. Not sure I did it right. I edited evdi_lib.h from the devel branch to

define LIBEVDI_VERSION_MAJOR 1

define LIBEVDI_VERSION_MINOR 12

define LIBEVDI_VERSION_PATCH 0

and then compressed the evdi folder to evdi.tar.gz and ran displaylink-installer.sh. This doesn't work. dkms status still says I run 1.13.1 My kernel is 6.2.8-060208-generic dmesg still says the same, e.g., [ 36.797264] evdi: [I] (card3) Closed by Task 4113 (gnome-shell) of process 4113 (gnome-shell) Monitor is detected but not working. Peripherals work.

β€” Reply to this email directly, view it on GitHub https://github.com/DisplayLink/evdi/pull/401#issuecomment-1488335357, or unsubscribe https://github.com/notifications/unsubscribe-auth/AP4726SIOVES7NSVAHH6H3LW6QEWVANCNFSM6AAAAAAVCEUWPU . You are receiving this because you were mentioned.Message ID: @.***>

cmmrandau commented 1 year ago

I tried that too before, but make failed because I missed pybinds11. Now make completed but it still doesn't work. I would need detailed steps of how to completely remove the previous evdi and displaylink and how to proceed from there. I think I'm doing a mismatch of things and lack a proper understanding of depmod, dkms, etc.. Otherwise, I'll just wait until the official driver is released. I'm using a Lenovo 4 dock with thunderbolt, but connecting with usb-c. For now, I just connect the monitor directly and use the dock for peripherals. Thanks for the help, though. :)

Crashdummyy commented 1 year ago

I tried that too before, but make failed because I missed pybinds11. Now make completed but it still doesn't work. I would need detailed steps of how to completely remove the previous evdi and displaylink and how to proceed from there. I think I'm doing a mismatch of things and lack a proper understanding of depmod, dkms, etc.. Otherwise, I'll just wait until the official driver is released. I'm using a Lenovo 4 dock with thunderbolt, but connecting with usb-c. For now, I just connect the monitor directly and use the dock for peripherals. Thanks for the help, though. :)

You should basically be able to use the dev branch with just downgrading the versionNumber.

diff --git a/module/Makefile b/module/Makefile
index fe573de..bbe4e64 100644
--- a/module/Makefile
+++ b/module/Makefile
@@ -62,7 +62,7 @@ CP ?= cp
 DKMS ?= dkms
 RM ?= rm

-MODVER=1.13.1
+MODVER=1.12.0

 ifeq ($(KVER),)
    KVER := $(shell uname -r)
diff --git a/module/dkms.conf b/module/dkms.conf
index 5343de3..3fa8276 100644
--- a/module/dkms.conf
+++ b/module/dkms.conf
@@ -7,7 +7,7 @@
 #

 PACKAGE_NAME="evdi"
-PACKAGE_VERSION=1.13.1
+PACKAGE_VERSION=1.12.0
 AUTOINSTALL=yes

 MAKE[0]="make all INCLUDEDIR=/lib/modules/$kernelver/build/include KVERSION=$kernelver DKMS_BUILD=1"

In case you previously installed displaylink the you can simply manually replace the module files in /usr/src/evdi-1.12.0 with the module files of the develop branch. Just dont forget to edit the Makefile and the dkms.conf

Afterwards it should work immediately after you restart displaylink. sudo systemctl restart displaylink-driver.service

cmmrandau commented 1 year ago

@Crashdummyy thanks for the help. I tried a fresh install of displaylink with the changes to makefile and dkms.conf, but still no luck. Peripherals work and Display is detected but no output. Tried both wayland and xorg. It's a lenovo thunderbolt/usb-c dock and I'm connecting with usb-c since my laptop lacks thunderbolt.

dkms status
evdi/1.12.0, 6.2.9-060209-generic, x86_64: installed
sudo dmesg | grep evdi
[    3.776827] evdi: loading out-of-tree module taints kernel.
[    3.776911] evdi: module verification failed: signature and/or required key missing - tainting kernel
[    3.787270] evdi: [I] Initialising logging on level 4
[    3.787276] evdi: [I] Atomic driver: yes
[    3.787415] evdi: [I] Increasing device count to 4
[    3.787637] evdi: [I] (card1) Opened by Task 358 (systemd-modules) of process 358 (systemd-modules)
[    3.787653] evdi evdi.0: [drm] Cannot find any crtc or sizes
[    3.787941] [drm] Initialized evdi 1.13.1 20230324 for evdi.0 on minor 1
[    3.787970] evdi: [I] Evdi platform_device create
[    3.788053] evdi: [I] (card2) Opened by Task 358 (systemd-modules) of process 358 (systemd-modules)
[    3.788058] evdi evdi.1: [drm] Cannot find any crtc or sizes
[    3.788230] [drm] Initialized evdi 1.13.1 20230324 for evdi.1 on minor 2
[    3.788239] evdi: [I] Evdi platform_device create
[    3.788312] evdi: [I] (card3) Opened by Task 358 (systemd-modules) of process 358 (systemd-modules)
[    3.788318] evdi evdi.2: [drm] Cannot find any crtc or sizes
[    3.788495] [drm] Initialized evdi 1.13.1 20230324 for evdi.2 on minor 3
[    3.788502] evdi: [I] Evdi platform_device create
[    3.788553] evdi: [I] (card4) Opened by Task 358 (systemd-modules) of process 358 (systemd-modules)
[    3.788557] evdi evdi.3: [drm] Cannot find any crtc or sizes
[    3.788692] [drm] Initialized evdi 1.13.1 20230324 for evdi.3 on minor 4
[    3.788701] evdi: [I] Evdi platform_device create
[    3.862385] evdi: [I] (card4) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862418] evdi: [I] (card4) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862456] evdi: [I] (card3) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862464] evdi: [I] (card3) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862470] evdi: [I] (card2) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862476] evdi: [I] (card2) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862481] evdi: [I] (card1) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862488] evdi: [I] (card1) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862925] evdi: [I] (card4) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862933] evdi: [I] (card4) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862938] evdi: [I] (card3) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862943] evdi: [I] (card3) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862948] evdi: [I] (card2) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862952] evdi: [I] (card2) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862955] evdi: [I] (card1) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862959] evdi: [I] (card1) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863403] evdi: [I] (card4) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863412] evdi: [I] (card4) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863418] evdi: [I] (card3) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863422] evdi: [I] (card3) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863425] evdi: [I] (card2) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863430] evdi: [I] (card2) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863442] evdi: [I] (card1) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863446] evdi: [I] (card1) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863900] evdi: [I] (card4) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863907] evdi: [I] (card4) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863912] evdi: [I] (card3) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863916] evdi: [I] (card3) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863921] evdi: [I] (card2) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863924] evdi: [I] (card2) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863931] evdi: [I] (card1) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863935] evdi: [I] (card1) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.902259] evdi: [I] (card3) Opened by Task 407 (plymouthd) of process 407 (plymouthd)
[    3.902316] evdi: [I] (card3) Closed by Task 407 (plymouthd) of process 407 (plymouthd)
[    3.902349] evdi: [I] (card4) Opened by Task 407 (plymouthd) of process 407 (plymouthd)
[    3.902366] evdi: [I] (card4) Closed by Task 407 (plymouthd) of process 407 (plymouthd)
[    3.902385] evdi: [I] (card2) Opened by Task 407 (plymouthd) of process 407 (plymouthd)
[    3.902409] evdi: [I] (card2) Closed by Task 407 (plymouthd) of process 407 (plymouthd)
[    3.902706] evdi: [I] (card1) Opened by Task 407 (plymouthd) of process 407 (plymouthd)
[    3.902722] evdi: [I] (card1) Closed by Task 407 (plymouthd) of process 407 (plymouthd)
[    4.589162] evdi: [I] (card1) Opened by Task 1551 (systemd-logind) of process 1551 (systemd-logind)
[    4.604786] evdi: [I] (card2) Opened by Task 1551 (systemd-logind) of process 1551 (systemd-logind)
[    4.614968] evdi: [I] (card3) Opened by Task 1551 (systemd-logind) of process 1551 (systemd-logind)
[    4.625420] evdi: [I] (card4) Opened by Task 1551 (systemd-logind) of process 1551 (systemd-logind)
[    5.791594] evdi: [I] (card4) Closed by Task 1948 (gnome-shell) of process 1948 (gnome-shell)
[    5.792502] evdi: [I] (card2) Closed by Task 1948 (gnome-shell) of process 1948 (gnome-shell)
[    5.793559] evdi: [I] (card3) Closed by Task 1948 (gnome-shell) of process 1948 (gnome-shell)
[    5.794970] evdi: [I] (card1) Closed by Task 1948 (gnome-shell) of process 1948 (gnome-shell)
[   11.045641] evdi: [I] (card1) Opened by Task 1551 (systemd-logind) of process 1551 (systemd-logind)
[   11.057786] evdi: [I] (card2) Opened by Task 1551 (systemd-logind) of process 1551 (systemd-logind)
[   11.068249] evdi: [I] (card3) Opened by Task 1551 (systemd-logind) of process 1551 (systemd-logind)
[   11.079563] evdi: [I] (card4) Opened by Task 1551 (systemd-logind) of process 1551 (systemd-logind)
[   12.652302] evdi: [I] (card3) Closed by Task 2861 (gnome-shell) of process 2861 (gnome-shell)
[   12.653724] evdi: [I] (card1) Closed by Task 2861 (gnome-shell) of process 2861 (gnome-shell)
[   12.655159] evdi: [I] (card2) Closed by Task 2861 (gnome-shell) of process 2861 (gnome-shell)
[   12.657004] evdi: [I] (card4) Closed by Task 2861 (gnome-shell) of process 2861 (gnome-shell)
Crashdummyy commented 1 year ago

@Crashdummyy thanks for the help. I tried a fresh install of displaylink with the changes to makefile and dkms.conf, but still no luck. Peripherals work and Display is detected but no output. Tried both wayland and xorg. It's a lenovo thunderbolt/usb-c dock and I'm connecting with usb-c since my laptop lacks thunderbolt.

dkms status
evdi/1.12.0, 6.2.9-060209-generic, x86_64: installed
sudo dmesg | grep evdi
[    3.776827] evdi: loading out-of-tree module taints kernel.
[    3.776911] evdi: module verification failed: signature and/or required key missing - tainting kernel
[    3.787270] evdi: [I] Initialising logging on level 4
[    3.787276] evdi: [I] Atomic driver: yes
[    3.787415] evdi: [I] Increasing device count to 4
[    3.787637] evdi: [I] (card1) Opened by Task 358 (systemd-modules) of process 358 (systemd-modules)
[    3.787653] evdi evdi.0: [drm] Cannot find any crtc or sizes
[    3.787941] [drm] Initialized evdi 1.13.1 20230324 for evdi.0 on minor 1
[    3.787970] evdi: [I] Evdi platform_device create
[    3.788053] evdi: [I] (card2) Opened by Task 358 (systemd-modules) of process 358 (systemd-modules)
[    3.788058] evdi evdi.1: [drm] Cannot find any crtc or sizes
[    3.788230] [drm] Initialized evdi 1.13.1 20230324 for evdi.1 on minor 2
[    3.788239] evdi: [I] Evdi platform_device create
[    3.788312] evdi: [I] (card3) Opened by Task 358 (systemd-modules) of process 358 (systemd-modules)
[    3.788318] evdi evdi.2: [drm] Cannot find any crtc or sizes
[    3.788495] [drm] Initialized evdi 1.13.1 20230324 for evdi.2 on minor 3
[    3.788502] evdi: [I] Evdi platform_device create
[    3.788553] evdi: [I] (card4) Opened by Task 358 (systemd-modules) of process 358 (systemd-modules)
[    3.788557] evdi evdi.3: [drm] Cannot find any crtc or sizes
[    3.788692] [drm] Initialized evdi 1.13.1 20230324 for evdi.3 on minor 4
[    3.788701] evdi: [I] Evdi platform_device create
[    3.862385] evdi: [I] (card4) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862418] evdi: [I] (card4) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862456] evdi: [I] (card3) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862464] evdi: [I] (card3) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862470] evdi: [I] (card2) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862476] evdi: [I] (card2) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862481] evdi: [I] (card1) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862488] evdi: [I] (card1) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862925] evdi: [I] (card4) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862933] evdi: [I] (card4) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862938] evdi: [I] (card3) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862943] evdi: [I] (card3) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862948] evdi: [I] (card2) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862952] evdi: [I] (card2) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862955] evdi: [I] (card1) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.862959] evdi: [I] (card1) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863403] evdi: [I] (card4) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863412] evdi: [I] (card4) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863418] evdi: [I] (card3) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863422] evdi: [I] (card3) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863425] evdi: [I] (card2) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863430] evdi: [I] (card2) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863442] evdi: [I] (card1) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863446] evdi: [I] (card1) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863900] evdi: [I] (card4) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863907] evdi: [I] (card4) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863912] evdi: [I] (card3) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863916] evdi: [I] (card3) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863921] evdi: [I] (card2) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863924] evdi: [I] (card2) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863931] evdi: [I] (card1) Opened by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.863935] evdi: [I] (card1) Closed by Task 1489 (gpu-manager) of process 1489 (gpu-manager)
[    3.902259] evdi: [I] (card3) Opened by Task 407 (plymouthd) of process 407 (plymouthd)
[    3.902316] evdi: [I] (card3) Closed by Task 407 (plymouthd) of process 407 (plymouthd)
[    3.902349] evdi: [I] (card4) Opened by Task 407 (plymouthd) of process 407 (plymouthd)
[    3.902366] evdi: [I] (card4) Closed by Task 407 (plymouthd) of process 407 (plymouthd)
[    3.902385] evdi: [I] (card2) Opened by Task 407 (plymouthd) of process 407 (plymouthd)
[    3.902409] evdi: [I] (card2) Closed by Task 407 (plymouthd) of process 407 (plymouthd)
[    3.902706] evdi: [I] (card1) Opened by Task 407 (plymouthd) of process 407 (plymouthd)
[    3.902722] evdi: [I] (card1) Closed by Task 407 (plymouthd) of process 407 (plymouthd)
[    4.589162] evdi: [I] (card1) Opened by Task 1551 (systemd-logind) of process 1551 (systemd-logind)
[    4.604786] evdi: [I] (card2) Opened by Task 1551 (systemd-logind) of process 1551 (systemd-logind)
[    4.614968] evdi: [I] (card3) Opened by Task 1551 (systemd-logind) of process 1551 (systemd-logind)
[    4.625420] evdi: [I] (card4) Opened by Task 1551 (systemd-logind) of process 1551 (systemd-logind)
[    5.791594] evdi: [I] (card4) Closed by Task 1948 (gnome-shell) of process 1948 (gnome-shell)
[    5.792502] evdi: [I] (card2) Closed by Task 1948 (gnome-shell) of process 1948 (gnome-shell)
[    5.793559] evdi: [I] (card3) Closed by Task 1948 (gnome-shell) of process 1948 (gnome-shell)
[    5.794970] evdi: [I] (card1) Closed by Task 1948 (gnome-shell) of process 1948 (gnome-shell)
[   11.045641] evdi: [I] (card1) Opened by Task 1551 (systemd-logind) of process 1551 (systemd-logind)
[   11.057786] evdi: [I] (card2) Opened by Task 1551 (systemd-logind) of process 1551 (systemd-logind)
[   11.068249] evdi: [I] (card3) Opened by Task 1551 (systemd-logind) of process 1551 (systemd-logind)
[   11.079563] evdi: [I] (card4) Opened by Task 1551 (systemd-logind) of process 1551 (systemd-logind)
[   12.652302] evdi: [I] (card3) Closed by Task 2861 (gnome-shell) of process 2861 (gnome-shell)
[   12.653724] evdi: [I] (card1) Closed by Task 2861 (gnome-shell) of process 2861 (gnome-shell)
[   12.655159] evdi: [I] (card2) Closed by Task 2861 (gnome-shell) of process 2861 (gnome-shell)
[   12.657004] evdi: [I] (card4) Closed by Task 2861 (gnome-shell) of process 2861 (gnome-shell)

Huh cant help you with that sorry. My colleagues are now all on Fedora where it just "works". Do you have an nvidia dgpu inside ? My g15 needs nvidia-drm.modeset=1 to run

sudo systemctl status displaylink-driver.service ?