2nd monitor not at full resolution

Ubuntu Support Template

Ubuntu Version:
Ubuntu 24.04.3 LTS

Desktop Environment (if applicable):
Example: GNOME

Problem Description:
My second monitor can not use full resolution:

I just purchased a Thinkpad T16 Gen4 Intel Core Ultra 5 255U Processor, 32GB ram, with Ubuntu pre-installed (Ubuntu 24.04.3 LTS) Graphics is Intel Graphics (ARL)

I have a 2nd monitor I hooked up to it via HDMI cable:

KOORUI 27 Inch QHD Gaming Monitor 144 Hz, VA, 1ms, DCI-P3 90% Color Gamut, FreeSync G-Sync Compatible, (2560x1440, HDMI, DisplayPort)

Monitor has been working fine for years hooked up to a Thinkpad E15 Gen 2 i3-1115G4 running at the full 2560x1440 resolution. But that thinkpad is having hardware problems, (thus the new thinkpad)

And on the new T16 thinkpad, the highest resolution option available for the KOORUI monitor is 1920x1080. Ugh!

In Settings/Displays the monitor shows as “HKC OVERSEAS LIMITED 27” with option of 1920x1080 at 120hz

Software Updater / Additional Drivers tab shows: “using hardware support for Lenovo ThinkPad T16 Gen 4 from oem-sutton-damian-meta (open source)” There are no other graphics drivers available.

I’ve done a sudo apt-get update, and the system updated fine, but no change in the resolutions available.

I tried booting up in xorg instead of wayland and using xrandr:

$ cvt 2560 1440 144

2560x1440 143.91 Hz (CVT) hsync: 225.66 kHz; pclk: 808.75 MHz

Modeline “2560x1440_144.00” 808.75 2560 2792 3072 3584 1440 1443 1448 1568 -hsync +vsync

$ sudo xrandr --newmode “2560x1440_144.00” 808.75 2560 2792 3072 3584 1440 1443 1448 1568 -hsync +vsync

$ sudo xrandr --addmode HDMI-1 “2560x1440_144.00”

$ sudo xrandr --output HDMI-1 --mode “2560x1440_144.00”

xrandr: Configure crtc 1 failed

Also tried:

$ cvt 2560 1440

2560x1440 59.96 Hz (CVT 3.69M9) hsync: 89.52 kHz; pclk: 312.25 MHz

Modeline “2560x1440_60.00” 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync

$ xrandr --newmode “2560x1440_60.00” 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync

$ sudo xrandr --addmode HDMI-1 “2560x1440_60.00”

$ sudo xrandr --output HDMI-1 --mode “2560x1440_60.00”

xrandr: Configure crtc 1 failed

Same result.

Any advice on what is wrong here and what I need to try?

Thank you very much!

Still struggling with this and could use some help.

When I hook the monitor up to my old e15 I see:

xrandr --verbose  
  
HDMI-1 connected 2560x1440+1920+0 (0x78a) normal (normal left inverted right x axis y axis) 597mm x 336mm  
    Identifier: 0x43  
    Timestamp:  -1355605185  
    Subpixel:   unknown  
    Gamma:      1.0:1.0:1.0  
    Brightness: 1.0  
    Clones:  
    CRTC:       1  
    CRTCs:      0 1 2 3  
    Transform:  1.000000 0.000000 0.000000  
                0.000000 1.000000 0.000000  
                0.000000 0.000000 1.000000  
               filter:  
    EDID:  
        00ffffffffffff002163112701000000  
        18200103803c21782e2d1fa6564fa026  
        0d4f53adcf00d1c0d1fc81809500b300  
        b33c953c81bc6a5e00a0a0a029503020  
        350055502100001a000000fc00323745  
        3151410a202020202020000000fd0030  
        901ef021000a202020202020000000ff  
        0030303030303030303030303031017a  
        020328f149010203049012131f3f2309  
        07078301000065030c001000681a0000  
        01013090ede2007f866f80a070384040  
        30203500b1892100001efc7e80887038  
        124018203500ba892100001e023a8018  
        71382d40582c3500ba892100001e0000  
        00000000000000000000000000000000  
        000000000000000000000000000000dd  
    HDCP Content Type: HDCP Type0  
        supported: HDCP Type0, HDCP Type1  
    Content Protection: Undesired  
        supported: Undesired, Desired, Enabled  
    max bpc: 12  
        range: (8, 12)  
    content type: No Data  
        supported: No Data, Graphics, Photo, Cinema, Game  
    Colorspace: Default  
        supported: Default, SMPTE_170M_YCC, BT709_YCC, XVYCC_601, XVYCC_709, SYCC_601, opYCC_601, opRGB, BT2020_CYCC, BT2020_RGB, BT2020_YCC, DCI-P3_RGB_D65, DCI-P3_RGB_Theater  
    aspect ratio: Automatic  
        supported: Automatic, 4:3, 16:9  
    Broadcast RGB: Automatic  
        supported: Automatic, Full, Limited 16:235  
    audio: auto  
        supported: force-dvi, off, auto, on  
    link-status: Good  
        supported: Good, Bad  
    CONNECTOR_ID: 317  
        supported: 317  
    non-desktop: 0  
        range: (0, 1)  
  2560x1440 (0x78a) 241.700MHz +HSync -VSync *current +preferred  
        h: width  2560 start 2608 end 2640 total 2720 skew    0 clock  88.86KHz  
        v: height 1440 start 1443 end 1448 total 1481 clock  60.00Hz  
  1920x1080 (0x78b) 297.000MHz +HSync +VSync  
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock 135.00KHz  
        v: height 1080 start 1084 end 1089 total 1125 clock 120.00Hz

Same monitor, same HDMI cable, why does the old e15 pick up the EDID, but the new T16 does not?

Is there a way to copy the EDID from the old e15 to the new T16?
OR, how do I make the T16 find the EDID? I can’t figure out why it CANT.

Any help would be greatly appreciated. Thank you!

I wonder if the resolution is supported by the chipset for an external monitor? I have had similar issues with Dell laptops in the past.

Perhaps confirm through the Intel website.

1 Like

Thank you so VERY much for responding! I’m really stuck on this and appreciate the help.

I’m trying to figure out exactly how to look this information up on the Intel Website.
I’ve got a Lenovo T16 Gen 4 21QECTO1WWUS2
With an Intel Core Ultra 5 225U Processor and “Integrated Graphics”

From here:
https://www.intel.com/content/www/us/en/download/785597/intel-arc-graphics-windows.html
It looks like this might be Intel Arch A-Series graphics?
But other searches imply it is not. I’m out of me depth here unfortunately. Not much of a graphics person.

https://www.intel.com/content/www/us/en/support/articles/000095850/graphics.html
Says that “Intel Arc Graphics should work correctly with all monitors that support EDID 1.4 or greater as defined by VESA”

When I ran
sudo get-edid | parse-edid
on my old laptop while connected to the monitor in question, it showed:

Section "Monitor"  
    Identifier ""  
    ModelName ""  
    VendorName "LEN"  
    # Monitor Manufactured week 0 of 2018  
    # EDID version 1.4  
    # Digital Display  
    DisplaySize 340 190  
    Gamma 2.20  
    Option "DPMS" "true"  
    Modeline     "Mode 0" 138.70 1920 1968 2000 2080 1080 1083 1088 1111 -hsync -vsync  
    Modeline     "Mode 1" 110.96 1920 1968 2000 2080 1080 1083 1088 1111 -hsync -vsync

So that seems to imply the correct EDID version on the monitor.

How can I check further for compatibility?

sorry for the late response - from memory I had to lower the frequency of the resolution, I recall that laptop graphics often limit the bandwidth available to an external monitor - try lowering the resolution to 30Hz if possible.

Nothing to apologize for, you are doing me a favor!

Alas, no luck with 30Hz either:

$ cvt 2560 1440 30
2560x1440 29.94 Hz (CVT) hsync: 43.95 kHz; pclk: 146.25 MHz
Modeline “2560x1440_30.00” 146.25 2560 2680 2944 3328 1440 1443 1448 1468 -hsync +vsync
$ sudo xrandr --newmode “2560x1440_30.00” 146.25 2560 2680 2944 3328 1440 1443 1448 1468 -hsync +vsync
$ sudo xrandr --addmode HDMI-1 “2560x1440_30.00”
$ sudo xrandr --output HDMI-1 --mode “2560x1440_30.00”
xrandr: Configure crtc 1 failed

Have you updated the BIOS on your laptop, I did read at https://askubuntu.com/questions/1450892/hdmi-doesnt-work-on-thinkpad-t16-with-ubuntu-22-10-22-04 where the HDMI connection didn’t work at all until the BIOS was updated - worth a try.

I asked ChatGPT the question, just to get a few ideas

  • Yes, you can definitely run a KOORUI 27-inch QHD Gaming Monitor (2560 x 1440) at 144Hz on your ThinkPad T16 Gen 4, but there are a few important things to keep in mind to ensure everything works properly:

Key Requirements:

  1. Resolution (2560 x 1440) at 144Hz:
  • The ThinkPad T16 Gen 4 can handle QHD (2560 x 1440) resolution with no issues, even at a high refresh rate like 144Hz. The Intel Core Ultra 5 255U processor and integrated Intel Iris Xe graphics should be able to support 144Hz at 2560 x 1440, but this also depends on the connection type and refresh rate compatibility.
  1. Ports on the ThinkPad T16 Gen 4:
  • USB-C (Thunderbolt 4): This port can easily support high resolutions and high refresh rates like 2560 x 1440 at 144Hz, but it depends on the adapter you use (if you’re using one).
  • HDMI 2.0: This port can also support 2560 x 1440 at 144Hz, which is perfectly suited for your KOORUI monitor, as HDMI 2.0 can handle this resolution at high refresh rates.

Connection Considerations:

  • Thunderbolt 4 (USB-C) to DisplayPort or HDMI: If you’re using a USB-C to DisplayPort or USB-C to HDMI cable, make sure that it’s rated for 144Hz at 2560 x 1440. Most modern cables should support this, but double-check just to be sure.
  • HDMI Cable: If using the HDMI 2.0 port on the T16, ensure you’re using a high-quality HDMI cable that supports 144Hz at 2560 x 1440. Most HDMI 2.0 cables should work fine, but older cables or lower-quality ones may struggle with high refresh rates.*

I then asked what changes need to be made to Ubuntu - you’ve done a lot of this, but who knows, there maybe something that is helpful.

  • To run a KOORUI 27-inch QHD Gaming Monitor (2560 x 1440 at 144Hz) with your ThinkPad T16 Gen 4 on Ubuntu, you generally shouldn’t need to modify Ubuntu significantly. However, there are a few things you can check and adjust to ensure everything works smoothly, especially when using high refresh rates.

Steps to Ensure Proper Setup on Ubuntu:

1. Check Connection and Cable:

  • As mentioned, using either a USB-C to DisplayPort or HDMI 2.0 cable is the preferred method. Ensure the cable you’re using is high-quality and supports 144Hz at 2560 x 1440.
  • After connecting the monitor, you should see it appear in the Displays settings in Ubuntu.

2. Adjust Display Settings in Ubuntu:

  • Ubuntu should automatically detect the connected monitor, but you may need to adjust the resolution and refresh rate manually if it doesn’t default to 144Hz.

Steps:

  • Open the Activities overview and search for Displays.
  • In the Displays settings window, select your external monitor from the list.
  • Set the Resolution to 2560 x 1440.
  • Under the Refresh Rate dropdown, select 144Hz if it is available.

Note: If the 144Hz option is not available, proceed to the next steps to ensure your display is set up correctly.

