DisplayLink Forum

DisplayLink Forum (https://displaylink.org/forum/index.php)
-   Linux and Open Source (https://displaylink.org/forum/forumdisplay.php?f=29)
-   -   skewed rotated distorted image (https://displaylink.org/forum/showthread.php?t=66356)

lenovouser 11-11-2018 06:11 AM

skewed rotated distorted image
 
hello - I am using the displaylink-rpm for Fedora on a Dell XPS13 with a Lenovo LT1421. I haven't used the USB screen for a few months and updated to the latest Fedora 29 recently. I compiled and installed the latest displaylink-rpm.

The driver seems to be working well except that the image is massively distorted. I have posted the issue on github with evdi and would like to point to it in case someone experience anything in kind

https://github.com/DisplayLink/evdi/...ment-437601509

https://s3.eu-central-1.amazonaws.co...ink/lt1421.jpg

https://s3.eu-central-1.amazonaws.co...rintscreen.png

cacarr 11-29-2018 07:41 AM

I had something like that as well, after an update to 4.4.24-1. Had to remove an evdi.conf config that I had used to enable rotation/portrait orientation. Sadly, vertical orientation no longer works for me, and I have severe mouse pointer artifacts.

Urgh.

jei 05-29-2019 10:07 PM

I have a similar issue with an AOC E1659Fwu. I use Fedora 30 (KDE) and the rpm package from https://github.com/displaylink-rpm/displaylink-rpm: evdi 1.6.1 (displaylink-rpm v5.1.26-1).

Code:

$ uname -r
5.0.16-300.fc30.x86_64

First, I get a similar distorted image when using the native resolution of 1366x768:
https://i.imgur.com/WUSmaGnl.jpg

This is the image the screen is supposed to show:
https://i.imgur.com/BmhYV3Ml.png

When I use a lower resolution like 1024x768, the screen works just fine:
https://i.imgur.com/omAX18pl.jpg

I took the above pictures while the screen was connected to a HP EliteBook 2760p via USB 2.0, but I could reproduce this issue on a similar setup with a ThinkPad T440p (Fedora 30 as well) using USB 3.0.

On both systems, the distortion did not occur a few month ago (when I was on Fedora 28).

A second issue I noticed on both systems is a flickering cursor on the primary (non-DisplayLink) screen, which is rather annoying. I tried to capture it on a video: https://vimeo.com/339206961
https://i.vimeocdn.com/video/787171774.webp?mw=640

Any help would be highly appreciated!

— Jan

jei 07-09-2019 07:33 PM

Hi everyone,

when I tried the new evdi release (1.6.2) today I played around with different resolutions and worked out a workaround for the distortion problem.

My solution is to run the USB monitor at a slightly lower resolution than intended by the specification. I use 1360x768 instead of 1366x768. On my device, this does not lead to a blurred image, the screen works just fine then.

I wrote the following shell script to set up the custom resolution (1360x768). Please adjust the variables in ll. 5-7 to match the correct RandR output (run xrandr without any parameters to find it) and the desired resoultion.

Code:

#!/bin/bash

# Adjust these parameters to your needs.
# These worked for me (AOC E1659Fwu)
OUTPUT="DVI-I-1-1"
HORIZONTAL_RES="1360"
VERTICAL_RES="768"

MODELINE="$(cvt ${HORIZONTAL_RES} ${VERTICAL_RES} | tail -n 1 | awk '{for (i=3; i<=NF; i++) print $i}')"
MODELINE_NAME=$(echo ${MODELINE} | awk '{print $1}' | sed -e 's/^"//' -e 's/"$//')

echo "Modeline:"
echo ${MODELINE_NAME} ${MODELINE}
echo

echo "[*] xrandr --newmode"
xrandr -d :0 --newmode ${MODELINE_NAME} ${MODELINE}

echo "[*] xrandr --addmode (${OUTPUT})"
xrandr -d :0 --addmode "${OUTPUT}" ${MODELINE_NAME}

echo "[*] Set new resolution"
xrandr -d :0 --output "${OUTPUT}" --mode ${MODELINE_NAME}

I'm still interested in any advice to stop my cursor from flickering on non-DisplayLink screens.

— Jan

jbrock 08-14-2019 06:03 PM

Thank you Jan or jei for the workaround script.
 
Hi Jan or jei,

Thank you, Thank you, Thank you, for this workaround script! I am now able to use my AOC e1659Fwu at 1360x768. Before I could only get 1024x768 to work. I am able to get my TOSHIBA PA3923U-2LC3 to work at this resolution as well. (I am going to return the AOC because it was part of my troubleshooting.) I had tried every combination you can imagine with *.conf files in /etc/X11/xorg.conf.d/ to get 1366x768 working. I had tried on Xubuntu 18.04 and Debian 10 with no luck and on multiple computers, with both Intel and AMD graphics. The best resolution I could achieve was 1024x768. Otherwise, 1366x768 looked something like the pictures on this thread. I have had the exact same issue on both monitors I currently have in my possession. I am guessing that this is just a bug that Displaylink needs to resolve.

As for the mouse flickering issue, it is very minimal on my system right now. I have an old Acer laptop (2010 model) with Intel(R) Core(TM) i3 CPU M 350 @ 2.27GHz, with Intel integrated graphics. I am running Debian 10 with Xfce, vanilla install i.e. default kernel etc. I used the AdnanHodzic script to install on Debian. Here is my /etc/X11/xorg.conf.d/ directory. It has two files, 20-displaylink.conf and 20-evdidevice.conf. Perhaps this can help.

Contents of 20-displaylink.conf :
Section "Device"
Identifier "DisplayLink"
Driver "modesetting"
Option "PageFlip" "false"
EndSection

Contents of 20-evdidevice.conf:
Section "OutputClass"
Identifier "DisplayLink"
MatchDriver "evdi"
Driver "modesetting"
Option "AccelMethod" "none"
EndSection

Update: Just a warning that after running the script and arranging my screens, without thinking much, I decided to "Save" my layout in the Xfce Display application. This for some reason broke X when I rebooted. I also did not even have access to a tty. Fortunately though I fixed it via chroot. (If you want this setup every time, add the script to your autostart items for your desktop environment.)



Quote:

Originally Posted by jei (Post 88219)
Hi everyone,

when I tried the new evdi release (1.6.2) today I played around with different resolutions and worked out a workaround for the distortion problem.

My solution is to run the USB monitor at a slightly lower resolution than intended by the specification. I use 1360x768 instead of 1366x768. On my device, this does not lead to a blurred image, the screen works just fine then.

I wrote the following shell script to set up the custom resolution (1360x768). Please adjust the variables in ll. 5-7 to match the correct RandR output (run xrandr without any parameters to find it) and the desired resoultion.

Code:

#!/bin/bash

# Adjust these parameters to your needs.
# These worked for me (AOC E1659Fwu)
OUTPUT="DVI-I-1-1"
HORIZONTAL_RES="1360"
VERTICAL_RES="768"

MODELINE="$(cvt ${HORIZONTAL_RES} ${VERTICAL_RES} | tail -n 1 | awk '{for (i=3; i<=NF; i++) print $i}')"
MODELINE_NAME=$(echo ${MODELINE} | awk '{print $1}' | sed -e 's/^"//' -e 's/"$//')

echo "Modeline:"
echo ${MODELINE_NAME} ${MODELINE}
echo

echo "[*] xrandr --newmode"
xrandr -d :0 --newmode ${MODELINE_NAME} ${MODELINE}

echo "[*] xrandr --addmode (${OUTPUT})"
xrandr -d :0 --addmode "${OUTPUT}" ${MODELINE_NAME}

echo "[*] Set new resolution"
xrandr -d :0 --output "${OUTPUT}" --mode ${MODELINE_NAME}

I'm still interested in any advice to stop my cursor from flickering on non-DisplayLink screens.

— Jan


retrodaredevil 09-04-2019 03:19 AM

Just thought I'd say the generic: "I'm having the same problem." I've had my USB AOC monitor at 1024x768 instead of 1366x768 for a while now.

Once anyone finds a workaround to get me a few pixels back I'd really like that. That extra resolution really helps.

jbrock 09-04-2019 06:49 PM

The workaround is posted on this thread.
 
The workaround is the script above posted by jei. It will give you 1360x768. Please post if you need help in running it.

Quote:

Originally Posted by retrodaredevil (Post 88508)
Just thought I'd say the generic: "I'm having the same problem." I've had my USB AOC monitor at 1024x768 instead of 1366x768 for a while now.

Once anyone finds a workaround to get me a few pixels back I'd really like that. That extra resolution really helps.


edge-case 10-18-2019 10:11 AM

Bash script works great!
 
The bash script worked very well for me and solved my problem, thank you! I wanted to add a few more details for others like me that might not be familiar with running bash scripts.

Step one - take the code below and copy paste it into a text editor, for example, gedit. Then save the file with any name you want, or something like fixresolution.sh.

Save it in a folder that is easy to find or navigate to.

Quote:

Originally Posted by jei (Post 88219)

Code:

#!/bin/bash

# Adjust these parameters to your needs.
# These worked for me (AOC E1659Fwu)
OUTPUT="DVI-I-1-1"
HORIZONTAL_RES="1360"
VERTICAL_RES="768"

MODELINE="$(cvt ${HORIZONTAL_RES} ${VERTICAL_RES} | tail -n 1 | awk '{for (i=3; i<=NF; i++) print $i}')"
MODELINE_NAME=$(echo ${MODELINE} | awk '{print $1}' | sed -e 's/^"//' -e 's/"$//')

echo "Modeline:"
echo ${MODELINE_NAME} ${MODELINE}
echo

echo "[*] xrandr --newmode"
xrandr -d :0 --newmode ${MODELINE_NAME} ${MODELINE}

echo "[*] xrandr --addmode (${OUTPUT})"
xrandr -d :0 --addmode "${OUTPUT}" ${MODELINE_NAME}

echo "[*] Set new resolution"
xrandr -d :0 --output "${OUTPUT}" --mode ${MODELINE_NAME}


Step two - open a terminal (Ctrl-Alt-T), and cd to the same directory where fixresolution.sh is stored. Alternatively, you can navigate to that folder in a window, then right click and choose "Open in terminal"

Step three - in the terminal, type:

Code:


chmod +x fixresolution.sh
./fixresolution.sh



All times are GMT. The time now is 03:50 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.