System Information
- OS: Fedora 43
- Kernel: 6.18.12-200.fc43.x86_64
- DisplayLink package: displaylink-1.14.14-1.github_evdi.x86_64
- EVDI module: loaded from displaylink package
- GPU (primary): Intel Iris Plus Graphics G7 (i915 driver)
- GPU (secondary): NVIDIA GeForce MX330 (nvidia-drm driver)
- DisplayLink device: HP Z23n monitor via USB (1920x1080@60Hz)
Description
After a USB reconnect event (e.g. hub reconnect or system resume), the EVDI driver
logs a "Double connect" warning. Within 5–20 minutes of this event, the system
experiences a complete hard freeze requiring a forced power cycle.
The kernel journal is truncated at the point of freeze (no panic output), and
wtmp records the session as crash rather than clean shutdown.
Kernel log at time of event
evdi: [W] evdi_painter_connect:896 (card2) Double connect - replacing 0000000003e0ecdd with 0000000003e0ecdd
This warning appeared in every single crash observed (3 occurrences over 2 days),
always preceding the freeze by a few minutes.
Reproducing
- Connect a DisplayLink monitor via USB
- Disconnect and reconnect the USB (or trigger a suspend/resume)
- Observe
Double connect warning in dmesg / journalctl
- System freezes completely within ~5–20 minutes, no recovery possible
Additional context
- With
initial_device_count=4 (default), the system had 4 EVDI virtual devices
(card2–card5) for a single physical DisplayLink monitor, which may increase
the probability of triggering the race condition
- Reducing to
initial_device_count=1 via /etc/modprobe.d/evdi.conf appears to
reduce frequency but does not eliminate the warning
- No kernel panic dump is generated — the freeze is a hard lockup with no output
- Prior sessions on kernel 6.18.9 showed identical behavior
Logs
Previous freeze (kernel 6.18.9, boot -1):
Feb 21 11:07:31 kernel: evdi: [W] evdi_painter_connect:896 (card3) Double connect - replacing ...
[system froze ~20 minutes later, journal truncated]
Current session (kernel 6.18.12):
Feb 21 21:59:58 kernel: evdi: [W] evdi_painter_connect:896 (card2) Double connect - replacing 0000000003e0ecdd with 0000000003e0ecdd
[system froze ~28 minutes later, journal truncated]
Also observed at boot:
gnome-shell: Failed to initialize accelerated iGPU/dGPU framebuffer sharing: Not hardware accelerated
gnome-shell: Failed to determine deadline: drmWaitVBlank failed: Unknown error -1
Workarounds attempted
- Reduced
initial_device_count from 4 to 1 — reduces device proliferation but
does not fix the double connect race
- Added kernel watchdog params (
nmi_watchdog=1 softlockup_panic=1 hardlockup_panic=1)
to force reboot on lockup instead of freezing indefinitely
Expected behavior
The evdi_painter_connect function should handle a double connect gracefully
without leaving the driver in a state that eventually deadlocks the kernel DRM
subsystem.
System Information
Description
After a USB reconnect event (e.g. hub reconnect or system resume), the EVDI driver
logs a "Double connect" warning. Within 5–20 minutes of this event, the system
experiences a complete hard freeze requiring a forced power cycle.
The kernel journal is truncated at the point of freeze (no panic output), and
wtmprecords the session ascrashrather than clean shutdown.Kernel log at time of event
evdi: [W] evdi_painter_connect:896 (card2) Double connect - replacing 0000000003e0ecdd with 0000000003e0ecdd
This warning appeared in every single crash observed (3 occurrences over 2 days),
always preceding the freeze by a few minutes.
Reproducing
Double connectwarning indmesg/journalctlAdditional context
initial_device_count=4(default), the system had 4 EVDI virtual devices(
card2–card5) for a single physical DisplayLink monitor, which may increasethe probability of triggering the race condition
initial_device_count=1via/etc/modprobe.d/evdi.confappears toreduce frequency but does not eliminate the warning
Logs
Previous freeze (kernel 6.18.9, boot -1):
Feb 21 11:07:31 kernel: evdi: [W] evdi_painter_connect:896 (card3) Double connect - replacing ...
[system froze ~20 minutes later, journal truncated]
Current session (kernel 6.18.12):
Feb 21 21:59:58 kernel: evdi: [W] evdi_painter_connect:896 (card2) Double connect - replacing 0000000003e0ecdd with 0000000003e0ecdd
[system froze ~28 minutes later, journal truncated]
Also observed at boot:
gnome-shell: Failed to initialize accelerated iGPU/dGPU framebuffer sharing: Not hardware accelerated
gnome-shell: Failed to determine deadline: drmWaitVBlank failed: Unknown error -1
Workarounds attempted
initial_device_countfrom 4 to 1 — reduces device proliferation butdoes not fix the double connect race
nmi_watchdog=1 softlockup_panic=1 hardlockup_panic=1)to force reboot on lockup instead of freezing indefinitely
Expected behavior
The
evdi_painter_connectfunction should handle a double connect gracefullywithout leaving the driver in a state that eventually deadlocks the kernel DRM
subsystem.