Laptop with NVIDIA GPU and Intel graphics shows a very bad quality image when connected to 1920x520 native resolution external display

TLDR: I have attached a 37x~10 display (signage display) from Samsung ( Samsung SH37R-B 37" Full HD 16:4.5) that has syncmaster but regardless of connecting it to Windows or Ubuntu 22.04 operating system and setting it to the native resolution (1920x520) and selecting Portrait mode (aspect ratio 16:4.5).

As you see the text is not readable. The images are also rendered very terribly. This doesn’t happen if I use the Web browser from Samsung (not connecting to my laptop).

Here is the dump of AskUbuntu question I created:

I have an Ubuntu 22.04 operating system. I am trying to connect to it a 37 inch signage display. However, the resolution is too bad to the point the text on the screen is not readable and images are super stretched.

$ xrandr
HDMI-1-0 connected 540x1920+1680+0 left (normal left inverted right x axis y axis) 899mm x 253mm
   1920x540      59.81*+  49.94  
   4096x2160     59.94    50.00    29.97    25.00    24.00    23.98  
   3840x2160     59.94    50.00    29.97    25.00    23.98  
   1920x1080     59.94    50.00    29.97    25.00    23.98  
   1680x1050     59.95  
   1600x900      60.00  
   1440x900      59.89  
   1366x768      59.79  
   1280x1024     75.02    60.02  
   1280x800      59.81  
   1280x720      60.00    59.94    50.00  
   1152x864      75.00  
   1024x768      75.03    70.07    60.00  
   800x600       75.00    72.19    60.32  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    72.81    59.94  

Then:

2024-09-20 15:33:52 [mona@DOS ~]$ sudo cvt 1920 540
[sudo] password for mona: 
# 1920x540 59.81 Hz (CVT) hsync: 33.61 kHz; pclk: 81.75 MHz
Modeline "1920x540_60.00"   81.75  1920 1984 2176 2432  540 543 553 562 -hsync +vsync
2024-09-20 15:35:00 [mona@DOS ~]$ sudo xrandr --newmode "1920x540_60.00"   81.75  1920 1984 2176 2432  540 543 553 562 -hsync +vsync
2024-09-20 15:35:34 [mona@DOS ~]$ sudo xrandr --addmode HDMI-1-0 "1920x540_60.00" 

and

2024-09-20 15:35:00 [mona@DOS ~]$ sudo xrandr --newmode "1920x540_60.00"   81.75  1920 1984 2176 2432  540 543 553 562 -hsync +vsync
2024-09-20 15:35:34 [mona@DOS ~]$ sudo xrandr --addmode HDMI-1-0 "1920x540_60.00" 
2024-09-20 15:51:42 [mona@DOS ~]$ xrandr --output HDMI-1-0 --mode "1920x540_60.00"
xrandr: cannot find mode 1920x540_60.00

I did try to apply some changes in /etc/X11/xorg.conf.d/10-nvidia.conf which crashed my system after reboot so I reverted back to the copy I saved. I don’t have a copy of changes.

How should I fix the resolution problem on the 37 inch display?

The aspect ratio of display is 16:4.5

and its native resolution is: 1920 x 540

I want to use this display in vertical mode (portrait or portrait right).

Here’s a bit about my own system info:

$ uname -a
Linux DOS 6.8.0-40-generic #40~22.04.3-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 30 17:30:19 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

$ lsb_release -a
LSB Version:	core-11.1.0ubuntu4-noarch:security-11.1.0ubuntu4-noarch
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.4 LTS
Release:	22.04
Codename:	jammy

$ xrandr
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1920x1080     60.00*+  60.00  

$ cat /etc/X11/xorg.conf.d/10-nvidia.conf
Section "OutputClass"
    Identifier "nvidia"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    ModulePath "/usr/lib/x86_64-linux-gnu/nvidia/xorg"
EndSection

^^ I haven’t changed its file after reverting to it.

One suspect is that NVIDIA settings is causing this problem but I am unsure how to fix it without affecting the programs on my system that make use of NVIDIA drivers.

Here is how Settings → Display looks like:

Also

$ sudo get-edid | edid-decode > decoded_edid.txt
This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
Problem requesting slave address: Device or resource busy
No EDID on bus 1
No EDID on bus 2
No EDID on bus 3
No EDID on bus 4
No EDID on bus 5
No EDID on bus 6
No EDID on bus 7
No EDID on bus 8
No EDID on bus 9
No EDID on bus 10
No EDID on bus 11
No EDID on bus 12
No EDID on bus 13
No EDID on bus 14
No EDID on bus 16
No EDID on bus 17
No EDID on bus 18
No EDID on bus 19
No EDID on bus 20
1 potential busses found: 15
256-byte EDID successfully retrieved from i2c bus 15
Looks like i2c was successful. Have a good day.
2024-09-20 17:25:38 [mona@DOS ~]$ cat decoded_edid.txt 
edid-decode (hex):

00 ff ff ff ff ff ff 00 0d ae 0c 15 00 00 00 00
2a 1c 01 04 b5 22 13 78 02 ee 95 a3 54 4c 99 26
0f 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 36 36 80 a0 70 38 20 40 50 36
68 00 58 c1 10 00 00 18 36 36 80 a0 70 38 20 40
50 36 68 00 58 c1 10 00 00 18 00 00 00 fe 00 43
4d 4e 0a 20 20 20 20 20 20 20 20 20 00 00 00 fe
00 4e 31 35 36 48 43 45 2d 47 4e 31 0a 20 01 d1

02 03 0f 00 e3 05 80 00 e6 06 05 01 6a 6a 24 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 54 35 32 31 4c 36 31 39 42 43 31 30 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dc

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

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.4
  Vendor & Product Identification:
    Manufacturer: CMN
    Model: 5388
    Made in: week 42 of 2018
  Basic Display Parameters & Features:
    Digital display
    Bits per primary color channel: 10
    DisplayPort interface
    Maximum image size: 34 cm x 19 cm
    Gamma: 2.20
    Supported color formats: RGB 4:4:4
    First detailed timing includes the native pixel format and preferred refresh rate
  Color Characteristics:
    Red  : 0.6396, 0.3300
    Green: 0.2998, 0.5996
    Blue : 0.1503, 0.0595
    White: 0.3134, 0.3291
  Established Timings I & II: none
  Standard Timings: none
  Detailed Timing Descriptors:
    DTD 1:  1920x1080   60.001 Hz  16:9    66.721 kHz 138.780 MHz (344 mm x 193 mm)
                 Hfront   80 Hsync  54 Hback  26 Hpol N
                 Vfront    6 Vsync   8 Vback  18 Vpol N
    DTD 2:  1920x1080   60.001 Hz  16:9    66.721 kHz 138.780 MHz (344 mm x 193 mm)
                 Hfront   80 Hsync  54 Hback  26 Hpol N
                 Vfront    6 Vsync   8 Vback  18 Vpol N
    Alphanumeric Data String: 'CMN'
    Alphanumeric Data String: 'N156HCE-GN1'
  Extension blocks: 1
Checksum: 0xd1

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

Block 1, CTA-861 Extension Block:
  Revision: 3
  Native detailed modes: 0
  Colorimetry Data Block:
    BT2020RGB
  HDR Static Metadata Data Block:
    Electro optical transfer functions:
      Traditional gamma - SDR luminance range
      SMPTE ST2084
    Supported static metadata descriptors:
      Static metadata type 1
    Desired content max luminance: 106 (496.743 cd/m^2)
    Desired content max frame-average luminance: 106 (496.743 cd/m^2)
    Desired content min luminance: 36 (0.099 cd/m^2)
Checksum: 0xdc

$ xrandr --listmonitors
Monitors: 2
 0: +*eDP-1 1920/344x1080/193+0+0  eDP-1
 1: +DP-1-4.1.5 540/899x1920/253+1920+0  DP-1-4.1.5
$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation TigerLake-H GT1 [UHD Graphics] (rev 01)
01:00.0 VGA compatible controller: NVIDIA Corporation GA104M [GeForce RTX 3080 Mobile / Max-Q 8GB/16GB] (rev a1)

2024-09-20 17:31:05 [mona@DOS ~]$ sudo dmesg | grep -i display
[    6.635106] i915 display info: display version: 12
[    6.635107] i915 display info: cursor_needs_physical: no
[    6.635108] i915 display info: has_cdclk_crawl: no
[    6.635109] i915 display info: has_cdclk_squash: no
[    6.635109] i915 display info: has_ddi: yes
[    6.635110] i915 display info: has_dp_mst: yes
[    6.635110] i915 display info: has_dsb: yes
[    6.635111] i915 display info: has_fpga_dbg: yes
[    6.635111] i915 display info: has_gmch: no
[    6.635112] i915 display info: has_hotplug: yes
[    6.635112] i915 display info: has_hti: no
[    6.635113] i915 display info: has_ipc: yes
[    6.635113] i915 display info: has_overlay: no
[    6.635114] i915 display info: has_psr: yes
[    6.635114] i915 display info: has_psr_hw_tracking: yes
[    6.635115] i915 display info: overlay_needs_physical: no
[    6.635116] i915 display info: supports_tv: no
[    6.635116] i915 display info: has_hdcp: yes
[    6.635117] i915 display info: has_dmc: yes
[    6.635117] i915 display info: has_dsc: yes
[    7.906320] nvidia-modeset: WARNING: GPU:0: Unable to read EDID for display device Samsung SyncMaster (HDMI-0)

$ inxi -G
Graphics:
  Device-1: Intel TigerLake-H GT1 [UHD Graphics] driver: i915 v: kernel
  Device-2: NVIDIA GA104M [GeForce RTX 3080 Mobile / Max-Q 8GB/16GB]
    driver: nvidia v: 555.42.02
  Device-3: Chicony Integrated Camera type: USB driver: uvcvideo
  Display: x11 server: X.Org v: 1.21.1.4 driver: X:
    loaded: modesetting,nvidia unloaded: fbdev,nouveau,vesa gpu: i915
    resolution: 1: 540x1920~60Hz 2: 1920x1080~60Hz
  OpenGL: renderer: Mesa Intel UHD Graphics (TGL GT1)
    v: 4.6 Mesa 23.2.1-1ubuntu3.1~22.04.2

$ udevadm info -e | grep -i display
E: ID_PCI_CLASS_FROM_DATABASE=Display controller
E: ID_PCI_CLASS_FROM_DATABASE=Display controller

$ cat /var/log/Xorg.0.log | grep -i display
[  1840.590] (II) NVIDIA(0): Creating default Display subsection in Screen section
[  1840.595] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:1:0:0
[  1840.596] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
[  1840.596] (--) NVIDIA(GPU-0): DFP-2: Internal DisplayPort
[  1840.596] (--) NVIDIA(GPU-0): CMN (DFP-5): Internal DisplayPort
[  1840.596] (--) NVIDIA(GPU-0): DFP-6: Internal DisplayPort

I have tried both DP-DP cable as well as HDMI-HDMI cable and both are same.