DisplayLink working on X11 but not WayLand

Dear everyone, I just bought an external DisplayLink monitor for my laptop.

Unfortunately, it works only in i3, where I can activate the display with xrandr.
In hyprland, it doesn’t. The screen stay black forever. I tried to install hyprland-displaylink-git, which patches hyprland to detect displaylink monitors, without success.

I currently have linux-lts, and use evdi-compat-git.

I used to have nvidia drivers (installed through nvidia-inst) v525.X. But I also tried on 530 and 535. Now, I even tried to come back to nouveau driver, the display still work with i3 but not hyprland.

systemctl status displaylink says enabled and active
dmesg | grep -E 'usb|evdi' says: https://pastebin.com/u0fVAgVV

I’m a bit clueless…
Do you have any idea?

Thank you,
Clément

What does this mean without success? You are unsuccessful in installing the package or after installing it you still were unsuccessful in getting displaylink to work? I’m not experienced with hyperland but i do use Wayland on Kde Plasma.

Sorry for the unclear formulation. I mean, I can install the patched version, the command hyprctl monitor correctly list both e-DP1 and DVI-I-1 (displaylink screen), and it says hyprland has attributed workspace 2 to the displaylink screen. But, the screen stays black, exactly like for i3 prior to the activation of the screen using arandr.

Using the nouveau driver, hyprctl monitor doesn’t even list DVI-I-1 anymore, but it still works using i3.

Did you set a monitor file for Hyperland?

Edit:

Edit2: I have helped some getting display-link working but have no experience with Hyperland.

Yes, I actually copied the config I use for my HDMI screen which look like this:
monitor=DVI-I-1, 1920x1080, 1920x0, 1

Edit: maybe I should try using another wm using wayland?

Does it show the monitors in Hyperland

hyprctl monitors

It shows in the link i posted an example:

monitor=name,resolution,position,scale
monitor=DP-1,1920x1080@144,0x0,1

Edit: Just questioning if this is wrong

monitor=DVI-I-1, 1920x1080,1920x0, 1
:point_up:

Are you using this one?

https://aur.archlinux.org/packages/hyprland-displaylink-git

It shows the screen with nvidia drivers, not with nouveau
And yes the config works, at least for the other screen I use, I just changed the name of the screen

Is nvidia installed properly?

inxi -Ga

Yes I am,
And nvidia drivers are correctly installed. My computer is off right now so I can’t paste the output, but I’m using cuda and cudnn successfully, plus nvidia-smi shows the card with its power usage etc., so I believe it’s okay. I just had an issue with GBM_BACKEND=nvidia-drm, but downgrading to 525 solved the issue

1 Like

I was referring to this in the monitor config as it doesn’t seem right to me.

Just some info…

https://wiki.gentoo.org/wiki/Hyprland#Display_configuration

For testing purposes, I went back to nvidia drivers:

inxi -Ga

  Device-1: Intel CometLake-H GT2 [UHD Graphics] vendor: Dell driver: i915
    v: kernel arch: Gen-9.5 process: Intel 14nm built: 2016-20 ports:
    active: eDP-1 empty: DP-1, DP-2, DP-3, HDMI-A-1, HDMI-A-2 bus-ID: 00:02.0
    chip-ID: 8086:9bc4 class-ID: 0300
  Device-2: NVIDIA GP107GLM [Quadro P620] vendor: Dell driver: nvidia
    v: 525.89.02 alternate: nouveau,nvidia_drm non-free: 535.xx+
    status: current (as of 2023-07) arch: Pascal code: GP10x
    process: TSMC 16nm built: 2016-21 pcie: gen: 1 speed: 2.5 GT/s lanes: 16
    link-max: gen: 3 speed: 8 GT/s bus-ID: 01:00.0 chip-ID: 10de:1cbd
    class-ID: 0302
  Device-3: Realtek Integrated_Webcam_HD driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-11:3 chip-ID: 0bda:5539
    class-ID: 0e02 serial: 200901010001
  Display: wayland server: X.org v: 1.21.1.8 with: Xwayland v: 23.1.2
    compositor: Hyprland driver: X: loaded: modesetting,nvidia
    alternate: fbdev,intel,nouveau,nv,vesa dri: iris gpu: i915,nvidia
    display-ID: 1
  Monitor-1: eDP-1 res: 1920x1080 size: N/A modes: N/A
  API: OpenGL v: 4.6.0 NVIDIA 525.89.02 renderer: Quadro P620/PCIe/SSE2
    direct-render: Yes

