I recently bought an ultrawide monitor to enjoy.

It has:

  • 100Hz refresh rate
  • 3440x1440 max resolution
  • two thunderbolt 3 ports
  • two 7w speakers
  • curved screeen



After entering login details, the screen just turned black with a lonely cursor freely moving.

Switching to another VT (e.g. Ctrl+Alt+F2) and switch back brought back the desktop content, but the monitor was not in 1440P, 100Hz mode. In fact the desired mode was no where to be found in System Settings -> Dsipaly and Monitor -> Displays.

Identify the problem

For some reason, in system log, kscreen logs

Failed to find a matching mode

caught my eye.

If I unplug the thunderbolt cable and insert it back in, everything works. It is just the boot process that cannot find the mode.

It suggested that I should try specifying the Modeline in xorg.conf which can be read by X server when booting.

Find Modeline for this monitor

First tried

xrandr --props

No modeline

Then tried

xvidtune -show

Does not make sense

Finally, go to /var/log/Xorg.0.log and search for Modeline "3440x1440"x100.0. The modeline for my model is as follows:

modeset(G0): Modeline "3440x1440"x100.0  543.50  3440 3488 3520 3600  1440 1443 1453 1510 +hsync -vsync (151.0 kHz e)

Apply Modeline in an xorg.conf file

Create a new conf file at /etc/X11/xorg.conf.d/10-monitor-lc34j791.conf

Section "Monitor"
	Identifier	"lc34j791"
# your display output name might not be the same, see man xorg.conf for details
	Option "Monitor-DP-1-1" "lc34j791"
# have a different name than the default one
	Modeline "3440x1440_100.0"  543.50  3440 3488 3520 3600  1440 1443 1453 1510 +hsync -vsync
	Option	"PreferredMode" "3440x1440_100.0"
	Option "Primary" "true"

And at /etc/X11/xorg.conf:

Section "Screen"
    Identifier "nvidia prime screen"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration"
# this above settings depends on your config
# the following settings are the key part
    Monitor "lc34j791"
    SubSection "Display"
	    Depth 24
	    Modes "3440x1440_100.0"