PDA

View Full Version : skewed rotated distorted image


lenovouser
11-11-2018, 06:11 AM
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/issues/129#issuecomment-437601509

https://s3.eu-central-1.amazonaws.com/picshare11/displaylink/lt1421.jpg

https://s3.eu-central-1.amazonaws.com/picshare11/displaylink/printscreen.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, 09: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).

$ 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 (https://i.imgur.com/WUSmaGn.jpg)

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

When I use a lower resolution like 1024x768, the screen works just fine:
https://i.imgur.com/omAX18pl.jpg (https://i.imgur.com/omAX18p.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 (https://vimeo.com/339206961)

Any help would be highly appreciated!

— Jan

jei
07-09-2019, 06: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.


#!/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 (https://vimeo.com/339206961) on non-DisplayLink screens.

— Jan

jbrock
08-14-2019, 05:03 PM
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 (https://github.com/AdnanHodzic/displaylink-debian) 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.)



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.


#!/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 (https://vimeo.com/339206961) on non-DisplayLink screens.

— Jan

retrodaredevil
09-04-2019, 02: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, 05:49 PM
The workaround is the script above posted by jei. It will give you 1360x768. Please post if you need help in running it.

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, 09:11 AM
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.




#!/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:


chmod +x fixresolution.sh
./fixresolution.sh