hyprctl monitors

Monitor eDP-1 (ID 0):
	1920x1080@59.999001 at 1080x1080
	description: BOE 0x0869 (eDP-1)
	make: BOE
	model: 0x0869
	serial: 
	active workspace: 1 (1)
	special workspace: 0 ()
	reserved: 0 39 0 0
	scale: 1.00
	transform: 0
	focused: yes
	dpmsStatus: 1
	vrr: 0

Monitor DVI-I-1 (ID 1):
	1920x1080@60.000000 at 0x0
	description: ASUSTek COMPUTER INC MB16A R2LMQS067280 (DVI-I-1)
	make: ASUSTek COMPUTER INC
	model: MB16A
	serial: R2LMQS067280
	active workspace: 2 (2)
	special workspace: 0 ()
	reserved: 0 0 0 0
	scale: 1.00
	transform: 3
	focused: no
	dpmsStatus: 1
	vrr: 0

And my current hyprland monitor config:

monitor = eDP-1,	1920x1080@60, 1080x1080,	1				# Main
monitor = DVI-I-1,	1920x1080@60, 0x0,		1,	transform,	3	# DisplayLink
monitor = DP-1,		1920x1080@60, 0x0,		1,	transform,	3	# Station F
monitor = DP-3,		1920x1080@60, 3000x1080,	1				# NS
monitor = DP-4,		1920x1080@60, 0x0,		1,	transform,	3	# Station F
monitor = DP-5,		1920x1080@60, 0x0,		1,	transform,	3	# Station F

All “DP-X” screens are working, not the DisplayLink. Interestingly, I installed KDE Plasma, and DisplayLink works both using Plasma (X11) and Plasma (Wayland), but the strange thing is that in Plasma (Wayland), arandr can monitor the screens, thus I can activate DVI-I-1 and place it where I want. Under hyprland, arandr can’t do that as I only see a HL-X11-0 screen.

Are you sure you don’t need to blacklist nouveau?

/etc/modprobe.d/nouveau.conf

blacklist nouveau
options nouveau modeset=0

Okay that’s weird, I have another kernel (xanmod, based on Linux 6.4.4), and switching from LTS to this one, DisplayLink now work on hyprland. So I believe this might be a compatibility issue between evdi and linux lts?

I’m very sorry to have bothered you for such a dumb issue, I should have checked with another kernel earlier…

I hope it’ll help other people :slight_smile:

Well honestly I’m not a big believer in using an lts kernel unless it can be proven that it is necessary to alleviate a hardware issue that can’t be solved by any other means. I never us an lts kernel … unless i have to.

1 Like

Next time, I’ll keep that in mind! But that’s definitely an argument in your direction :slight_smile: anyway, thanks a lot for your time and help!

While I have they opposite approach, prefer the lts kennel unless I need bleeding edge features, as I prefer bleeding less. The good thing is we get to choose.

1 Like

Yes you do. But i don’t use old hardware and i choose my hardware specifically to alleviate issues on Linux. I have no need to use an lts kernel ever. It defeats the purpose of running a rolling release OS.

Sounds like we have very different requirements. I don’t have particularly old hardware, but rarely have anything but basic vga etc hardware support requirements, so recent kernels just cause unnecessary flux and with flux comes opportunities for breakage. Kernel wise I am interested in zfs support, and in filesystems slow uptake of tested modules is far more important if you don’t want corrupted data. I’m more interested in the non kernel software up to date, so I disagree that lts kernel negates the purpose of a rolling release, as it is just one small, but obviously necessary, part of the total software package.