3. Check for Proper Driver Support:

  • Ensure that your system is using the latest Intel graphics drivers, as this is crucial for handling high-resolution displays and refresh rates.
  • The default Intel graphics drivers in Ubuntu should usually work fine with Intel Iris Xe integrated graphics (which is what the ThinkPad T16 Gen 4 uses). However, it’s a good idea to update your system to make sure you’re running the most recent kernel and drivers:

Update the system:

sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
  • After updating, reboot your system to ensure any new drivers are loaded.

4. Create Custom Display Mode (if necessary):

  • In rare cases, Ubuntu might not automatically recognize 144Hz at 2560 x 1440, especially with HDMI connections. If this happens, you can manually add a custom display mode using xrandr.

Steps to create a custom mode with xrandr:

  1. Find your monitor’s name by running the following command in the terminal:

xrandr


This will display the connected monitors. Look for something like `HDMI-1` or `DP-1` depending on your connection method.
* **Generate a new mode** for 2560 x 1440 at 144Hz:
You can use the `cvt` tool to generate the mode. Run the following command:

cvt 2560 1440 144


This will output something like:

* ```
# 2560x1440 143.88 Hz (CVT 2.07M3) hsync: 202.46 kHz; pclk: 348.00 MHz
Modeline "2560x1440_144.00"  348.00  2560 2720 2992 3424  1440 1443 1448 1514 -hsync +vsync
  • Add the new mode to xrandr:
    Now, use the output from cvt to create the custom mode. First, add the new mode to xrandr:

xrandr --newmode “2560x1440_144.00” 348.00 2560 2720 2992 3424 1440 1443 1448 1514 -hsync +vsync


* **Add the mode to your display:**
Replace `HDMI-1` with the actual name of your display from the `xrandr` output:
* ```
xrandr --addmode HDMI-1 2560x1440_144.00
  • Set the display to the new mode:

xrandr --output HDMI-1 --mode 2560x1440_144.00


**Note:** You can also make these changes permanent by adding them to your startup scripts (e.g., `.bashrc` or `.xprofile`), or by using `arandr` (a GUI tool for managing screen settings).

#### 5. **Verify the Refresh Rate:**

After following these steps, check that the monitor is running at **2560 x 1440 at 144Hz**:

* You can use the **`xrandr`** command again to confirm the settings, which will show the current resolution and refresh rate.

xrandr


You should see something like:

HDMI-1 connected 2560x1440 144.00*+ (144Hz)


---

### Conclusion:

In most cases, **Ubuntu** will handle high resolutions like **2560 x 1440** and **144Hz** automatically. However, if the system doesn't set it up correctly, you can use the **Display Settings** to adjust it manually or use **`xrandr`** to create a custom mode for the monitor.

Just ensure that you're using a **high-quality cable** and that the **drivers are up-to-date**. Ubuntu should work fine with your **KOORUI 27-inch QHD Gaming Monitor** without needing extensive modifications.*

Thank you again.

updating the BIOS is certainly something to consider.

$ sudo dmidecode -s bios-version
N4JET21W (1.11 )
$ sudo dmidecode -s bios-release-date
10/09/2025

Which appears to match the most recent BIOS version from the lenovo website for a 21QE machine, if I’m reading it right:
https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-t-series-laptops/thinkpad-t16-gen-4-type-21qe-21qf/21qf/downloads/ds575278-bios-update-utility-bootable-cd-for-windows-11-thinkpad-t14-gen-6-type-21qc-21qd-t16-gen-4-type-21qe-21qf?category=BIOS%2FUEFI

to update firmware I ran:
$ fwupdmgr update

and it updated several things and did a reboot. after the reboot I checked fwupdmgr again and got:

$ fwupdmgr update
Devices with no available firmware updates:
• ELAN0683:00 04F3:320B
• Integrated Camera
• KBG6AZNV1T02 LA KIOXIA
• Prometheus IOTA Config
• UEFI Device Firmware
• UEFI Device Firmware
• UEFI Device Firmware
• UEFI Device Firmware
• UEFI Device Firmware
• UEFI Device Firmware
• UEFI Device Firmware
• UEFI dbx
Devices with the latest available firmware version:
• Prometheus
• System Firmware
• Unifying Receiver
$

So all firmware should be up to date.

I did xrandr newmode/addmode/output for both “2560x1440_144.00” and “2560x1440_60.00”
got
xrandr: Configure crtc 1 failed for each.

Then I brought up “Display” and I had a 2560x1440 option!!!
Oh the excitement!
However, when I attempt to “apply” it, it goes back to 1920x1080.

the new 2560x1440 mode disappears after reboot.

Still no idea what is going on. {sigh}

Are you sure you got the correct EDID? Because when I try to decode the hex EDID from the xrandr output you posted earlier using edid-decode I get different information:

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.3
  Vendor & Product Identification:
    Manufacturer: HKC
    Model: 10001
    Serial Number: 1 (0x00000001)
    Made in: week 24 of 2022
...

Perhaps I messed something up.
When I run xrandr --verbose on the new T16 I get:

~$ xrandr --verbose  
Screen 0: minimum 16 x 16, current 3840 x 1440, maximum 32767 x 32767
HDMI-1 connected 1920x1080+0+360 (0x57) normal (normal left inverted right x axis y axis) 600mm x 330mm
	Identifier: 0x21
	Timestamp:  23624
	Subpixel:   unknown
	Gamma:      1.0:1.0:1.0
	Brightness: 0.0
	Clones:    
	CRTC:       1
	CRTCs:      1
	Transform:  1.000000 0.000000 0.000000
	            0.000000 1.000000 0.000000
	            0.000000 0.000000 1.000000
	           filter: 
	RANDR Emulation: 1 
	non-desktop: 0 
		supported: 0, 1
  1920x1080 (0x57) 173.000MHz -HSync +VSync *current +preferred
        h: width  1920 start 2048 end 2248 total 2576 skew    0 clock  67.16KHz
        v: height 1080 start 1083 end 1088 total 1120           clock  59.96Hz

