When I boot Ubuntu 18.04 LTS with two external USB-C DisplayPort 4K monitors, the display freezes prior to the login screen. However, if I first boot with only one external USB-C DisplayPort 4k monitor, I am able to plug the 2nd monitor in and get both working if I set both monitors to 29.98 Hz. This is due to a limitation of the Intel NUC I am using, which only supports two USB-C 4k monitors at 30 Hz per Multiple Display Configuration Options for Intel® NUC Kits NUC10i7FN > Triple Display.
I believe the issue is that X attempts to detect the monitor resolution and refresh rate and is trying to run both monitors at 4K resolution at 60 Hz, which is unsupported per Intel.
My hardware setup is:
I have tried the following:
- Commenting out the ~/.config/monitors.xml entries with 4K resolution at >30 Hz per Changing refresh rate for specific monitor.
- Switching to a single monitor in Settings > Displays before restarting.
- Copying ~/.config/monitors.xml to /var/lib/gdm3/.config/monitor.xml per How to change the login screen resolution in Ubuntu 18.04.
- Creating an xorg.conf and setting VertRefresh to 29.98 Hz per How to setup a dual monitor > statically setup in xorg.conf and [Solved] xorg.conf: Set preferred monitor refresh rate. This actually made things worse with X using high CPU and freezing if I attached both DisplayPort monitors after booting.
Finally, I have attempted to follow https://wiki.ubuntu.com/X/Troubleshooting/Freeze, but do not know where to report a GPU lockup bug. The logs that appear to be relevant are:
dmesg.txt
[ 38.752968] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
Xorg.0.log
[ 481.032] _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
[ 481.032] _XSERVTransMakeAllCOTSServerListeners: server already running
[ 481.032] (EE)
Fatal server error:
[ 481.032] (EE) Cannot establish any listening sockets - Make sure an X server isn't already running(EE)
[ 481.032] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 481.032] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 481.032] (EE)
[ 481.032] (EE) Server terminated with error (1). Closing log file.
i915_error_state
[empty]
Any suggestions on how to boot with dual USB-C DisplayPort monitors without X freezing?