2

I've hooked up a 3440x1440 display to my Ubuntu laptop. The laptop detected and used the screen with a lower default resolution of 2560x1440, and no higher option available in display settings.

I've used the following commands to add the custom resolution:

sudo xrandr --newmode "3440x1440_60.00"  419.50  3440 3696 4064 4688  1440 1443 1453 1493 -hsync +vsync
sudo xrandr --addmode HDMI-2 "3440x1440_60.00"

and it does indeed add the setting to the settings screen. But when I try to apply it, it instantly switches back to 2560x1440.

This display is correctly autodetected and used at full resolution by another computer (non-Ubuntu).

I have checked that my grub conf does not contain nomodeset. I have also checked that my GPU supports higher resolutions (Intel UHD Graphics 620).

How can I troubleshoot this issue?

foucdeg
  • 71
  • Is it possible your graphics hardware doesn't have enough firepower to drive a screen that big? – xpusostomos Aug 18 '20 at 02:11
  • What GPU is it? – xpusostomos Aug 18 '20 at 02:12
  • @xpusostomos my GPU is a Intel UHD Graphics 620. According to this link, it should be sufficient: https://www.intel.com/content/www/us/en/support/products/126789/graphics/graphics-for-8th-generation-intel-processors/intel-uhd-graphics-620.html – foucdeg Aug 18 '20 at 08:02
  • Have you checked all your monitor hardware options? For example, I had a similar problem today, I couldn't get full resolution until I turned off freesync using the monitors physical buttons. – xpusostomos Aug 19 '20 at 10:29
  • @xpusostomos I did find some options in the monitor's menus, for instance I can change the way it handles the lower resolution (stretching or reduced surface); But nothing about the full res. And my other computers (a Mac and a Windows PC) can use that same screen normally without any configuration. – foucdeg Aug 19 '20 at 13:04
  • when I did this (the portion that i tested on my machine) https://askubuntu.com/questions/1264655/running-multiple-monitors-with-different-dpi/1268083#1268083 ... xrandr ended up reporting that my resolution was 2560x1440 on my external. I wanted to hear if it worked for the question asker, to see it work on another setup before I felt confident in it. But you can play try playing with the panning like I did there. – WU-TANG Aug 20 '20 at 16:05
  • What kind of monitor is it? I don't suppose it's a Samsung CF791. I've had a few situation where this resolution doesn't work in Linux. One situation was using a Lenovo dock, it didn't work until I swapped to 2560x1440. The other situation was where I had freesync turned on in the monitor's menus. In that case I think it also prevented Windows from using that resolution. Do you have the ability to boot Windows and see if Windows can do it? In both cases I tried all the xrandr incantations, but didn't get anywhere. – xpusostomos Aug 21 '20 at 04:47

1 Answers1

2

First you don't need to use sudo with xrandr.

Second you need to run cvt to get the settings to pass to xrandr --newmode. For example (on my 4K TV):

cvt -v 3840 2160 56

Warning: Refresh Rate is not CVT standard (50, 60, 75 or 85Hz).

3840x2160 55.98 Hz (CVT) hsync: 124.95 kHz; pclk: 661.75 MHz

Modeline "3840x2160_56.00" 661.75 3840 4152 4568 5296 2160 2163 2168 2232 -hsync +vsync

Then copy the Modeline output as input for xrandr --newmode:

$ xrandr --newmode "3840x2160_56.00"  661.75  3840 4152 4568 5296  2160 2163 2168 2232 -hsync +vsync

X Error of failed request: BadName (named color or font does not exist) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 16 (RRCreateMode) Serial number of failed request: 52 Current serial number in output stream: 52

The refresh rate is too high in this case so I reduced it to 54 Hz and repeated the process.

  • As well as these suggestions you could also try running ctv with the reduced blanking flag which can sometimes solve issues like these, so instead of cvt 3440 1440 you would run cvt -r 3440 1440. It reduces the pclk / dotclock MHz value. I don't really fully understand the tech but I believe without the flag some resolutions/refresh rates will have a higher dotclock value than the graphics adaptor or monitor can handle and reducing it can sometimes fix the issue. – codlord Aug 24 '20 at 05:46