When I run xrander --verbose on the old e15 I get:

HDMI-1 connected 2560x1440+1920+0 (0x78a) normal (normal left inverted right x axis y axis) 597mm x 336mm  
    Identifier: 0x43  
    Timestamp:  -1355605185  
    Subpixel:   unknown  
    Gamma:      1.0:1.0:1.0  
    Brightness: 1.0  
    Clones:  
    CRTC:       1  
    CRTCs:      0 1 2 3  
    Transform:  1.000000 0.000000 0.000000  
                0.000000 1.000000 0.000000  
                0.000000 0.000000 1.000000  
               filter:  
    EDID:  
        00ffffffffffff002163112701000000  
        18200103803c21782e2d1fa6564fa026  
        0d4f53adcf00d1c0d1fc81809500b300  
        b33c953c81bc6a5e00a0a0a029503020  
        350055502100001a000000fc00323745  
        3151410a202020202020000000fd0030  
        901ef021000a202020202020000000ff  
        0030303030303030303030303031017a  
        020328f149010203049012131f3f2309  
        07078301000065030c001000681a0000  
        01013090ede2007f866f80a070384040  
        30203500b1892100001efc7e80887038  
        124018203500ba892100001e023a8018  
        71382d40582c3500ba892100001e0000  
        00000000000000000000000000000000  
        000000000000000000000000000000dd  
    HDCP Content Type: HDCP Type0  
        supported: HDCP Type0, HDCP Type1  
    Content Protection: Undesired  
        supported: Undesired, Desired, Enabled  
    max bpc: 12  
        range: (8, 12)  
    content type: No Data  
        supported: No Data, Graphics, Photo, Cinema, Game  
    Colorspace: Default  
        supported: Default, SMPTE_170M_YCC, BT709_YCC, XVYCC_601, XVYCC_709, SYCC_601, opYCC_601, opRGB, BT2020_CYCC, BT2020_RGB, BT2020_YCC, DCI-P3_RGB_D65, DCI-P3_RGB_Theater  
    aspect ratio: Automatic  
        supported: Automatic, 4:3, 16:9  
    Broadcast RGB: Automatic  
        supported: Automatic, Full, Limited 16:235  
    audio: auto  
        supported: force-dvi, off, auto, on  
    link-status: Good  
        supported: Good, Bad  
    CONNECTOR_ID: 317  
        supported: 317  
    non-desktop: 0  
        range: (0, 1)  
  2560x1440 (0x78a) 241.700MHz +HSync -VSync *current +preferred  
        h: width  2560 start 2608 end 2640 total 2720 skew    0 clock  88.86KHz  
        v: height 1440 start 1443 end 1448 total 1481 clock  60.00Hz  
  1920x1080 (0x78b) 297.000MHz +HSync +VSync  
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock 135.00KHz  
        v: height 1080 start 1084 end 1089 total 1125 clock 120.00Hz  

is there another way I should get this info?

Kernel normally exports EDID in sysfs. E.g. for my HDMI TV:

$ parse-edid < /sys/class/drm/card1-HDMI-A-1/edid 
Checksum Correct

Section "Monitor"
	Identifier "SONY TV"
	ModelName "SONY TV"
	VendorName "SNY"
	# Monitor Manufactured week 1 of 2008
	# EDID version 1.3
...

In your case it would be something like /sys/class/drm/card?-HDMI-1/edid, probably card1 as well. You can check what connectors are present with ls /sys/class/drm.

Thank you so much for your help on this. It’s baffling me.

On my new T16:

$ ls /sys/class/drm
card1 card1-DP-1 card1-DP-2 card1-DP-3 card1-DP-4 card1-eDP-1 card1-HDMI-A-1 renderD128 version

$ parse-edid < /sys/class/drm/card1-HDMI-A-1/edid
Checksum Correct

Section "Monitor"
	Identifier "27E1QA"
	ModelName "27E1QA"
	VendorName "HKC"
	# Monitor Manufactured week 24 of 2022
	# EDID version 1.3
	# Digital Display
	DisplaySize 600 330
	Gamma 2.20
	Option "DPMS" "true"
	Horizsync 30-240
	VertRefresh 48-144
	# Maximum pixel clock is 600MHz
	#Not giving standard mode: 1920x1080, 60Hz
	#Not giving standard mode: 1920x1080, 120Hz
	#Not giving standard mode: 1280x1024, 60Hz
	#Not giving standard mode: 1440x900, 60Hz
	#Not giving standard mode: 1680x1050, 60Hz
	#Not giving standard mode: 1680x1050, 120Hz
	#Not giving standard mode: 1440x900, 120Hz
	#Not giving standard mode: 1280x1024, 120Hz

	#Extension block found. Parsing...
#WARNING: I may have missed a mode (CEA mode 63)
	Modeline 	"Mode 9" +hsync -vsync 
	Modeline 	"Mode 0" +hsync -vsync 
	Modeline 	"Mode 1" 25.200 640 656 752 800 480 490 492 525 -hsync -vsync
	Modeline 	"Mode 2" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
	Modeline 	"Mode 3" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
	Modeline 	"Mode 4" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync
	Modeline 	"Mode 5" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
	Modeline 	"Mode 6" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
	Modeline 	"Mode 7" 74.250 1280 1720 1760 1980 720 725 730 750 +hsync +vsync
	Modeline 	"Mode 8" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
	Modeline 	"Mode 10" +hsync -vsync 
	Modeline 	"Mode 11" +hsync -vsync 
	Modeline 	"Mode 12" +hsync +vsync 
	Option "PreferredMode" "Mode 9"
EndSection

Still new T16:

$ xrandr --verbose
Screen 0: minimum 16 x 16, current 3840 x 1200, maximum 32767 x 32767
HDMI-1 connected primary 1920x1080+0+0 (0x25) normal (normal left inverted right x axis y axis) 600mm x 330mm
	Identifier: 0x516
	Timestamp:  17619
	Subpixel:   unknown
	Gamma:      inf:inf:inf
	Brightness: 0.0061
	Clones:    
	CRTC:       0
	CRTCs:      0
	Transform:  1.000000 0.000000 0.000000
	            0.000000 1.000000 0.000000
	            0.000000 0.000000 1.000000
	           filter: 
	RANDR Emulation: 1 
	non-desktop: 0 
		supported: 0, 1
  1920x1080 (0x25) 173.000MHz -HSync +VSync *current +preferred
        h: width  1920 start 2048 end 2248 total 2576 skew    0 clock  67.16KHz
        v: height 1080 start 1083 end 1088 total 1120           clock  59.96Hz
  1440x1080 (0x26) 129.000MHz -HSync +VSync
        h: width  1440 start 1528 end 1680 total 1920 skew    0 clock  67.19KHz
        v: height 1080 start 1083 end 1087 total 1120           clock  59.99Hz
  1400x1050 (0x27) 121.750MHz -HSync +VSync
        h: width  1400 start 1488 end 1632 total 1864 skew    0 clock  65.32KHz
        v: height 1050 start 1053 end 1057 total 1089           clock  59.98Hz
  1280x1024 (0x28) 109.000MHz -HSync +VSync
        h: width  1280 start 1368 end 1496 total 1712 skew    0 clock  63.67KHz
        v: height 1024 start 1027 end 1034 total 1063           clock  59.89Hz
  1280x960 (0x29) 101.250MHz -HSync +VSync
        h: width  1280 start 1360 end 1488 total 1696 skew    0 clock  59.70KHz
        v: height  960 start  963 end  967 total  996           clock  59.94Hz
  1152x864 (0x2a) 81.750MHz -HSync +VSync
        h: width  1152 start 1216 end 1336 total 1520 skew    0 clock  53.78KHz
        v: height  864 start  867 end  871 total  897           clock  59.96Hz
  1024x768 (0x2b) 63.500MHz -HSync +VSync
        h: width  1024 start 1072 end 1176 total 1328 skew    0 clock  47.82KHz
        v: height  768 start  771 end  775 total  798           clock  59.92Hz
  800x600 (0x2c) 38.250MHz -HSync +VSync
        h: width   800 start  832 end  912 total 1024 skew    0 clock  37.35KHz
        v: height  600 start  603 end  607 total  624           clock  59.86Hz
  640x480 (0x2d) 23.750MHz -HSync +VSync
        h: width   640 start  664 end  720 total  800 skew    0 clock  29.69KHz
        v: height  480 start  483 end  487 total  500           clock  59.38Hz
  320x240 (0x2e)  6.000MHz -HSync +VSync
        h: width   320 start  336 end  360 total  400 skew    0 clock  15.00KHz
        v: height  240 start  243 end  247 total  252           clock  59.52Hz
  1680x1050 (0x2f) 146.250MHz -HSync +VSync
        h: width  1680 start 1784 end 1960 total 2240 skew    0 clock  65.29KHz
        v: height 1050 start 1053 end 1059 total 1089           clock  59.95Hz
  1440x900 (0x30) 106.500MHz -HSync +VSync
        h: width  1440 start 1528 end 1672 total 1904 skew    0 clock  55.93KHz
        v: height  900 start  903 end  909 total  934           clock  59.89Hz
  1280x800 (0x31) 83.500MHz -HSync +VSync
        h: width  1280 start 1352 end 1480 total 1680 skew    0 clock  49.70KHz
        v: height  800 start  803 end  809 total  831           clock  59.81Hz
  1152x720 (0x32) 66.750MHz -HSync +VSync
        h: width  1152 start 1208 end 1320 total 1488 skew    0 clock  44.86KHz
        v: height  720 start  723 end  729 total  748           clock  59.97Hz
  960x600 (0x33) 45.250MHz -HSync +VSync
        h: width   960 start  992 end 1088 total 1216 skew    0 clock  37.21KHz
        v: height  600 start  603 end  609 total  624           clock  59.63Hz
  928x580 (0x34) 42.750MHz -HSync +VSync
        h: width   928 start  968 end 1056 total 1184 skew    0 clock  36.11KHz
        v: height  580 start  583 end  589 total  603           clock  59.88Hz
  800x500 (0x35) 30.750MHz -HSync +VSync
        h: width   800 start  824 end  896 total  992 skew    0 clock  31.00KHz
        v: height  500 start  503 end  509 total  521           clock  59.50Hz
  768x480 (0x36) 28.750MHz -HSync +VSync
        h: width   768 start  792 end  864 total  960 skew    0 clock  29.95KHz
        v: height  480 start  483 end  489 total  500           clock  59.90Hz
  720x480 (0x37) 26.750MHz -HSync +VSync
        h: width   720 start  744 end  808 total  896 skew    0 clock  29.85KHz
        v: height  480 start  483 end  493 total  500           clock  59.71Hz
  640x400 (0x38) 20.000MHz -HSync +VSync
        h: width   640 start  664 end  720 total  800 skew    0 clock  25.00KHz
        v: height  400 start  403 end  409 total  417           clock  59.95Hz
  320x200 (0x39)  5.000MHz -HSync +VSync
        h: width   320 start  336 end  360 total  400 skew    0 clock  12.50KHz
        v: height  200 start  203 end  209 total  212           clock  58.96Hz
  1600x900 (0x3a) 118.250MHz -HSync +VSync
        h: width  1600 start 1696 end 1856 total 2112 skew    0 clock  55.99KHz
        v: height  900 start  903 end  908 total  934           clock  59.95Hz
  1368x768 (0x3b) 85.250MHz -HSync +VSync
        h: width  1368 start 1440 end 1576 total 1784 skew    0 clock  47.79KHz
        v: height  768 start  771 end  781 total  798           clock  59.88Hz
  1280x720 (0x3c) 74.500MHz -HSync +VSync
        h: width  1280 start 1344 end 1472 total 1664 skew    0 clock  44.77KHz
        v: height  720 start  723 end  728 total  748           clock  59.86Hz
  1024x576 (0x3d) 46.500MHz -HSync +VSync
        h: width  1024 start 1064 end 1160 total 1296 skew    0 clock  35.88KHz
        v: height  576 start  579 end  584 total  599           clock  59.90Hz
  864x486 (0x3e) 32.500MHz -HSync +VSync
        h: width   864 start  888 end  968 total 1072 skew    0 clock  30.32KHz
        v: height  486 start  489 end  494 total  506           clock  59.92Hz
  720x400 (0x3f) 22.250MHz -HSync +VSync
        h: width   720 start  744 end  808 total  896 skew    0 clock  24.83KHz
        v: height  400 start  403 end  413 total  417           clock  59.55Hz
  640x350 (0x40) 17.500MHz -HSync +VSync
        h: width   640 start  664 end  720 total  800 skew    0 clock  21.88KHz
        v: height  350 start  353 end  363 total  366           clock  59.77Hz

