Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

failed to detect external monitor via usb/3.0 (Ubuntu/20.04, intel/nvidia + DL-5910 chipset) when Xorg is used #461

Closed
kngharv opened this issue Sep 15, 2020 · 2 comments

Comments

@kngharv
Copy link

kngharv commented Sep 15, 2020

Dear all:

I am using a laptop in attempt to connect two monitors, which one of them I've decided that I want to connect via the Displaylink hub in attempt to lighten the load on my USB/3.0. My laptop has a intel AND a low-end nvidia GPU built in.

I installed displaylink driver using displaylink-debian without issue. Everything seems to work:

[Tue Sep 15 14:18:59 2020 <    1.196183>] evdi: [D] evdi_painter_connect:738 (dev=-1) Process is trying to connect
[Tue Sep 15 14:18:59 2020 <    0.000005>] evdi: [I] Task 15697 (DesktopManagerE) of process 15684 (DisplayLinkMana)
[Tue Sep 15 14:18:59 2020 <    0.000008>] evdi: [D] evdi_painter_connect:788 (dev=0) Connected with 000000002664e0aa
[Tue Sep 15 14:18:59 2020 <    0.000005>] evdi: [D] evdi_detect:90 (dev=0) poll connector state: connected
[Tue Sep 15 14:18:59 2020 <    0.084878>] evdi: [D] evdi_detect:94 (dev=0) poll connector state: disconnected
[Tue Sep 15 14:18:59 2020 <    0.000037>] evdi: [D] evdi_detect:94 (dev=0) poll connector state: disconnected
[Tue Sep 15 14:18:59 2020 <    0.000136>] evdi: [D] evdi_detect:94 (dev=0) poll connector state: disconnected
[Tue Sep 15 14:18:59 2020 <    0.000028>] evdi: [D] evdi_detect:94 (dev=0) poll connector state: disconnected
[Tue Sep 15 14:18:59 2020 <    0.000115>] evdi: [D] evdi_detect:94 (dev=0) poll connector state: disconnected
[Tue Sep 15 14:18:59 2020 <    0.000029>] evdi: [D] evdi_detect:94 (dev=0) poll connector state: disconnected
[Tue Sep 15 14:18:59 2020 <    0.000110>] evdi: [D] evdi_detect:90 (dev=0) poll connector state: connected
[Tue Sep 15 14:18:59 2020 <    0.000003>] evdi: [D] evdi_painter_get_edid_copy:228 (dev=0) EDID valid
[Tue Sep 15 14:18:59 2020 <    0.000134>] evdi: [D] evdi_detect:90 (dev=0) poll connector state: connected
[Tue Sep 15 14:18:59 2020 <    0.000003>] evdi: [D] evdi_painter_get_edid_copy:228 (dev=0) EDID valid

Output from xrandr --listproviders

$ xrandr --listproviders
Providers: number : 6
Provider 0: id: 0x44 cap: 0x0 crtcs: 3 outputs: 2 associated providers: 0 name:modesetting
Provider 1: id: 0x163 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 2: id: 0x141 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 3: id: 0x11f cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 4: id: 0xfd cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 5: id: 0xdb cap: 0x4, Source Offload crtcs: 0 outputs: 0 associated providers: 0 name:nouveau

Yet, the monitor attached to the usb/3.0 hub (Dell D3100 with Displaylink DL-5910 chipset) doesn't seems to work.

I almost want to say my the display via displaylink failed to detect, but upon close examination, SOMETHING managed to detect that 2 external monitors were detected (the monitor connected via displaylink is the card0-DVI-I-1 deice)

