DisplayPort - Sometimes black screen when starting Xorg - switching off and back on fixes


Distro: Arch Linux
kernel version: 4.2.4
driver version: 355.11
Xorg version: 1.17.3
[For what it’s worth, last April I gave up on this very same problem, with whatever versions were new back then.]

Long story short: Monitor attached to DisplayPort gets sometimes stuck displaying just black, when moving from terminal to a graphical environment (ie. starting up Xorg). HDMI port works. Same port works on Windows. Black only sometimes, other times it works. Shutting down the monitor when it’s black, and then powering it on again gets it working. Bug report at the bottom.

Long story long:

I have a fresh install of Arch Linux. I installed Xorg, the nVidia drivers, a window manager and a login manager. In between there was some other setup stuff that I don’t believe to be relevant, such as keyboard layouts and timezones and such. The machine still boots to the basic terminal, Xorg is not configured to start on boot.

I have a GTX980 connected to two monitors. The primary one is connected to a DisplayPort 1.2 output, and the secondary to a HDMI 2.0. When I boot to the terminal, the HDMI monitor remains in sleep mode, and the DP monitor starts up and displays the terminal as expected. When I start Xorg and move from the terminal to the graphical environment, the secondary HDMI monitor always wakes up from its sleep normally and displays expected picture. However, sometimes the DP monitor simply remains black, displaying no picture. Some of the time, it behaves normally and starts displaying the graphical window environment. Roughly estimating the screen remains black more often not.

While being stuck in the black screen state, the monitor still seems to be running. The power light has the “powered on” color and not “sleep mode” color, and usually the monitor would show something along the lines of “no signal, going to sleep” if it stops receiving signal. Commands I’ve run while the screen is black seem to detect the monitor one just fine, eg. xrandr reports it, Xorg logs mention it, and so on. However, the OSD of the monitor does not work in this state. It got physical buttons on it that usually bring up a menu where settings can be changed. In the black state, the buttons do nothing. Only buttons that work are an autoconfig button that toggles the settings between two preconfigured presets and isn’t supposed to open a menu, and the power button. The problem can be fixed by using the power button - shutting down the monitor and then turning it on again gets the monitor to start displaying a picture like it’s supposed to.

If I take the HDMI cable from the secondary monitor, and use that for the primary monitor instead of the DisplayPort connection, the monitor works just fine. I was able to exit from the wm to terminal and start up the wm again a good dozen times with no issues. When using the DisplayPort, starting the wm is practically certain to reproduce the issue on the first four tries, often on the first one.

The issue remains if I disconnect the secondary HDMI monitor completely and only use the DisplayPort monitor alone. I don’t have other monitors with a DisplayPort connector, I am not able to try if another monitor would reproduce the issue when connected to the DisplayPort connector.

On the same machine there’s also Windows installed, and the monitor works just fine there. I thus am confident this is not a hardware issue.

I generated /etc/X11/xorg.conf with nvidia-xconfig. The problematic monitor has the identifier “DP-0”. After discovering the issue, I’ve tried some different manual edits to the file, as well as not having the file at all, to no avail. In the end I generated it with nvidia-xconfig again, to discover it this time generated a different, more full one than when running it right after installation, but the issue still remains with this newest xorg.conf. I’ve tried three different desktop environments/window managers and two different login managers as well as not using a login manager, and the issue remains consistent, so I don’t think the culprit is there. The problem persist whether I use startx to run ~/.xinitrc or run some service that a login manager comes with to move to the graphical environment from the terminal.

The debug log was generated while the screen was in this errorneous black state. The xorg.conf included in the debug log is the most recent one I’ve tried, generated by nvidia-xconfig (slightly edited to remove a keyboard entry). For what it’s worth, I’ve compared Xorg.0.log from when the issue manifests and those times when everything works, and the files are identical, excluding time stamps and event numbers.

Edit: Updated version numbers. Uploaded correct bugreport. Previously I missed a space in – -verbose 6

Edit: I updated the GPU DD BIOS (from the card manufacturer’s version that’s based on 84.04.1F.00.B8 to one that’s based on version Did not help.

Edit: Removed the bug report.