AdnanHodzic / displaylink-debian

DisplayLink driver installer for Debian and Ubuntu based Linux distributions.
https://foolcontrol.org/?p=1777
GNU General Public License v3.0
1.29k stars 229 forks source link

Displays are not displaying anything on Ubuntu 20 VM #684

Closed kaangoksal closed 2 years ago

kaangoksal commented 2 years ago

here is my debug output, basically the display is off, I can't get any video on the display connected to DisplayLink Device.

root@ubuntu-display-test:/home/ubuntu/displaylink-debian# displaylink-installer --debug
DisplayLink Linux Software 5.4.1-55.174 install script called: --debug
Distribution discovered: Ubuntu 20.04.3 LTS

Installs DisplayLink Linux Software, version 5.4.1-55.174.
Usage: /usr/bin/displaylink-installer [ install | uninstall ]

The default operation is install.
If unknown argument is given, a quick compatibility check is performed but nothing is installed.
root@ubuntu-display-test:/home/ubuntu/displaylink-debian# ./displaylink-debian.sh --debug

-------------------------------------------------------------------

Starting Debug ...

Did you read Post Installation Guide? http://bit.ly/2TbZleK [y/N] y

Did you read Troubleshooting most common issues? http://bit.ly/2Rofd0x [y/N] y

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

Distro: Ubuntu
Release: focal
Kernel: 5.13.0-28-generic

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

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

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

Vendor: bochs-drm
Subsystem: Device
VGA: Device 1234:1111 (rev 02)
VGA (3D): 
X11 version: 1.20.13-1ubuntu1~20.04.2
X11 configs: /etc/X11/xorg.conf.d/20-displaylink.conf

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

File: /etc/X11/xorg.conf.d/20-displaylink.conf
Contents:
 Section "OutputClass"
    Identifier  "DisplayLink"
    MatchDriver "evdi"
    Driver      "modesetting"
    Option      "AccelMethod" "none"
EndSection

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

Providers: number : 5
Provider 0: id: 0x41 cap: 0x0 crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 1: id: 0xe9 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 2: id: 0xc7 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 3: id: 0xa5 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 4: id: 0x7b cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting

-------------------------------------------------------------------

Use this information when submitting an issue (http://bit.ly/2GLDlpY)

-------------------------------------------------------------------

Troubleshooting steps that are tried;

1) adding a Xorg configuration file at /usr/share/X11/xorg.conf.d

as following:

ubuntu@ubuntu-display-test:~$ cat 20-evidevice.conf 
Section "OutputClass"
        Identifier "DisplayLink"
        MatchDriver "evdi"
        Driver "modesetting"
        Option  "AccelMethod" "none"
EndSection

Interesting reply for this command

ubuntu@ubuntu-display-test:~$ sudo xrandr --setprovideroutputsource 1 0
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  35 (RRSetProviderOutputSource)
  Value in failed request:  0x47
  Serial number of failed request:  19
  Current serial number in output stream:  20
ubuntu@ubuntu-display-test:~$ xrandr --listproviders
Providers: number : 5
Provider 0: id: 0x47 cap: 0x0 crtcs: 4 outputs: 4 associated providers: 0 name:qxl
Provider 1: id: 0xfc cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 2: id: 0xda cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 3: id: 0xb8 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 4: id: 0x8f cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting

This is an ubuntu 20 virtual machine that is running on a proxmox 6 hypervisor. There is a USB3.0 pcie adapter on the server, it has a pcie passthrough to the guest. The display link device is connected to the usb3.0 board.

I can see that displaylink sees my monitor, here is the evidence

ubuntu@ubuntu-display-test:/var/log/displaylink$ ls
'DELL E2414H_DEL4091-VJH9659HAJFU.edid'   FirmwareTrace.log
 DisplayLinkManager.log                   FirmwareTrace.old.log

the logs in that directory is gibberish/encrypted... does anyone know why?

EVDI is chatty on dmesg,

