No full resolution with external monitor - Intel UHD 620 / NVIDIA GP109M MX150 - 1440p/4k

Hi everyone,
I have installed ZorinOS on my laptop with dual boot Windows 10.
Its has Intel and NVIDIA graphics.
I have the problem, that with my external HDMI monitor I cannot configure the full resolution.
The HDMI port on my laptop is limited to 4k/30Hz or 1440p/60Hz.
But in ZorinOS the maximum resolution for the external monitor is 1080p/60Hz, there are no options above that. I don't have the problem with the live version of Pop!_OS (also Ubuntu based).
In the "NVIDIA X Server Setting" I switched between the "NVIDIA On-Demand" GPU (Intel UHD?) and "NVIDIA (Performance Mode)". But there are no differences in relation to the resolution.

Is the any solution/idea for the issue?
Thx in advance!

ZorinOS:


Pop!_OS:

System information:

  • Acer Swift 3 SF314-56G-76DL
  • Intel Core i7-8565U, 20GB RAM, 512GB PCIe SSD, NVIDIA
    GeForce MX150, Intel UHD 620
  • External Monitor Philips 278E1 (4k/60Hz)
  • uname -a:
    Linux xxxxx-Acer-Swift 5.15.0-52-generic #58~20.04.1-Ubuntu SMP Thu Oct 13 13:09:46 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
  • sudo lshw -C video:
  *-display                 
       description: VGA compatible controller
       product: UHD Graphics 620 (Whiskey Lake)
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 00
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:137 memory:a2000000-a2ffffff memory:b0000000-bfffffff ioport:4000(size=64) memory:c0000-dffff
  *-display
       description: 3D controller
       product: GP108M [GeForce MX150]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:02:00.0
       version: a1
       width: 64 bitsThis text will be hidden
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:146 memory:a3000000-a3ffffff memory:90000000-9fffffff memory:a0000000-a1ffffff ioport:3000(size=128)
  • inxi -G:
Device-1: Intel UHD Graphics 620 driver: i915 v: kernel 
Device-2: NVIDIA GP108M [GeForce MX150] driver: nvidia v: 515.65.01 
Display: x11 server: X.Org 1.20.13 driver: modesetting,nvidia 
unloaded: fbdev,nouveau,vesa 
resolution: 1920x1080~60Hz, 1920x1080~60Hz 
OpenGL: renderer: Mesa Intel UHD Graphics 620 (WHL GT2) v: 4.6 Mesa 21.2.6
  • inxi -G (in Pop!_OS):
Device-1: Intel WhiskeyLake-U GT2 [UHD Graphics 620] driver: i915 v: kernel 
Device-2: NVIDIA GP108M [GeForce MX150] driver: N/A
Display: x11 server: X.Org v: 1.21.1.3 driver: x: loaded: modesetting 
unloaded: fbdev,vesa gpu i915
resolution: 2560x1440~60Hz, 1920x1080~60Hz 
OpenGL: renderer: Mesa Intel UHD Graphics 620 (WHL GT2) v: 4.6 Mesa 22.0.5

Zorin has issues with nvidia drivers or something. When i switched to a lower resolution my screen just went black (zorin 16 and 16.1). Never had this issue with Pop! OS (21.04/21.10 and 22.04). I can’t advice you here what to do or how to fix this.

Try creating a new file called xorg.conf in /etc/x11/
the full path should be
etc/x11/xorg.conf

In the xorg.conf file, paste the following and save it.

Section "Screen"
        ...
        SubSection "Display"
                Virtual 3600 1200
        EndSubSection
EndSection

If that does not work,
Use

xrandr

To get your Display ID.
Then run the following command, replacing DP1 with the Display ID you got from xrandr above:

xrandr --addmode DP1 3840x2160

Thx for the answers :slight_smile:

That's sad :confused:

I created the file /etc/X11/xorg.conf with this settings, but after a reboot, the laptop stuck at the boot up (I had to delete the file):

I tried the following:
sudo xrandr --addmode HDMI-1 2560x1440
and
sudo xrandr --addmode HDMI-1 3840x2160
but it didn't worked. I get this errors:
xrandr: cannot find mode "2560x1440"
xrandr: cannot find mode "3840x2160"

This is the output of xrand for the external monitor:

HDMI-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 597mm x 336mm
   1920x1080     60.00*   50.00    59.94  
   1680x1050     59.88  
   1280x1024     75.02    60.02  
   1440x900      59.90  
   1280x960      60.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32    56.25  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    72.81    66.67    60.00    59.94  
   720x400       70.08

Ok, let's try

xrandr --newmode "3840x2160_30.00" 297.0 3840 4016 4104 4400 2160 2168 2178 2250 +hsync -vsync
xrandr --addmode HDMI-1 "3840x2160_30.00"
xrandr --output HDMI-1 --mode "3840x2160_30.00"

If that doesn't work, try removing the dash HDMI-1 > HDMI1(I know... it's weird. But sometimes that works.)
If not, please relay the error here...

1 Like

Thank you, that works!
How did you create the settings?

In general though, I would prefer 1440p/60Hz.
I tried cvt:

cvt 2560 1440 60
# 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

And then:

xrandr --newmode "2560x1440_60.00"  312.25  2560 2752 3024 3488  1440 1443 1448 1493 -hsync +vsync
xrandr --addmode HDMI-1 "2560x1440_60.00"
xrandr --output HDMI-1 --mode "2560x1440_60.00"

But I get this error:

xrandr: Configure crtc 0 failed

Refresh rate may be too high...

xrandr --newmode "2560x1440_33.00"  162.77  2560 2688 2960 3360  1440 1441 1444 1468  -HSync +Vsync
xrandr --addmode HDMI-1 2560x1440_33.00
xrandr --output HDMI-1 --mode 2560x1440_33.00

I tested it out a bit and up to 58Hz it works. :slight_smile:

xrandr --newmode "2560x1440_58.00"  300.00  2560 2744 3016 3472  1440 1443 1448 1491 -hsync +vsync
xrandr --addmode HDMI-1 2560x1440_58.00
xrandr --output HDMI-1 --mode 2560x1440_58.00

Thx for your support!

1 Like

OT: how can I save the display settings (resolution, position) of the monitors?
If I disconnect the external monitor and reconnect, then the settings are gone.

It's tricky if you are using a monitor that you unplug and plug a lot, rather than leaving connected.
If you have time, can you test adding

xrandr --newmode "2560x1440_58.00"  300.00  2560 2744 3016 3472  1440 1443 1448 1491 -hsync +vsync
xrandr --addmode HDMI-1 2560x1440_58.00

to your home profile file in ~/.profile
Then test with the monitor connected and disconnected and see if it works properly.
If not, we may need to try something else.

1 Like

Thx, that works! :ok_hand: