[SRU] evdi-dkms=1.14.2 not working with kernel >= 6.12

Bug #2117389 reported by Łukasz Spintzyk
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
evdi (Ubuntu)
Fix Released
Undecided
Unassigned
Noble
Fix Released
High
You-Sheng Yang
Plucky
Fix Released
Undecided
Unassigned
Questing
Fix Released
Undecided
Unassigned

Bug Description

[ SRU Justification ]

[ Impact ]

Noble EVDI driver is unable to open DRM device when compiled and loaded into kernels with version >= v6.12.

------------[ cut here ]------------
WARNING: CPU: 16 PID: 426 at drivers/gpu/drm/drm_file.c:317 drm_open_helper+0x11f/0x140
Modules linked in: snd_soc_dmic binfmt_misc sch_fq_codel v4l2loopback(O) msr evdi(OE) snd_sof_pci_intel_mtl snd_sof_intel_hda_generic soundwire_intel soundwire_cadence intel_ipu6_psys(O) snd_sof_intel_hda_common snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_hda_ext_core snd_soc_acpi_intel_match snd_soc_acpi_intel_sdca_quirks intel_ipu6_isys soundwire_generic_allocation intel_uncore_frequency snd_soc_acpi videobuf2_dma_sg intel_uncore_frequency_common soundwire_bus videobuf2_memops x86_pkg_temp_thermal videobuf2_v4l2 spi_nor snd_soc_sdca videobuf2_common iwlmvm(+) intel_powerclamp mtd intel_rapl_msr i2c_usbio(O) mei_gsc_proxy gpio_usbio(O) snd_soc_core snd_compress mac80211 ac97_bus xe snd_pcm_dmaengine coretemp libarc4 polyval_clmulni polyval_generic snd_ctl_led snd_hda_intel ghash_clmulni_intel sha256_ssse3 snd_intel_dspcfg sha1_ssse3 processor_thermal_device_pci snd_intel_sdw_acpi aesni_intel processor_thermal_device
 processor_thermal_wt_hint crypto_simd processor_thermal_rfim snd_hda_codec btusb cryptd processor_thermal_rapl hid_sensor_custom_intel_hinge snd_hda_core hid_sensor_accel_3d ov08x40(O) intel_pmc_core btrtl gpu_sched think_lmi(+) intel_rapl_common intel_skl_int3472_tps68470 rapl iwlwifi intel_cstate snd_hwdep hid_sensor_trigger v4l2_fwnode drm_gpuvm tps68470_regulator btintel processor_thermal_wt_req i2c_i801 clk_tps68470 drm_ttm_helper pmt_telemetry v4l2_async industrialio_triggered_buffer btbcm processor_thermal_power_floor joydev thinkpad_acpi intel_skl_int3472_discrete kfifo_buf input_leds processor_thermal_mbox int3403_thermal firmware_attributes_class drm_exec spi_intel_pci pmt_class i2c_smbus wmi_bmof snd_pcm videodev mei_me btmtk intel_ipu6 int3400_thermal hid_sensor_iio_common drm_suballoc_helper bluetooth usbio(O) spi_intel cfg80211 industrialio intel_vpu mei snd_timer i2c_mux ipu_bridge igen6_edac soc_button_array nvram int340x_thermal_zone mc acpi_tad intel_skl_int3472_common acpi_thermal_rel
 intel_hid acpi_pad intel_vsec mac_hid serio_raw i915 drm_buddy ttm drm_display_helper cec rc_core i2c_algo_bit parport_pc ppdev lp parport nvme_fabrics efi_pstore nvme_keyring nfnetlink dmi_sysfs ip_tables x_tables autofs4 btrfs blake2b_generic raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq raid1 raid0 hid_sensor_custom linear hid_sensor_hub intel_ishtp_hid hid_multitouch hid_generic nvme snd psmouse thunderbolt intel_ish_ipc soundcore ucsi_acpi intel_lpss_pci nvme_core video intel_lpss typec_ucsi intel_ishtp idma64 i2c_hid_acpi nvme_auth typec i2c_hid sparse_keymap hid platform_profile wmi pinctrl_meteorlake
CPU: 16 UID: 0 PID: 426 Comm: plymouthd Tainted: G OE 6.14.0-1009-oem #9-Ubuntu
Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE
Hardware name: LENOVO 21KCSIT080/21KCSIT080, BIOS N3YET69W (1.34 ) 08/06/2024
RIP: 0010:drm_open_helper+0x11f/0x140
Code: f6 31 ff 45 31 c0 45 31 c9 c3 cc cc cc cc 48 89 df e8 95 98 fe ff 85 c0 74 8d 48 89 df 89 45 e4 e8 46 fa ff ff 8b 45 e4 eb c7 <0f> 0b b8 ea ff ff ff eb be b8 ea ff ff ff eb b7 b8 f0 ff ff ff eb
RSP: 0018:ffffa693c0d878d8 EFLAGS: 00010246
RAX: ffffffffc1f1a6c0 RBX: ffff9a5e54cf4388 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffff9a5e54cf4388 RDI: ffff9a5e5718cd80
RBP: ffffa693c0d878f8 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffff9a5e5718cd80
R13: ffff9a5e6d6d2800 R14: 00000000ffffffed R15: ffffffffc1f1a6c0
FS: 00007a3e911c1000(0000) GS:ffff9a6580000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000063a3b6d45000 CR3: 000000011393f005 CR4: 0000000000f70ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff07f0 DR7: 0000000000000400
PKRU: 55555554
Call Trace:
 <TASK>
 ? drm_minor_acquire+0x9f/0x150
 drm_open+0x73/0x120
 drm_stub_open+0x9b/0xe0
 chrdev_open+0xb8/0x230
 ? __pfx_chrdev_open+0x10/0x10
 do_dentry_open+0x174/0x5b0
 vfs_open+0x2a/0x100
 do_open+0x2b7/0x430
 path_openat+0x134/0x2d0
 ? crng_fast_key_erasure+0xd5/0x120
 do_filp_open+0xd4/0x1a0
 do_sys_openat2+0xb3/0xe0
 __x64_sys_openat+0x55/0xa0
 x64_sys_call+0x1c49/0x2650
 do_syscall_64+0x7e/0x170
 ? netlink_recvmsg+0x282/0x360
 ? sock_recvmsg+0xde/0xf0
 ? __sys_recvfrom+0xcc/0x160
 ? arch_exit_to_user_mode_prepare.isra.0+0x22/0xd0
 ? syscall_exit_to_user_mode+0x38/0x1d0
 ? do_syscall_64+0x8a/0x170
 ? arch_exit_to_user_mode_prepare.isra.0+0x22/0xd0
 ? syscall_exit_to_user_mode+0x38/0x1d0
 ? do_syscall_64+0x8a/0x170
 ? irqentry_exit+0x43/0x50
 ? exc_page_fault+0x96/0x1e0
 entry_SYSCALL_64_after_hwframe+0x76/0x7e
RIP: 0033:0x7a3e9146f175
Code: 83 e2 40 75 50 89 f0 f7 d0 a9 00 00 41 00 74 45 80 3d de fe 0e 00 00 74 60 89 da 4c 89 e6 bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 7f 00 00 00 48 8b 55 b8 64 48 2b 14 25 28
RSP: 002b:00007ffca923d9d0 EFLAGS: 00000202 ORIG_RAX: 0000000000000101
RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007a3e9146f175
RDX: 0000000000000002 RSI: 000063a3b6d44440 RDI: 00000000ffffff9c
RBP: 00007ffca923da40 R08: 000000063a3b6d44 R09: 0000000000000007
R10: 0000000000000000 R11: 0000000000000202 R12: 000063a3b6d44440
R13: 00007a3e911c0f88 R14: 00007a3e9158db00 R15: 000000000000000b
 </TASK>
---[ end trace 0000000000000000 ]---

[ Test Plan ]

1. Install kernels >= 6.12. For Noble, a few choices available:
   $ sudo apt-get install --no-install-recommends --yes \
       linux-oem-6.14 \
       linux-oem-6.17 \
       linux-generic-6.14

2. Install also stock kernel to ensure we don't break existing setup:
   $ sudo apt-get install --no-install-recommends --yes \
       linux-generic

3. Install evdi-dkms from noble-proposed pocket. The dkms module should be built automatically by default; if not, execute:

   # List the kernels you have:
   $ apt list --installed 2>/dev/null | \
       sed -n '/^linux-headers-\([0-9\.-]\+\)-\(generic\|oem\)/s|^linux-headers-\([^/]\+\)/.*|\1|p' | \
       sort -V -r
   6.17.0-1002-oem
   6.14.0-1012-oem
   6.14.0-32-generic
   6.8.0-81-generic
   ......
   # Build and install dkms module for the kernels to be tested with:
   $ sudo dkms install evdi/1.14.2+dfsg -k $(uname -r)
   $ dkms status
   evdi/1.14.2+dfsg, 6.17.0-1002-oem, x86_64: installed
   evdi/1.14.2+dfsg, 6.14.0-1012-oem, x86_64: installed
   evdi/1.14.2+dfsg, 6.14.0-32-generic, x86_64: installed
   evdi/1.14.2+dfsg, 6.8.0-81-generic, x86_64: installed
   ......

4. Reboot to each of the kernels with evdi kernel module for following test steps.
5. Attach DisplayLink device after logging in GUI.
6. An external monitor should light up and become joined in a few seconds.

[ Where problems could occur ]

The module only works with kernel < v6.16 so far, and we may need another update for hwe-6.17.

[ Other Info ]

The proposed fix has been available in evdi/plucky and evdi/questing. Nominate only for Noble.

========= original bug report ==========

We have found an issue between evdi-dkms=1.14.2 and linux-kernel v6.14 on Ubuntu 24.04.2. kernels <=6.11 are unaffected.
Luckily it is fixed in evdi-dkms=1.14.8 that is available in Ubuntu 25.04 that contains a fix:
  https://github.com/DisplayLink/evdi/commit/a2971b023709ea7335964abe5ddab93b6e70b74f

Can evdi-dkms in Ubuntu 24.04 be updated?

Related branches

Revision history for this message
Daniel Letzeisen (dtl131) wrote :

The evdi-dkms package in Noble has already been patched for kernel 6.14 ( bug 2110937 )

Another user found they had to purge and reinstall evdi-dkms to work around the error ( bug 2117261 )
Please see if that fixes your issue.

Changed in evdi (Ubuntu):
status: New → Incomplete
Revision history for this message
Łukasz Spintzyk (lspintzy) wrote :

Thank you for fast response.

This is separate issue.
evdi-dkms=1.14.2 builds fine on Ubuntu 24.04.2 with 6.14 kernel, evdi module is loaded, although displays remain black.
The fix for this is commit:
"Patch for kernel 6.12" https://github.com/DisplayLink/evdi/commit/a2971b023709ea7335964abe5ddab93b6e70b74f

This change is already delivered in Plucky in evdi-dkms=1.14.8 and the issue is not reproducible there with 6.14 kernel.

I have done binary chop on https://github.com/DisplayLink/evdi and found that mentioned commit really fixes that issue.

You-Sheng Yang (vicamo)
Changed in evdi (Ubuntu):
status: Incomplete → In Progress
importance: Undecided → High
assignee: nobody → You-Sheng Yang (vicamo)
Changed in evdi (Ubuntu Plucky):
status: New → Fix Released
Changed in evdi (Ubuntu Questing):
status: In Progress → Fix Released
Changed in evdi (Ubuntu Noble):
status: New → In Progress
importance: Undecided → High
assignee: nobody → You-Sheng Yang (vicamo)
Revision history for this message
You-Sheng Yang (vicamo) wrote (last edit ):

Pushed to https://launchpad.net/~vicamo/+archive/ubuntu/ppa-2117389 for review & verification.

To be verified with hardware.

Revision history for this message
You-Sheng Yang (vicamo) wrote :

Failed to build against oem-6.10 kernel. Not a critical one. To be filed as a separate issue if necessary.

Changed in evdi (Ubuntu Questing):
importance: High → Undecided
assignee: You-Sheng Yang (vicamo) → nobody
Revision history for this message
You-Sheng Yang (vicamo) wrote (last edit ): Re: [Bug 2117389] Re: evdi-dkms=1.14.2 not working with kernel >= 6.12

Reproduced and verified on ThinkPad X1 Carbon Gen 12 with OWC USB-C Dual HDMI Display Adapter OWCCADPDL2HDMI.

summary: - evdi-dkms=1.14.2 not working with kernel >= 6.12
+ [SRU] evdi-dkms=1.14.2 not working with kernel >= 6.12
You-Sheng Yang (vicamo)
description: updated
Revision history for this message
Łukasz Spintzyk (lspintzy) wrote :

Hi, what is status of that bug?

BTW I have attached a fix for mentioned above build issue on oem 6.10 kernel:
Patch is prepared against this branch.

bug-2117389/fix-display-blank/noble git+ssh://<email address hidden>/~vicamo/ubuntu/+source/evdi

There was missing '#include <linux/vmalloc.h>'

Revision history for this message
Benjamin Drung (bdrung) wrote :

Please extend the test plan to test with the stock noble kernel version and with a kernel >= v6.12.

This upstream patch https://github.com/DisplayLink/evdi/commit/a2971b023709ea7335964abe5ddab93b6e70b74f is part of the 1.14.8 release and plucky has this version. So I sponsored the linked merged.

Revision history for this message
You-Sheng Yang (vicamo) wrote :

Updated SRU justification in the bug description.

description: updated
description: updated
Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello Łukasz, or anyone else affected,

Accepted evdi into noble-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/evdi/1.14.2+dfsg-1ubuntu1.3 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-noble to verification-done-noble. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-noble. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in evdi (Ubuntu Noble):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-noble
Revision history for this message
You-Sheng Yang (vicamo) wrote :

Verified evdi-dkms version 1.14.2+dfsg-1ubuntu1.3 on ThinkPad X1 Carbon Gen 12 with OWC USB-C Dual HDMI Display Adapter OWCCADPDL2HDMI.

tags: added: verification-done verification-done-noble
removed: verification-needed verification-needed-noble
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package evdi - 1.14.2+dfsg-1ubuntu1.3

---------------
evdi (1.14.2+dfsg-1ubuntu1.3) noble; urgency=medium

  * Display remains blank when loaded into kernel >= 6.12. (LP: #2117389)

 -- You-Sheng Yang <email address hidden> Wed, 06 Aug 2025 00:08:18 +0800

Changed in evdi (Ubuntu Noble):
status: Fix Committed → Fix Released
Revision history for this message
Julian Andres Klode (juliank) wrote : Update Released

The verification of the Stable Release Update for evdi has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.