$ ls /sys/class/drm/*/status | xargs -I {} -i bash -c "echo -n {}: ; cat {}"
/sys/class/drm/card0-DVI-I-1/status:connected
/sys/class/drm/card1-DVI-I-2/status:disconnected
/sys/class/drm/card2-DVI-I-3/status:disconnected
/sys/class/drm/card3-DVI-I-4/status:disconnected
/sys/class/drm/card4-eDP-1/status:connected
/sys/class/drm/card4-HDMI-A-1/status:connected

On top of it, during the login process, gdm3 seems to detect the 2nd external monitor thus painted the background color to the 20.04 dark purple.

Once I log into gnome-shell, though, it seems that xrandr can't detect the 2nd external monitor. Here is the exerpt of xrandr -q.

$ xrandr -q|egrep -v ^\ 
Screen 0: minimum 320 x 200, current 3360 x 2560, maximum 16384 x 16384
eDP-1 connected primary 1920x1080+0+1103 (normal left inverted right x axis y axis) 344mm x 194mm
HDMI-1 connected 1440x2560+1920+0 left (normal left inverted right x axis y axis) 597mm x 336mm

In attempt to solve the problem, I manually edited 20-displaylink.conf file. The result is that there are a lot more error in dmesg:

[D] evdi_add_devices:156 Increasing device count to 4
[D] evdi_crtc_init:389 drm_crtc_init: 0 p0000000035f0a34a
[D] evdi_crtc_init:389 drm_crtc_init: 0 p000000008832db39
[D] evdi_crtc_init:389 drm_crtc_init: 0 p00000000c49f028e
[D] evdi_crtc_init:389 drm_crtc_init: 0 p00000000e2ca9527
[D] evdi_detect:90 (dev=0) poll connector state: connected
[D] evdi_detect:94 (dev=0) poll connector state: disconnected
[D] evdi_driver_postclose:133 (dev=0) Process tries to close us, postclose
[D] evdi_log_pixel_format:680 pixel format XR24 little-endian (0x34325258)
[D] evdi_painter_connect:738 (dev=0) Process is trying to connect
[D] evdi_painter_connect:788 (dev=0) Connected with 0000000032bf0dca
[D] evdi_painter_dpms_notify:654 (dev=0) Notifying dpms mode: 0
[D] evdi_painter_dpms_notify:654 (dev=0) Notifying dpms mode: 3
[D] evdi_painter_framebuffer_size:581 Scanout buffer not set.
[D] evdi_painter_get_edid_copy:228 (dev=0) EDID valid
[D] evdi_painter_mark_dirty:608 (dev=0) Skip clip rect. Scanout buffer not set.
[D] evdi_painter_mode_changed_notify:701 (dev=0) Notifying mode changed: 1280x1024@60; bpp 32; 
[I] Atomic driver:yes
[I] Initialising logging on level 5
[I] Task 1621 (gpu-manager) of process 1621 (gpu-manager)
[I] Task 1808 (DesktopManagerE) of process 1789 (DisplayLinkMana)
[I] Task 2340 (gnome-s:disk$0) of process 2217 (gnome-shell)
[I] Task 3700 (Xorg.wrap) of process 3700 (Xorg.wrap)
loading out-of-tree module taints kernel.
module verification failed: signature and/or required key missing - tainting kernel
[W] evdi_painter_send_event:307 Painter is not connected!
[W] evdi_painter_send_update_ready_if_needed:645 Painter does not exist!

Is there anything else I can try?

thanks in advance.

(The below is the displaylink-debian debug info)

--------------- Linux system info ----------------

Distro: Ubuntu
Release: focal
Kernel: 5.4.0-47-generic

---------------- DisplayLink info ----------------

Driver version: 1.7.0
DisplayLink service status: up and running
EVDI service version: 1.7.0

------------------ Graphics card -----------------

Vendor: i915
Subsystem: 530
VGA: Intel Corporation HD Graphics 530 (rev 06)
VGA (3D): NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)
X11 version: 1.20.8-2ubuntu2.4
X11 configs: /etc/X11/xorg.conf /etc/X11/xorg.conf.d/20-displaylink.conf

-------------- DisplayLink xorg.conf -------------

File: /etc/X11/xorg.conf.d/20-displaylink.conf
Contents:
 Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection

Section "Device"
    Identifier "intel"
    Driver "modesetting"
    Option "AccelMethod" "None"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection


Section "Device"
    Identifier "nvidia"
##  manually changed from "nvidia" to "nouveau" b
    Driver "nouveau"
#    Option "ConstrainCursor" "off"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration" "on"
    Option "IgnoreDisplayDevices" "CRT"
EndSection


## manually added per displaylink-debian troubleshooting page
Section "OutputClass"
    Identifier  "DisplayLink"
    MatchDriver "evdi"
    Driver      "modesetting"
    Option      "AccelMethod" "none"
EndSection

-------------------- Monitors --------------------

Providers: number : 6
Provider 0: id: 0x44 cap: 0x0 crtcs: 3 outputs: 2 associated providers: 0 name:modesetting
Provider 1: id: 0x163 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 2: id: 0x141 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 3: id: 0x11f cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 4: id: 0xfd cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 5: id: 0xdb cap: 0x4, Source Offload crtcs: 0 outputs: 0 associated providers: 0 name:nouveau
@kngharv
Copy link
Author

kngharv commented Sep 22, 2020

I never resolve the problem despite I have successfully installed the driver.

However, I kind of gotten around the problem by switching to Wayland instead of X11.

Wayland detected the monitor without issue.

Since I know nothing about Wayland, I am not sure why Wayland worked but X11 does not.

If anyone who managed to figure out how to get X11 to work, please let me know.

@kngharv kngharv changed the title failed to detect external monitor vis usb/3.0 (Ubuntu/20.04, intel/nvidia + Displaylink DL-5910 chipset dock) failed to detect external monitor via usb/3.0 (Ubuntu/20.04, intel/nvidia + DL-5910 chipset) when Xorg Sep 24, 2020
@kngharv kngharv changed the title failed to detect external monitor via usb/3.0 (Ubuntu/20.04, intel/nvidia + DL-5910 chipset) when Xorg failed to detect external monitor via usb/3.0 (Ubuntu/20.04, intel/nvidia + DL-5910 chipset) when Xorg is used Sep 24, 2020
@kngharv
Copy link
Author

kngharv commented Oct 8, 2020

solution found:
#469

@kngharv kngharv closed this as completed Oct 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant