i915 does not expose vendor-specific extended HDMI timings/modes

Bug #1890418 reported by Leo Ramakersuca
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Incomplete
Undecided
Unassigned
xorg-server (Ubuntu)
New
Undecided
Unassigned

Bug Description

I have a Toshiba radius 11 laptop which has a 4 k native screen. I have connected an Asus PB287Q 28" external monitor (https://www.asus.com/us/Commercial-Monitors/PB287Q/specifications/) over HDMI which displays the full 4K resolution when running under windows10 but will only reach a maximum resolution of 1920x1080 under ubuntu 20.04, same hardware just dual booting. Under Monitor Preferences this monitor is detected as an "Ancor Communications inc 28" and the monitor preferences provides a number of resolution steps up to 1920. If I issue "xrandr --addmode HDMI-1 3840x2160" this resolution is added to the monitor preferences pick list but attempting to apply it results in "the selected configuration for displays could not ..." message

Tags: focal
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Please run this command to attach more information about the system:

  apport-collect 1890418

Please also run these commands:

  lspci -k > lspcik.txt
  journalctl -b0 > journal.txt
  xrandr --verbose > xrandr.txt

and attach the resulting text files here.

tags: added: focal
Changed in mutter (Ubuntu):
status: New → Incomplete
Revision history for this message
Leo Ramakersuca (leo-ramakers) wrote :
Revision history for this message
Leo Ramakersuca (leo-ramakers) wrote :
Revision history for this message
Leo Ramakersuca (leo-ramakers) wrote :
Revision history for this message
Leo Ramakersuca (leo-ramakers) wrote :

Done. Thanks

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Thanks. The file xrandr.txt indeed shows the HDMI connection is limited to 1920x1080. It also shows that's the "current" mode but it lists no "preferred" mode, which does support the idea that the monitor can do higher resolution...

The manufacturer's specs mention that 4K is limited to 30Hz over HDMI. But that should be fine. It just means the monitor can't do HDMI 2.0. Most likely the monitor only supports HDMI 1.3 or 1.4.

I think the main problem here is probably the HDMI cable. If it can only handle HDMI 1.2 or lower then you will not see the 3840×2160 30Hz option. So I suggest getting a newer cable that supports at least HDMI 1.3.

Why Windows 10 doesn't have the same issue, I don't know.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :
Download full text (6.2 KiB)

Actually the problem might just be that the Linux kernel doesn't understand extended vendor-specific display timings. I've decoded your monitor's EDID and it reveals that 3840x2160 30Hz is mentioned:

edid-decode (hex):

00 ff ff ff ff ff ff 00 04 69 a3 28 24 51 00 00
0e 1b 01 03 80 3e 22 78 3a 1c b5 a3 57 4f a0 27
0d 50 54 bf ef 00 d1 c0 81 40 81 80 95 00 b3 00
71 4f 81 c0 01 01 04 74 00 30 f2 70 5a 80 b0 58
8a 00 6d 55 21 00 00 1a 02 3a 80 18 71 38 2d 40
58 2c 45 00 6d 55 21 00 00 1e 00 00 00 fd 00 1e
50 18 a0 1e 00 0a 20 20 20 20 20 20 00 00 00 fc
00 41 53 55 53 20 50 42 32 38 37 51 0a 20 01 83

02 03 2c f1 51 01 02 03 11 12 13 04 14 05 0e 0f
1d 1e 1f 90 20 22 23 09 17 07 83 01 00 00 6d 03
0c 00 20 00 00 3c 20 00 60 01 02 03 56 5e 00 a0
a0 a0 29 50 30 20 35 00 6d 55 21 00 00 1e e2 68
00 a0 a0 40 2e 60 30 20 36 00 6d 55 21 00 00 1a
01 1d 00 bc 52 d0 1e 20 b8 28 55 40 6d 55 21 00
00 1e 8c 0a d0 90 20 40 31 20 0c 40 55 00 6d 55
21 00 00 18 00 00 00 00 00 00 00 00 00 00 00 5e

----------------

EDID version: 1.3
Manufacturer: ACI Model 10403 Serial Number 20772
Made in week 14 of 2017
Digital display
Maximum image size: 62 cm x 34 cm
Gamma: 2.20
DPMS levels: Off
Undefined display color type
First detailed timing is preferred timing
Color Characteristics
  Red: 0.6367, 0.3408
  Green: 0.3115, 0.6250
  Blue: 0.1542, 0.0537
  White: 0.3134, 0.3291
Established Timings I & II
    720x400 70.082 Hz 9:5 31.467 kHz 28.320 MHz (IBM)
    640x480 59.940 Hz 4:3 31.469 kHz 25.175 MHz (DMT)
    640x480 66.667 Hz 4:3 35.000 kHz 30.240 MHz (Apple)
    640x480 72.809 Hz 4:3 37.861 kHz 31.500 MHz (DMT)
    640x480 75.000 Hz 4:3 37.500 kHz 31.500 MHz (DMT)
    800x600 56.250 Hz 4:3 35.156 kHz 36.000 MHz (DMT)
    800x600 60.317 Hz 4:3 37.879 kHz 40.000 MHz (DMT)
    800x600 72.188 Hz 4:3 48.077 kHz 50.000 MHz (DMT)
    800x600 75.000 Hz 4:3 46.875 kHz 49.500 MHz (DMT)
    832x624 74.551 Hz 4:3 49.726 kHz 57.284 MHz (Apple)
   1024x768 60.004 Hz 4:3 48.363 kHz 65.000 MHz (DMT)
   1024x768 70.069 Hz 4:3 56.476 kHz 75.000 MHz (DMT)
   1024x768 75.029 Hz 4:3 60.023 kHz 78.750 MHz (DMT)
   1280x1024 75.025 Hz 5:4 79.976 kHz 135.000 MHz (DMT)
Standard Timings
   1920x1080 60.000 Hz 16:9 67.500 kHz 148.500 MHz (DMT)
   1280x960 60.000 Hz 4:3 60.000 kHz 108.000 MHz (DMT)
   1280x1024 60.020 Hz 5:4 63.981 kHz 108.000 MHz (DMT)
   1440x900 59.887 Hz 16:10 55.935 kHz 106.500 MHz (DMT)
   1680x1050 59.954 Hz 16:10 65.290 kHz 146.250 MHz (DMT)
   1152x864 75.000 Hz 4:3 67.500 kHz 108.000 MHz (DMT)
   1280x720 60.000 Hz 16:9 45.000 kHz 74.250 MHz (DMT)
Detailed mode: Clock 297.000 MHz, 621 mm x 341 mm
               3840 4016 4104 4400 (176 88 296)
               2160 2168 2178 2250 ( 8 10 72)
               +hsync -vsync
               VertFreq: 30.000 Hz, HorFreq: 67.500 kHz
Detailed mode: Clock 148.500 MHz, 621 mm x 341 mm
               1920 2008 2052 2200 ( 88 44 148)
               1080 1084 1089 1125 ( 4 5 36)
               +hsync +vsync
               VertFreq: 60.000 Hz...

Read more...

affects: mutter (Ubuntu) → xorg-server (Ubuntu)
summary: - External monitor will not display to 4k
+ i915 does not expose vendor-specific extended HDMI timings/modes
Changed in xorg-server (Ubuntu):
status: Incomplete → New
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

This might have been fixed in the Intel graphics driver in a newer kernel. Can you please test this one?

https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.8/

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Please also run this command:

  grep . /sys/class/drm/*/modes > kernel-modes.txt

and attach the resulting text file here.

Changed in linux (Ubuntu):
status: New → Incomplete
Changed in xorg-server (Ubuntu):
status: New → Incomplete
Revision history for this message
Leo Ramakersuca (leo-ramakers) wrote :

Thanks for your work

I just bought and tried a new 4K hdmi cable, with no change. I noticed that the monitor has TWO inputs, HDMI and HDMI/MHL (it had been plugged into HDMI) but switching this to HDMI/MHL gave no result.

I am using MATE but the same issue occurs in several flavours of Ubuntu that I have tried.

I dont know how to try the new kernel at
https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.8/ as you requested. If I attempt to ask Gdebi to load the linux-image-unsigned-5.8.0-050800-generic_5.8.0-050800.202008022230_amd64.deb package from https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.8/amd64/ it fails with unmet dependencies.

kernel-modes.txt is attached

Revision history for this message
Leo Ramakersuca (leo-ramakers) wrote :

Regarding HDMI version the spec which I gave a link to claims;
True Resolution : 3840x2160 at 60Hz (DisplayPort) ,3840x2160 at 30Hz (HDMI)

Some while ago I was researching this issue and found a specification page on the ASUS website which showed two formats for declaring the frame rate, one extended only to the 1920 value while the other went to the full 4K. From this I deduced that perhaps windows uses one report format while linux uses the other. I cannot locate that page now, it may have been taken down.

Revision history for this message
Leo Ramakersuca (leo-ramakers) wrote :

I found the information, at section 3.4 of the manual https://dlcdnets.asus.com/pub/ASUS/LCD%20Monitors/PB287/PB287Q_English.pdf where VESA / IBM Modes Support Timing (DP/HDMI) reaches 4k but CEA-861 Formats Supported Timing (HDMI/MHL) only reach 1920

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

The attachment in comment #10 confirms the problem is happening at a low level in the kernel. Although Xorg could override that if it was smart enough. In theory you can do it manually but would need to become an expert at crafting modeline entries to get it working. I don't know how myself. If that's possible then the data you need is in comment #7.

Obviously Windows 10 demonstrates that it is possible to support this monitor with this HDMI port. Only Linux does not yet...

As a workaround, if you have a USB-C port and an appropriate cable/adapter then you might be able to use the DisplayPort on the monitor. If that works then it should give different timings and might provide the 4K option... also at 60Hz instead of just 30Hz.

Changed in linux (Ubuntu):
status: Incomplete → New
Changed in xorg-server (Ubuntu):
status: Incomplete → New
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1890418

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

To test kernel 5.8 you need to download all these packages EXCEPT the "lowlatency" ones:

  https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.8/amd64/

and then install them all at once:

  sudo dpkg -i *.deb

Revision history for this message
Leo Ramakersuca (leo-ramakers) wrote :

Daniel I successfully ran the dpkg process as you illustrated but it then failed to boot, so now I must manually selected the 5.4 version in order to get to this boot. Is there a way to reverse that?

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Yes, find the new packages' names:

  dpkg -l | grep 5.8.0-050800

and then purge them:

  sudo dpkg -P ...

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.