You are not logged in.

#1 2019-04-10 11:16:57

axelgenus
Member
From: Italy
Registered: 2007-04-15
Posts: 100
Website

[SOLVED] External monitor native resolution not available

Hi guys,
I am experiencing an issue with Linux in general (I also tried Fedora 30 Beta) which does not seem to be related to kernel version either (I tried booting Arch with linux-lts kernel). I have a DELL laptop and a DELL ultrawide monitor (U2917W). The laptop works flawlessy but when I connect the external monitor to the HDMI port, the best resolution available is 1920x1080. The monitor native resoluton is 2560x1080 which does not even appear in the GNOME display settings.

Following the wiki I disabled Wayland, I found the correct modeline with cvt and I add/set it with XRandR. It works but it's temporary and I really would like it to be set correctly from the beginning (in the console). According to the wiki this can be achieved by forcing the mode and EDID from the kernel command-line. The EDID I extract with

get-edid -i | parse-edid

seems to be valid so I don't get why I need to forcefully apply it. Also, being an external monitor, I need it to work as a plug-n-play device and I also use other monitors... how can I solve this issue?

PS: I am using Arch on another machine (a desktop PC) which connects to the same monitor through HDMI and it detects the correct resolution. I guess the problem is due to the screen mirroring that gets automatically applied by KMS.

Last edited by axelgenus (2019-08-17 09:04:21)

Offline

#2 2019-04-10 11:41:43

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,944

Re: [SOLVED] External monitor native resolution not available

If you do force the edid on the laptop for testing purposes, does X see the 2560x1080 resolution ?

If not, the problem is not with the edid.

Which videocards / drivers are in the laptop and desktop ?


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Online

#3 2019-04-21 06:32:27

axelgenus
Member
From: Italy
Registered: 2007-04-15
Posts: 100
Website

Re: [SOLVED] External monitor native resolution not available

Lone_Wolf wrote:

If you do force the edid on the laptop for testing purposes, does X see the 2560x1080 resolution ?

I just forced the resolution with xrandr and it did work. The problem is NOT the EDID because I have another PC attached with Arch and the monitor native resolution is there.

Lone_Wolf wrote:

Which videocards / drivers are in the laptop and desktop ?

It is an Intel UHD 630. Arch uses KMS natively but I also tried using the xf86-video-intel driver to no avail.

Offline

#4 2019-04-21 07:28:48

seth
Member
Registered: 2012-09-03
Posts: 51,456

Re: [SOLVED] External monitor native resolution not available

Please post your xorg log (it should record the gathered and omitted resolutions)
Do you use the same HDMI cablefor both machines? If not: did you try to swap them?

Offline

#5 2019-08-17 08:52:01

axelgenus
Member
From: Italy
Registered: 2007-04-15
Posts: 100
Website

Re: [SOLVED] External monitor native resolution not available

Ok guys, I finally found a stable solution for this issue so I am setting the thread as SOLVED. Sorry for the (very) late response but in the meanwhile I was very busy and used a Bash script in order to set the monitor resolution manually every time I logged in.

I thought that explaining what I did could be useful to other so here it comes. I am going to refer to my specific configuration but the information should be useful anyways.

PREPARATION
1) Include the "i2c-dev" and your video card module in /etc/makecpio.conf. Mine looks like this: "MODULES=(i2c-dev i915)".
2) Disable Wayland, if it is enabled. Unfortunately I could not find a way to force the screen resolution with it. I am using GDM so it is quite easy: edit /etc/gdm/custom.conf and uncomment the line "WaylandEnable=false".
3) Make sure you are using the correct drivers for your adapter/s. My workstation has only an Intel UHD 620. I could use xf86-video-intel but I just went with plain KMS.
4) Install read-edid package. This is instrumental to finding the correct modeline for your monitor.

Running

xrandr --listmonitors

produces the following output:

Monitors: 2
 0: +*HDMI-1 2560/673x1080/284+864+0  HDMI-1
 1: +eDP-1 864/344x486/194+0+594  eDP-1

Running

get-edid | parse-edid

produces the following output:

This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
No EDID on bus 0
No EDID on bus 2
No EDID on bus 5
3 potential busses found: 1 3 4
Will scan through until the first EDID is found.
Pass a bus number as an option to this program to go only for that one.
256-byte EDID successfully retrieved from i2c bus 1
If this isn't the EDID you were looking for, consider the other potential busses.
Looks like i2c was successful. Have a good day.
Checksum Correct

followed by an auto-generated monitor section for xorg.conf.

BEWARE: get-edid only shows the first EDID available scanning through VBE and I2C interfaces and busses. If you have multiple monitors you may have to use the "-b N" option in order to get the EDID of the correct monitor (see the manpage).

I copied the auto-generated monitor section into a new file I called 10-monitors.conf and put it into /etc/X11/xorg.conf.d directory. I had to make a small change: in order for Xorg to understand that the monitor section refers to the correct monitor you have to put the xrandr sink name as identifier. In my specific case the auto-generated identifier was "DELL U2917W" and I had to change it to "HDMI-1" (see the xrandr output I copied before). Hyphens are important! Intel driver use HDMI1 as sink name whilst KMS driver use HDMI-1. VendorName and ModelName are also used in order to use the correct configuration for the monitor so, don't delete them, especially if you are using a laptop and connect it to other monitors. For some strange reason, the auto-generated monitor section put FHD resolution as preferred, so I had to edit it: the resolution I wanted to use (2560x1080) was "Mode 0" so I put that as PreferredMode option value.

Reboot and it should be done.

Offline

#6 2019-08-17 09:00:06

axelgenus
Member
From: Italy
Registered: 2007-04-15
Posts: 100
Website

Re: [SOLVED] External monitor native resolution not available

In my specific case I have an EDID which is actually valid.

The problem is that EDID 1.3 does not define a matching aspect ratio for ultrawide monitors in STI (Standard Timing Information):

pixel ratio:
 00=16:10;
 01=4:3;
 10=5:4;
 11=16:9.
EDID versions prior to 1.3 defined 00 as ratio 1:1.

so no correct STI could be used. Anyways the native monitor resolution was there in DTD (Detailed Timing Descriptor) and also with wxEDID's DTD Constructor I was able to find the correct modeline:

"2560x1080x60.00" 185.58 2560 2624 2688 2784 1080 1083 1093 1111

get-edid extracted the native resolution correctly so I just had to made the corresponding modeline the preferred one.

Last edited by axelgenus (2019-08-17 09:04:04)

Offline

Board footer

Powered by FluxBB