evdi icon indicating copy to clipboard operation
evdi copied to clipboard

Screen doesn't update when rotated/reflected

Open ApeironTsuka opened this issue 3 years ago • 8 comments

  • Are you using the latest driver? Yes

  • Are you using the latest EVDI version? Yes; tested a fresh pull of this git, but it also occurred in 1.9.1

  • If you are using a DisplayLink device, have you checked 'troubleshooting' on DisplayLink's website? Yes

  • Is this issue related to evdi/kernel? I think so?

  • Linux distribution and its version: Debian Bookworm/testing

  • Linux kernel version: 5.15.0-2-amd64 (5.15.5-2)

  • Xorg version (if used): 1.20.13

  • Desktop environment in use: Xfce 4.16

  • NVidia proprietary blob driver

When any sort of transform is applied (rotated, reflected, etc), the screen's buffer is no longer updated/refreshed live except when the cursor is moved on the connected display. This can be easily demonstrated by running glxgears on the DisplayLink display, but it isn't limited to OpenGL-based applications.

On 1.9.1, this meant that rotating the screen to the right would cause the screen to "freeze" and only redraw the screen when the cursor was moved. On 1.10.0, the screen only redraws the rectangle of the cursor itself when moved and nothing else.

On both versions, the screen updates fine with no transforms applied.

I unfortunately don't know enough about how the rendering/drawing pipeline works to dig into this myself, and don't really know where to start for learning about it.

ApeironTsuka avatar Jan 14 '22 21:01 ApeironTsuka

Hi, sorry for the wait. Would you mind trying the newest driver and seeing what effect it has on the issue?

Also, if possible, I'd like to know more about your setup (mostly the docking station) ~~and whether changing between x11 and wayland affects the issue.~~

EDIT: Ah, xfce has no Wayland support

displaylink-emajewsk avatar Mar 21 '22 14:03 displaylink-emajewsk

Sorry about that. Meant to do this earlier but it's been a long week.

Tested driver 5.5 from the site as well as using a fresh pull of this repo.

DisplayLink screen set to be right-of main panel. Upon applying a transform, the screen turns black and redraws the full screen only when the cursor is moved while on the DisplayLink screen. Same test as above, using glxgears as a simple redrawing window.

  • The DisplayLink device is an ASUS MB169B+ panel.
  • Kernel 5.16.0-4-amd64 (5.16.12).
  • nvidia proprietary driver version 390.147 (older laptop, this is the nvidia-legacy-390xx driver).
  • Xorg version 1.21.1.3

ApeironTsuka avatar Mar 26 '22 19:03 ApeironTsuka

Currently experiencing the same issues, rendering the monitor completely useless when in a non-landscape mode

evdi version: 1.10.1-2 - built from source displaylink version: 5.5-1


Linux kernel: 5.15.41-1-MANJARO Xorg version: 1.21.1.3 Desktop env: gdm 42 (Gnome) Nvidia driver version (proprietary): 510.73.05

Edit: I said I build the displaylink package from source lol oops.


Update: After reviewing the code in this repo, this doesn't seem to be an issue with evdi but rather the displaylink package. I will reach out to that community

kevinpthorne avatar Jun 03 '22 01:06 kevinpthorne

I'm having the same issue unfortunately.

evdi version: 1.10.1-2 - installed from the latest evdi-git AUR package displaylink version: 5.6-1 - latest version from the AUR


Linux kernel: 5.18.10-arch1-1 Xorg version: 21.1.4-13 Desktop: i3-gaps / lightdm Nvidia driver version (proprietary): 515.57-4 (GPU: Nvidia GeForce RTX 2060 Mobile)

--

currently my xorg evdi config looks like this

Section "OutputClass"
	Identifier "DisplayLink"
	MatchDriver "evdi"
	Driver "modesetting"
	Option "AccelMethod" "none"
EndSection

Landscape monitors are working perfectly fine with no screen-tearing or lags. But any monitor set to vertical rotation is not updating unless there is something on the desktop that is constantly moving or updating. This unfortunately makes vertical monitors basically useless.

Is there any info on how this can be fixed?

kb-elmo avatar Jul 13 '22 12:07 kb-elmo

Same behavior here 😥

microhobby avatar Aug 04 '22 00:08 microhobby

@displaylink-emajewsk could you check with the support team please? I'm almost sure that there is no workaround (or use it in the landscape only mode). Whenever I have to use Linux, I have to change my entire setup to accommodate the third screen in landscape. I'm considering looking for another USB video card vendor.

microhobby avatar Feb 22 '23 15:02 microhobby

So I found a bit of a workaround by accident in Xubuntu 22.04. TL:DR below.

I have the same setup as OP.

Background: I have and Ultrawide (3440x1440) and two 1080p monitors. The 1080p monitors are rotated in portrait, left and right of the Ultrawide. The respective 'top' of each monitor faces out from the center (not sure if it matters, not redoing cable management to find out). The two 1080p monitors are fed from a Displaylink dock. When I put any application on the 1080p monitors the application would only refresh when I was moving my mouse. Sound would play but the application view stays in a frozen state until I move my mouse. Almost like the window is off of the edge of the display not on a screen (this matters later).

FIX: I halfway fixed this through the 'Settings' application going through Window Manager Tweaks->Compositor tab->unchecking 'Enable display compositing'. No restart or Logout, it worked live. This fixes the rotation bug UNLESS the window is hanging off of the outer edge of the display space.

EXAMPLE: So on the right monitor; if the application is hanging off of the right edge (the monitor's respective 'top' in my case) the application still doesn't draw video but audio plays. If it was hanging off of the left edge (lapping over onto the Ultrawide in the center) the application performs normally.

TL;DR Turn off display compositing in settings as a TEMPORARY WORKAROUND until Displaylink fixes this in a decade.

b1g7r33 avatar Mar 05 '23 21:03 b1g7r33