[   35.723203] evdi: [I] (card0) Opened by Task 1887 (Xorg) of process 1887 (Xorg)
[   35.723237] evdi: [I] (card0) Closed by Task 1887 (Xorg) of process 1887 (Xorg)
[   35.729016] evdi: [I] (card0) Connector state: connected
[   35.729053] evdi: [I] (card0) Edid property set
[   35.729429] evdi: [I] (card0) Connector state: connected
[   35.729448] evdi: [I] (card0) Edid property set
[   35.836373] evdi: [I] (card0) Notifying display power state: off
[   36.022574] evdi: [I] (card0) Notifying display power state: off
[   36.463396] psmouse serio1: VMMouse at isa0060/serio1/input0 lost sync at byte 1
[   36.470554] psmouse serio1: VMMouse at isa0060/serio1/input0 - driver resynced.
[   36.550360] psmouse serio1: VMMouse at isa0060/serio1/input0 lost sync at byte 1
[   36.557205] psmouse serio1: VMMouse at isa0060/serio1/input0 - driver resynced.
[   36.636272] psmouse serio1: VMMouse at isa0060/serio1/input0 lost sync at byte 1
[   36.643034] psmouse serio1: VMMouse at isa0060/serio1/input0 - driver resynced.
[   38.884505] psmouse serio1: VMMouse at isa0060/serio1/input0 lost sync at byte 1
[   38.891677] psmouse serio1: VMMouse at isa0060/serio1/input0 - driver resynced.
[   40.840985] rfkill: input handler disabled
[   40.841125] input: spice vdagent tablet as /devices/virtual/input/input6

Any recommendations on how to debug this?

I found some people that got successful with this approach. However I couldnt replicate the success

https://forum.proxmox.com/threads/is-it-possible-to-idg-passthrough-with-hdmi-output.86858/post-383682

also this article gives me hope

https://www.engadget.com/2009-05-18-displaylink-for-linux-turns-a-humble-wireless-router-into-a-beau.html

kaangoksal commented 2 years ago

Just tried the same configuration with a Windows 10 Guest. It works like a charm. No latency, can even watch 1080p youtube videos. This would be amazing if we can sort it out for Linux as well.

kaangoksal commented 2 years ago

The problem is with linux display drivers, they don't have a source output

ubuntu@ubuntu-display-test:~$ xrandr --listproviders
Providers: number : 5
Provider 0: id: 0x47 cap: 0x0 crtcs: 4 outputs: 4 associated providers: 0 name:qxl
Provider 1: id: 0xfc cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 2: id: 0xda cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 3: id: 0xb8 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 4: id: 0x8f cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting

My physical graphics card has source output

$ xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x1b8 cap: 0x1, Source Output crtcs: 4 outputs: 7 associated providers: 0 name:NVIDIA-0
Barabazs commented 2 years ago

Hi @kaangoksal. Your question is unrelated to displaylink-debian and is more appropriate for a forum/stackoverflow concerning xorg configurations.

tristan-k commented 2 years ago

I'm in the same boat as @kaangoksal. Did you find a solution?

kaangoksal commented 2 years ago

@tristan-k

I couldn't, a user on reddit said it worked with Wayland, but I had no success with that. https://www.reddit.com/r/Proxmox/comments/slpthq/physical_video_outputs_for_proxmox_guests_using/hwi8w91/?context=3

what the user said:

I have this working using a Wavlink USB 3.0 to HDMI adaptor. I had to use a Wayland session, then enable autologin and disable the virtual display from proxmox (detected as Red Hat, Inc. QEMU Monitor) in Display configuration on Manjaro KDE

When I tried this, the following happened:

1) I switched the default session to wayland 2) After displaylink drivers got installed, my default session became x11 and I couldn't revert it back to wayland.

end of story.

davidngrc commented 1 year ago

Hi @kaangoksal I have exact the same issue, I was on ubuntu VM. after installing the displaylink driver, it works, it is wayland sessin. then reboot, when try to login to wayland, it will fail and go back to login screen, only login success in X11. I have document what I have try in https://displaylink.org/forum/showthread.php?t=68347 but no one reply. I have try many version, many days, I think it is the displaylink driver, not proxmox, not vm. if anyone would like to fix this issue, let me know, I can help.