And this is a screenshot of “Displays:” on my new T16


BUT, when I switch the HDMI cable over to my old E15 and do the same things I get:

$ ls /sys/class/drm
card1 card1-DP-1 card1-DP-2 card1-DP-3 card1-DP-4 card1-eDP-1 card1-HDMI-A-1 renderD128 version

~$ parse-edid < /sys/class/drm/card1-HDMI-A-1/edid
Checksum Correct

Section "Monitor"
    Identifier "27E1QA"
    ModelName "27E1QA"
    VendorName "HKC"
    # Monitor Manufactured week 24 of 2022
    # EDID version 1.3
    # Digital Display
    DisplaySize 600 330
    Gamma 2.20
    Option "DPMS" "true"
    Horizsync 30-240
    VertRefresh 48-144
    # Maximum pixel clock is 600MHz
    #Not giving standard mode: 1920x1080, 60Hz
    #Not giving standard mode: 1920x1080, 120Hz
    #Not giving standard mode: 1280x1024, 60Hz
    #Not giving standard mode: 1440x900, 60Hz
    #Not giving standard mode: 1680x1050, 60Hz
    #Not giving standard mode: 1680x1050, 120Hz
    #Not giving standard mode: 1440x900, 120Hz
    #Not giving standard mode: 1280x1024, 120Hz

    #Extension block found. Parsing...
#WARNING: I may have missed a mode (CEA mode 63)
    Modeline     "Mode 9" 486.34 2560 2592 2656 2720 1440 1444 1449 1490 +hsync -vsync
    Modeline     "Mode 0" 241.70 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync
    Modeline     "Mode 1" 25.200 640 656 752 800 480 490 492 525 -hsync -vsync
    Modeline     "Mode 2" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
    Modeline     "Mode 3" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
    Modeline     "Mode 4" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync
    Modeline     "Mode 5" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
    Modeline     "Mode 6" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
    Modeline     "Mode 7" 74.250 1280 1720 1760 1980 720 725 730 750 +hsync +vsync
    Modeline     "Mode 8" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
    Modeline     "Mode 10" 335.76 1920 1968 2000 2080 1080 1083 1088 1121 +hsync -vsync
    Modeline     "Mode 11" 148.50 1920 2008 2052 2200 1080 1083 1088 1125 +hsync -vsync
    Modeline     "Mode 12" 575.02 2560 2608 2672 2680 1440 1443 1448 1490 +hsync +vsync
    Option "PreferredMode" "Mode 9"
EndSection

This looks identical to me (except the modeline section)

BUT, xrandr gives different results:

