Nvidia NVS 295 +X11 headless

Hi,
I’m having an issue with an Nvidia NVS 295 display card. I’m trying to connect it to a couple of 3o" monitors with the resolution 2560x1600 pixels. The card works OK with the driver from the Nvidia website except if I try to activate X11 headless, i.e. with both monitors turned off. I tried doing this with Windows 7 installed on an identical workstation to the one I’m running Linux on (Fedora 20) and Windows was able to boot to the graphical desktop with both monitors turned off so this is not a cable/monitor issue, it must be driver/X11 related. Is there anybody here who might have a clue about the issue here? Is X11 unable to read DDC data from a monitor unless it is powered on?

Cheers
FN

It’s likely that Windows can’t read the EDID either. The difference is that unlike Linux, Windows handles hotplug events in the core operating system. That means it can happily start up with no connected displays and reliably light them up later when they appear.

The NVIDIA X driver refuses to start by default if it doesn’t detect at least one connected display. The reason for this is that if there is no client to handle hotplug events, the system will look like it just locked up. If you are running something that can handle hotplug events (such as GNOME or KDE), then you can use the AllowEmptyInitialConfiguration option in xorg.conf to allow the server to start even if there are no display devices. You can use “sudo nvidia-xconfig --allow-empty-initial-configuration” to easily set that option.

Thanks for your reply. I figured this was an X11 only problem because I tried the same exercise with an AMD Fire Pro card and it exhibited the exact same behaviour as the NVIDIA card did with the proprietary driver. I suppose the AMD driver has a similar limitation as the NVIDIA one, i.e. that it won’t start unless it has at least one display attached. My employer has a fleet of something around 100 or so linux workstations and about a third of them is running a legacy app on MWM which I fear is too primitive for hot-plug events so I’d be shit out of luck there but at least the Gnome/KDE workstations will benefit from this information. I’m assuming the open source driver does not use org.conf like the proprietary NVIDIA one since I don’t have access to a Fedora box at the moment so is there any way of setting this option on Linux Systems that don’t have a org.conf file like the more recent Fedora distributions ?

xorg.conf is not required to load the nvidia driver on recent systems, and even if your system doesn’t have one, you can still create it in order to set custom options. I don’t know if the open source drivers have a similar option but if they did, you’d still be able to use xorg.conf to set it.

This problem is getting stranger by the minute. When I boot the computer to a command line prompt with the monitor on everything is fine but when I turn the monitor off and then on again the monitor does not show a signal until I run the nvidia-smi command which seems to wake the monitor up?!? This is only the case when I use a card with native Display Port outputs or a DMS-59 Y converter. I have tried five or six different brands of DisplayPort cables and the problem still persists so I’m pretty sure it’s not the cables that are at fault. I even tried to swap out the NVS 295 for a NVS 310 card but no luck with DisplayPort. If I use a DVI-D cable for full 2560x1600 resolution and a display card with a suitable connector the card seems to have no problems figuring out the monitor is powered up.

This is unfortunately expected. DVI works by having the GPU just blast pixels down the wire, and it’s up to the monitor to figure out how to handle it. That means that the system BIOS can set up the GPU to drive a particular mode, and it just keeps doing that until told otherwise. DisplayPort, on the other hand, requires active communication between the source and sink devices. Currently, the X driver serves as the source side of that communication: if it’s not running, then the monitor has nothing to communicate with when it needs to request renegotiation of the link.

Running nvidia-smi gives the driver a chance to notice that it needs to re-train the link before it gets unloaded again when nvidia-smi exits.

Thanks for that explanation. I am still a bit confused as to who is to blame for this malfunction. Is it the driver? the display card? … or the display it self? You mentioned earlier that Windows was probably unable to read the EDID as well when the display is switched off. That would mean (I’m guessing here) that Windows is somehow running a ‘dummy’ display in the background to sucker the desktop GUI into thinking the monitor was hooked up. Then when the display is actually detected Windows presumably just starts blasting pixels onto the display over the DP cable. One would have thought that X11 could do the same.

Anyway, I contacted NEC who claimed that on several of their monitor types with a size of 27 inches or more the EDID information is not readable because of an EU requirement that electronic devices do not use more than 0.5W in standby mode, to achieve that these NEC monitors go into deep-sleep and turn of the EDID unit (DOH!!). They recommended I make certain changes to the power management settings of the display but no cigar. I even tried to dump the monitor’s EDID using the nvidia-settings utility to force X11 to read that in place of the EDID on the monitor but to no avail.