~$ xrandr --verbose
HDMI-1 connected 2560x1440+1920+0 (0xab5) normal (normal left inverted right x axis y axis) 597mm x 336mm
    Identifier: 0x43
    Timestamp:  991181768
    Subpixel:   unknown
    Gamma:      1.0:1.0:1.0
    Brightness: 1.0
    Clones:    
    CRTC:       1
    CRTCs:      0 1 2 3
    Transform:  1.000000 0.000000 0.000000
                0.000000 1.000000 0.000000
                0.000000 0.000000 1.000000
               filter:
    EDID:
        00ffffffffffff002163112701000000
        18200103803c21782e2d1fa6564fa026
        0d4f53adcf00d1c0d1fc81809500b300
        b33c953c81bc6a5e00a0a0a029503020
        350055502100001a000000fc00323745
        3151410a202020202020000000fd0030
        901ef03c000a202020202020000000ff
        0030303030303030303030303031015f
        020330f149010203049012131f3f2309
        07078301000065030c00100067d85dc4
        0178c000681a000001013090ede2007f
        fabd00a0a0a0325020404500ba892100
        001a288380a07038294030203500ba89
        2100001a023a801871382d40582c3500
        ba892100001a9ee00078a0a032503040
        3500ba892100001e00000000000000ec
    HDCP Content Type: HDCP Type0
        supported: HDCP Type0, HDCP Type1
    Content Protection: Undesired
        supported: Undesired, Desired, Enabled
    max bpc: 12
        range: (8, 12)
    content type: No Data
        supported: No Data, Graphics, Photo, Cinema, Game
    Colorspace: Default
        supported: Default, SMPTE_170M_YCC, BT709_YCC, XVYCC_601, XVYCC_709, SYCC_601, opYCC_601, opRGB, BT2020_CYCC, BT2020_RGB, BT2020_YCC, DCI-P3_RGB_D65, DCI-P3_RGB_Theater
    aspect ratio: Automatic
        supported: Automatic, 4:3, 16:9
    Broadcast RGB: Automatic
        supported: Automatic, Full, Limited 16:235
    audio: auto
        supported: force-dvi, off, auto, on
    link-status: Good
        supported: Good, Bad
    CONNECTOR_ID: 317
        supported: 317
    non-desktop: 0
        range: (0, 1)
  2560x1440 (0xab5) 241.700MHz +HSync -VSync *current +preferred
        h: width  2560 start 2608 end 2640 total 2720 skew    0 clock  88.86KHz
        v: height 1440 start 1443 end 1448 total 1481           clock  60.00Hz
  1920x1080 (0xab6) 297.000MHz +HSync +VSync
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock 135.00KHz
        v: height 1080 start 1084 end 1089 total 1125           clock 120.00Hz
  1920x1080 (0xab7) 296.703MHz +HSync +VSync
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock 134.87KHz
        v: height 1080 start 1084 end 1089 total 1125           clock 119.88Hz
  1920x1080 (0xab8) 148.500MHz +HSync -VSync
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  67.50KHz
        v: height 1080 start 1083 end 1088 total 1125           clock  60.00Hz
  1920x1080 (0xab9) 148.500MHz +HSync +VSync
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  67.50KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  60.00Hz
  1920x1080 (0xaba) 148.500MHz +HSync +VSync
        h: width  1920 start 2448 end 2492 total 2640 skew    0 clock  56.25KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  50.00Hz
  1920x1080 (0xabb) 148.352MHz +HSync +VSync
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  67.43KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  59.94Hz
  1680x1050 (0xabc) 245.500MHz +HSync -VSync
        h: width  1680 start 1728 end 1760 total 1840 skew    0 clock 133.42KHz
        v: height 1050 start 1053 end 1059 total 1112           clock 119.99Hz
  1680x1050 (0xabd) 119.000MHz +HSync -VSync
        h: width  1680 start 1728 end 1760 total 1840 skew    0 clock  64.67KHz
        v: height 1050 start 1053 end 1059 total 1080           clock  59.88Hz
  1280x1024 (0xabe) 187.250MHz +HSync -VSync
        h: width  1280 start 1328 end 1360 total 1440 skew    0 clock 130.03KHz
        v: height 1024 start 1027 end 1034 total 1084           clock 119.96Hz
  1280x1024 (0xabf) 135.000MHz +HSync +VSync
        h: width  1280 start 1296 end 1440 total 1688 skew    0 clock  79.98KHz
        v: height 1024 start 1025 end 1028 total 1066           clock  75.02Hz
  1280x1024 (0xac0) 108.000MHz +HSync +VSync
        h: width  1280 start 1328 end 1440 total 1688 skew    0 clock  63.98KHz
        v: height 1024 start 1025 end 1028 total 1066           clock  60.02Hz
  1440x900 (0xac1) 182.750MHz +HSync -VSync
        h: width  1440 start 1488 end 1520 total 1600 skew    0 clock 114.22KHz
        v: height  900 start  903 end  909 total  953           clock 119.85Hz
  1440x900 (0xac2) 88.750MHz +HSync -VSync
        h: width  1440 start 1488 end 1520 total 1600 skew    0 clock  55.47KHz
        v: height  900 start  903 end  909 total  926           clock  59.90Hz
  1280x720 (0xac3) 74.250MHz +HSync +VSync
        h: width  1280 start 1390 end 1430 total 1650 skew    0 clock  45.00KHz
        v: height  720 start  725 end  730 total  750           clock  60.00Hz
  1280x720 (0xac4) 74.250MHz +HSync +VSync
        h: width  1280 start 1720 end 1760 total 1980 skew    0 clock  37.50KHz
        v: height  720 start  725 end  730 total  750           clock  50.00Hz
  1280x720 (0xac5) 74.176MHz +HSync +VSync
        h: width  1280 start 1390 end 1430 total 1650 skew    0 clock  44.96KHz
        v: height  720 start  725 end  730 total  750           clock  59.94Hz
  1024x768 (0xac6) 78.750MHz +HSync +VSync
        h: width  1024 start 1040 end 1136 total 1312 skew    0 clock  60.02KHz
        v: height  768 start  769 end  772 total  800           clock  75.03Hz
  1024x768 (0xac7) 75.000MHz -HSync -VSync
        h: width  1024 start 1048 end 1184 total 1328 skew    0 clock  56.48KHz
        v: height  768 start  771 end  777 total  806           clock  70.07Hz
  1024x768 (0xac8) 65.000MHz -HSync -VSync
        h: width  1024 start 1048 end 1184 total 1344 skew    0 clock  48.36KHz
        v: height  768 start  771 end  777 total  806           clock  60.00Hz
  800x600 (0xac9) 50.000MHz +HSync +VSync
        h: width   800 start  856 end  976 total 1040 skew    0 clock  48.08KHz
        v: height  600 start  637 end  643 total  666           clock  72.19Hz
  800x600 (0xaca) 49.500MHz +HSync +VSync
        h: width   800 start  816 end  896 total 1056 skew    0 clock  46.88KHz
        v: height  600 start  601 end  604 total  625           clock  75.00Hz
  800x600 (0xacb) 40.000MHz +HSync +VSync
        h: width   800 start  840 end  968 total 1056 skew    0 clock  37.88KHz
        v: height  600 start  601 end  605 total  628           clock  60.32Hz
  720x576 (0xacc) 27.000MHz -HSync -VSync
        h: width   720 start  732 end  796 total  864 skew    0 clock  31.25KHz
        v: height  576 start  581 end  586 total  625           clock  50.00Hz
  720x480 (0xacd) 27.027MHz -HSync -VSync
        h: width   720 start  736 end  798 total  858 skew    0 clock  31.50KHz
        v: height  480 start  489 end  495 total  525           clock  60.00Hz
  720x480 (0xace) 27.000MHz -HSync -VSync
        h: width   720 start  736 end  798 total  858 skew    0 clock  31.47KHz
        v: height  480 start  489 end  495 total  525           clock  59.94Hz
  640x480 (0xacf) 31.500MHz -HSync -VSync
        h: width   640 start  656 end  720 total  840 skew    0 clock  37.50KHz
        v: height  480 start  481 end  484 total  500           clock  75.00Hz
  640x480 (0xad0) 31.500MHz -HSync -VSync
        h: width   640 start  664 end  704 total  832 skew    0 clock  37.86KHz
        v: height  480 start  489 end  492 total  520           clock  72.81Hz
  640x480 (0xad1) 25.200MHz -HSync -VSync
        h: width   640 start  656 end  752 total  800 skew    0 clock  31.50KHz
        v: height  480 start  490 end  492 total  525           clock  60.00Hz
  640x480 (0xad2) 25.175MHz -HSync -VSync
        h: width   640 start  656 end  752 total  800 skew    0 clock  31.47KHz
        v: height  480 start  490 end  492 total  525           clock  59.94Hz
  720x400 (0xad3) 28.320MHz -HSync +VSync
        h: width   720 start  738 end  846 total  900 skew    0 clock  31.47KHz
        v: height  400 start  412 end  414 total  449           clock  70.08Hz

and in displays (My old E15 is running xubuntu):

And yes, I tried xfce on the T16, the display still does not have 2560x1440 as an option. :slight_smile:

AFAICT this output is only possible when the corresponding DTD (Detailed Timing Descriptor) entry was zapped out with zeroes. It really looks like something (driver or firmware) mangles the EDID from monitor removing “bad” timings.

Could you post the hex dump from EDID in both cases? You can get it with

hexdump -e '16/1 "%02x" "\n"' /sys/class/drm/card1-HDMI-A-1/edid

T16 (where the resolution is only 1920x1080)
~$ hexdump -e ‘16/1 “%02x” “\n”’ /sys/class/drm/card1-HDMI-A-1/edid
00ffffffffffff002163112701000000
18200103803c21782e2d1fa6564fa026
0d4f53adcf00d1c0d1fc81809500b300
b33c953c81bc6a5e00a0a0a029503020
350055502100001a000000fc00323745
3151410a202020202020000000fd0030
901ef03c000a202020202020000000ff
0030303030303030303030303031015f
020330f149010203049012131f3f2309
07078301000065030c00100067d85dc4
0178c000681a000001013090ede2007f
fabd00a0a0a0325020404500ba892100
001a288380a07038294030203500ba89
2100001a023a801871382d40582c3500
ba892100001a9ee00078a0a032503040
3500ba892100001e00000000000000ec
~$

e15 (where the resolution is 2560x1440:
$ hexdump -e ‘16/1 “%02x” “\n”’ /sys/class/drm/card1-HDMI-A-1/edid
00ffffffffffff002163112701000000
18200103803c21782e2d1fa6564fa026
0d4f53adcf00d1c0d1fc81809500b300
b33c953c81bc6a5e00a0a0a029503020
350055502100001a000000fc00323745
3151410a202020202020000000fd0030
901ef03c000a202020202020000000ff
0030303030303030303030303031015f
020330f149010203049012131f3f2309
07078301000065030c00100067d85dc4
0178c000681a000001013090ede2007f
fabd00a0a0a0325020404500ba892100
001a288380a07038294030203500ba89
2100001a023a801871382d40582c3500
ba892100001a9ee00078a0a032503040
3500ba892100001e00000000000000ec
$

They are identical. What does that mean? Back to the drawing board?
Or does this mean we now know that something is messing with the edid AFTER this point?

(And thank you very much for your help with this!)

The problem is solved!!!
Well, sort of. I purchased a C to DisplayPort cable, hooked it up to my new T16 and instant full 2560x1440 resolution!

To summarize the problem:
I have a KOORUI 27 Inch QHD Gaming Monitor 144 Hz, VA, 1ms, DCI-P3 90% Color Gamut, FreeSync G-Sync Compatible, (2560x1440, HDMI, DisplayPort) monitor that I’ve been using on my old E15 at 2560x1440 resolution for years now. Hooked up with an HDMI cable.

When hooked up with an HDMI cable: On my old TThinkpad E15 Gen 2 i3-1115G4 the monitor worked just fine. On my new Thinkpad T16 Gen4 Intell Core Ultra 5 255U it only allows a maximum resolution of 1920x1080.
A hexdump of the /sys/class/drm/card1-HDMI-A-1/edid on both machines yielded identical results.
but xrandr --verbose gave different results. Running xrandr --verbose on the T16 does NOT show the EDID and does not show the 2560x1440 resolution option.
And, of course, running “displays” on the E15 shows 2560x1440 (60hz) and the T16 shows a max of 1920x1080

Once I hooked the KOORUI monitor up to my T16 with the C to DisplayPort cable instead of the HDMI cable it worked instantly.
And now xrander --verbose on the T16 shows

DP-3 connected 2560x1440+0+361 (0x56d) normal (normal left inverted right x axis y axis) 600mm x 330mm
	Identifier: 0x56c
	Timestamp:  21606
	Subpixel:   unknown
	Gamma:      1.0:1.0:1.0
	Brightness: 0.0
	Clones:    
	CRTC:       1
	CRTCs:      1
	Transform:  1.000000 0.000000 0.000000
	            0.000000 1.000000 0.000000
	            0.000000 0.000000 1.000000
	           filter: 
	RANDR Emulation: 1 
	non-desktop: 0 
		supported: 0, 1
  2560x1440 (0x56d) 312.250MHz -HSync +VSync *current +preferred
        h: width  2560 start 2752 end 3024 total 3488 skew    0 clock  89.52KHz
        v: height 1440 start 1443 end 1448 total 1493           clock  59.96Hz

So I still have NO idea what was wrong when using the HDMI cable. The same cable could be switched to my old E15 and worked fine from there, so obviously the cable could handle the bandwidth. But, for some odd reason, on my new T16 I can get full resolution when using DisplayPort, but not HDMI.

If anyone has a clue as to why I would be very interested in hearing it. But, in the meantime, my monitor is working at full resolution!

Thank you VERY much everyone for your help.