Monitor gets no signal from Quadro K2100M @ ThinkPad W540 with 337.19 driver

Hi! The Quadro K2100M in my W540 laptop refuses to provide the built-in monitor with a usable signal. This refusal comes in several steps:

  1. If I use a minimal xorg.conf just forcing X to use the nvidia driver, the card isn’t even recognized:

[ 22.037] (II) LoadModule: “glx”
[ 22.037] (II) Loading /usr/lib64/nvidia/xorg/libglx.so
[ 22.057] (II) Module glx: vendor=“NVIDIA Corporation”
[ 22.057] compiled for 4.0.2, module version = 1.0.0
[ 22.057] Module class: X.Org Server Extension
[ 22.057] (II) NVIDIA GLX Module 331.67 Fri Apr 4 11:43:47 PDT 2014
[ 22.057] Loading extension GLX
[ 22.057] (II) LoadModule: “nvidia”
[ 22.057] (II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so
[ 22.058] (II) Module nvidia: vendor=“NVIDIA Corporation”
[ 22.058] compiled for 4.0.2, module version = 1.0.0
[ 22.058] Module class: X.Org Video Driver
[ 22.058] (II) NVIDIA dlloader X Driver 331.67 Fri Apr 4 11:24:40 PDT 2014
[ 22.058] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[ 22.058] (++) using VT number 1

[ 22.067] (EE) No devices detected.
[ 22.067] (EE)
Fatal server error:
[ 22.067] (EE) no screens found(EE)
[ 22.067] (EE)

NOTE: This is an output with an older driver version, let me provide a newer one.

  1. If I add the BusID option to pinpoint the graphics card, the driver fails to acquaint a usable monitor configuration:

[ 874.056] (==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
[ 874.056] (==) NVIDIA(0): RGB weight 888
[ 874.056] (==) NVIDIA(0): Default visual is TrueColor
[ 874.056] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[ 874.057] (**) NVIDIA(0): Enabling 2D acceleration
[ 874.271] (II) NVIDIA(GPU-0): Found DRM driver nvidia-drm (20130102)
[ 874.273] (II) NVIDIA(0): NVIDIA GPU Quadro K2100M (GK106GL) at PCI:1:0:0 (GPU-0)
[ 874.273] (–) NVIDIA(0): Memory: 2097152 kBytes
[ 874.273] (–) NVIDIA(0): VideoBIOS: 80.06.63.00.1a
[ 874.273] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[ 874.279] (–) NVIDIA(0): Valid display device(s) on Quadro K2100M at PCI:1:0:0
[ 874.279] (–) NVIDIA(0): DFP-0
[ 874.279] (–) NVIDIA(0): DFP-1
[ 874.279] (–) NVIDIA(0): DFP-0: Internal Single Link TMDS
[ 874.279] (–) NVIDIA(0): DFP-0: 165.0 MHz maximum pixel clock
[ 874.279] (–) NVIDIA(0): DFP-1: Internal DisplayPort
[ 874.279] (–) NVIDIA(0): DFP-1: 960.0 MHz maximum pixel clock
[ 874.279] (EE) NVIDIA(0): Failed to assign any connected display devices to X screen 0.
[ 874.279] (EE) NVIDIA(0): Set AllowEmptyInitialConfiguration if you want the server
[ 874.279] (EE) NVIDIA(0): to start anyway
[ 874.310] (EE) NVIDIA(0): Failing initialization of X screen 0
[ 874.311] (II) UnloadModule: “nvidia”
[ 874.311] (II) UnloadSubModule: “wfb”
[ 874.311] (II) UnloadSubModule: “fb”
[ 874.311] (EE) Screen(s) found, but none have a usable configuration.
[ 874.311] (EE)
Fatal server error:
[ 874.311] (EE) no screens found(EE)
[ 874.311] (EE)

  1. Forcing the driver to treat DFP as connected monitor by applying the “ConnectedMonitors” “DFP” option results in failure to read its EDID info:

[ 1023.705] () NVIDIA(0): Depth 24, (–) framebuffer bpp 32
[ 1023.705] (==) NVIDIA(0): RGB weight 888
[ 1023.705] (==) NVIDIA(0): Default visual is TrueColor
[ 1023.705] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[ 1023.705] (
) NVIDIA(0): Option “AddARGBGLXVisuals” “true”
[ 1023.705] () NVIDIA(0): Option “LogoPath” “/usr/share/backgrounds/sabayonlinux-nvidia.png”
[ 1023.705] (
) NVIDIA(0): Option “ConnectedMonitors” “DFP”
[ 1023.705] () NVIDIA(0): Option “RegistryDwords” “EnableBrightnessControl=1”
[ 1023.705] (
) NVIDIA(0): Enabling 2D acceleration
[ 1023.705] () NVIDIA(0): Option “ConnectedMonitors” “DFP”
[ 1023.705] (
) NVIDIA(0): Option “RegistryDwords” “EnableBrightnessControl=1”
[ 1023.705] () NVIDIA(0): Enabling 2D acceleration
[ 1023.705] (
) NVIDIA(0): ConnectedMonitor string: “DFP”
[ 1023.882] (II) NVIDIA(0): Using ConnectedMonitor string “DFP-0”.
[ 1023.882] (WW) NVIDIA(0): Unable to read EDID for display device DFP-0
[ 1023.882] (II) NVIDIA(GPU-0): Found DRM driver nvidia-drm (20130102)
[ 1023.883] (II) NVIDIA(0): NVIDIA GPU Quadro K2100M (GK106GL) at PCI:1:0:0 (GPU-0)
[ 1023.883] (–) NVIDIA(0): Memory: 2097152 kBytes
[ 1023.883] (–) NVIDIA(0): VideoBIOS: 80.06.63.00.1a
[ 1023.883] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[ 1023.887] (–) NVIDIA(0): Valid display device(s) on Quadro K2100M at PCI:1:0:0
[ 1023.887] (–) NVIDIA(0): DFP-0 (connected)
[ 1023.887] (–) NVIDIA(0): DFP-1
[ 1023.887] (–) NVIDIA(0): DFP-0: Internal TMDS
[ 1023.887] (–) NVIDIA(GPU-0): DFP-0: 165.0 MHz maximum pixel clock
[ 1023.887] (–) NVIDIA(0): DFP-1: Internal DisplayPort
[ 1023.887] (–) NVIDIA(GPU-0): DFP-1: 960.0 MHz maximum pixel clock
[ 1023.887] () NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display
[ 1023.887] (
) NVIDIA(0): device DFP-0 (Using EDID frequencies has been enabled on
[ 1023.887] () NVIDIA(0): all display devices.)
[ 1023.887] (==) NVIDIA(0):
[ 1023.887] (==) NVIDIA(0): No modes were requested; the default mode “nvidia-auto-select”
[ 1023.887] (==) NVIDIA(0): will be used as the requested mode.
[ 1023.887] (==) NVIDIA(0):
[ 1023.887] (II) NVIDIA(0): Validated MetaModes:
[ 1023.887] (II) NVIDIA(0): “DFP-0:nvidia-auto-select”
[ 1023.887] (II) NVIDIA(0): Virtual screen size determined to be 800 x 600
[ 1023.890] (WW) NVIDIA(0): Unable to get display device DFP-0’s EDID; cannot compute DPI
[ 1023.890] (WW) NVIDIA(0): from DFP-0’s EDID.
[ 1023.890] (==) NVIDIA(0): DPI set to (75, 75); computed from built-in default
[ 1023.890] (
) NVIDIA(0): Enabling 32-bit ARGB GLX visuals.
[ 1023.890] (–) Depth 24 pixmap format is 32 bpp
[ 1023.890] (II) NVIDIA: Using 3072.00 MB of virtual memory for indirect memory
[ 1023.890] (II) NVIDIA: access.
[ 1023.893] (II) NVIDIA(0): ACPI: failed to connect to the ACPI event daemon; the daemon
[ 1023.893] (II) NVIDIA(0): may not be running or the “AcpidSocketPath” X
[ 1023.893] (II) NVIDIA(0): configuration option may not be set correctly. When the
[ 1023.893] (II) NVIDIA(0): ACPI event daemon is available, the NVIDIA X driver will
[ 1023.893] (II) NVIDIA(0): try to use it to receive ACPI event notifications. For
[ 1023.893] (II) NVIDIA(0): details, please see the “ConnectToAcpid” and
[ 1023.893] (II) NVIDIA(0): “AcpidSocketPath” X configuration options in Appendix B: X
[ 1023.893] (II) NVIDIA(0): Config Options in the README.
[ 1023.897] (II) NVIDIA(0): Setting mode “DFP-0:nvidia-auto-select”
[ 1023.927] (II) NVIDIA(0): Logo “/usr/share/backgrounds/sabayonlinux-nvidia.png” is
[ 1023.928] (II) NVIDIA(0): bigger than the screen.
[ 1023.928] Loading extension NV-GLX
[ 1023.937] (==) NVIDIA(0): Disabling shared memory pixmaps
[ 1023.937] (==) NVIDIA(0): Backing store disabled
[ 1023.937] (==) NVIDIA(0): Silken mouse enabled
[ 1023.937] (==) NVIDIA(0): DPMS enabled

  1. Finally, providing a custom EDID (extracted from a working X session with a different driver using the read-edid tool [http://wiki.mandriva.com/en/Tools/monitor-edid]), X starts normally, but still without any signal sent to the screen:

[ 99.689] () NVIDIA(0): Depth 24, (–) framebuffer bpp 32
[ 99.689] (==) NVIDIA(0): RGB weight 888
[ 99.689] (==) NVIDIA(0): Default visual is TrueColor
[ 99.689] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[ 99.689] (
) NVIDIA(0): Option “AddARGBGLXVisuals” “true”
[ 99.689] () NVIDIA(0): Option “LogoPath” “/usr/share/backgrounds/sabayonlinux-nvidia.png”
[ 99.690] (
) NVIDIA(0): Option “ConnectedMonitors” “DFP”
[ 99.690] () NVIDIA(0): Option “CustomEDID” “DFP-0:/etc/X11/edid.bin”
[ 99.690] (
) NVIDIA(0): Option “RegistryDwords” “EnableBrightnessControl=1”
[ 99.690] () NVIDIA(0): Enabling 2D acceleration
[ 99.690] (
) NVIDIA(0): ConnectedMonitor string: “DFP”
[ 99.874] (II) NVIDIA(0): Using ConnectedMonitor string “DFP-0”.
[ 99.877] (II) NVIDIA(0): Display (CMN (DFP-0)) does not support NVIDIA 3D Vision
[ 99.877] (II) NVIDIA(0): stereo.
[ 99.877] (II) NVIDIA(GPU-0): Found DRM driver nvidia-drm (20130102)
[ 99.879] (II) NVIDIA(0): NVIDIA GPU Quadro K2100M (GK106GL) at PCI:1:0:0 (GPU-0)
[ 99.879] (–) NVIDIA(0): Memory: 2097152 kBytes
[ 99.879] (–) NVIDIA(0): VideoBIOS: 80.06.63.00.1a
[ 99.879] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[ 99.881] (–) NVIDIA(0): Valid display device(s) on Quadro K2100M at PCI:1:0:0
[ 99.881] (–) NVIDIA(0): CMN (DFP-0) (connected)
[ 99.881] (–) NVIDIA(0): DFP-1
[ 99.881] (–) NVIDIA(0): CMN (DFP-0): Internal TMDS
[ 99.881] (–) NVIDIA(GPU-0): CMN (DFP-0): 165.0 MHz maximum pixel clock
[ 99.881] (–) NVIDIA(0): DFP-1: Internal DisplayPort
[ 99.881] (–) NVIDIA(GPU-0): DFP-1: 960.0 MHz maximum pixel clock
[ 99.881] () NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display
[ 99.881] (
) NVIDIA(0): device CMN (DFP-0) (Using EDID frequencies has been
[ 99.881] () NVIDIA(0): enabled on all display devices.)
[ 99.882] (==) NVIDIA(0):
[ 99.882] (==) NVIDIA(0): No modes were requested; the default mode “nvidia-auto-select”
[ 99.882] (==) NVIDIA(0): will be used as the requested mode.
[ 99.882] (==) NVIDIA(0):
[ 99.882] (II) NVIDIA(0): Validated MetaModes:
[ 99.882] (II) NVIDIA(0): “DFP-0:nvidia-auto-select”
[ 99.882] (II) NVIDIA(0): Virtual screen size determined to be 1920 x 1080
[ 99.888] (–) NVIDIA(0): DPI set to (143, 144); computed from “UseEdidDpi” X config
[ 99.888] (–) NVIDIA(0): option
[ 99.888] (
) NVIDIA(0): Enabling 32-bit ARGB GLX visuals.
[ 99.888] (–) Depth 24 pixmap format is 32 bpp
[ 99.888] (II) NVIDIA: Using 3072.00 MB of virtual memory for indirect memory
[ 99.888] (II) NVIDIA: access.
[ 99.891] (II) NVIDIA(0): ACPI: failed to connect to the ACPI event daemon; the daemon
[ 99.891] (II) NVIDIA(0): may not be running or the “AcpidSocketPath” X
[ 99.891] (II) NVIDIA(0): configuration option may not be set correctly. When the
[ 99.891] (II) NVIDIA(0): ACPI event daemon is available, the NVIDIA X driver will
[ 99.891] (II) NVIDIA(0): try to use it to receive ACPI event notifications. For
[ 99.891] (II) NVIDIA(0): details, please see the “ConnectToAcpid” and
[ 99.891] (II) NVIDIA(0): “AcpidSocketPath” X configuration options in Appendix B: X
[ 99.891] (II) NVIDIA(0): Config Options in the README.
[ 99.894] (II) NVIDIA(0): Setting mode “DFP-0:nvidia-auto-select”
[ 99.929] (II) NVIDIA(0): Logo “/usr/share/backgrounds/sabayonlinux-nvidia.png” is
[ 99.929] (II) NVIDIA(0): bigger than the screen.
[ 99.929] Loading extension NV-GLX
[ 99.957] (==) NVIDIA(0): Disabling shared memory pixmaps
[ 99.957] (==) NVIDIA(0): Backing store disabled
[ 99.957] (==) NVIDIA(0): Silken mouse enabled
[ 99.957] (==) NVIDIA(0): DPMS enabled

The (text format) EDID file looks like this:

EISA ID: CMN15c0
EDID version: 1.4
EDID extension blocks: 0
Screen size: 34.4 cm x 19.4 cm (15.55 inches, aspect ratio 16/9 = 1.77)
Gamma: 2.2
Digital signal

    # Monitor preferred modeline (60.0 Hz vsync, 68.3 kHz hsync, ratio 16/9, 141 dpi)
    ModeLine "1920x1080" 151.6 1920 2010 2070 2220 1080 1086 1095 1138 -hsync -vsync

I’m not really sure if the error is on the driver side, but the fact that other drivers like “fbdev” or “modesetting” work normally points to that.

Would be great if someone could help me out with this. Maybe this is a known issue with a workaround??

Some system details:
OS: Sabayon Linux
Kernel: 3.14.0
X server: 1.14.6
Nvidia driver: 337.19
Graphics card: Quadro K2100M (GK106GLM)
[This file was removed because it was flagged as potentially malicious] (173 KB)
nvidia-bug-report.log_with_busid.gz (175 KB)
[This file was removed because it was flagged as potentially malicious] (188 KB)
nvidia-bug-report.log_with_customEDID.gz (189 KB)

The verbose X log output (X -logverbose 6) suggests that none of the two detected display devices (DFP-0 and DFP-1) represent the monitor:

[ 529.713] (–) NVIDIA(0): DFP-0: DFP is not internal to notebook

[ 529.713] (–) NVIDIA(0): DFP-1: DFP is not internal to notebook

So probably the internal monitor is not detected at all, and the failure of forced DFP output is no surprise either.

Physically, the graphics card has a DisplayPort connector, so the “Internal DisplayPort” associated with DFP-1 supposedly relates to it (despite the “internal” attribute).
On the other hand, the DFP-0 “Internal TMDS” seems to be an internal HDMI connection since there is no external HDMI port.

One more detail: the command “nvidia-xconfig --query-cpu-info” returns zero detected display devices:

Number of GPUs: 1

GPU #0:
Name : Quadro K2100M
UUID : GPU-79317a02-ac9a-9fac-e4a8-728c7ec28ae4
PCI BusID : PCI:1:0:0

Number of Display Devices: 0

I think your laptop is Optimus try http://us.download.nvidia.com/XFree86/Linux-x86_64/331.79/README/optimus.html

Thanks, but I have only one graphics card. However, I haven’t checked if some of the Optimus instruction may be helpful anyway…

The issue is still present with the current 337.25 driver. See attached log files.
nvidia-bug-report__v337_25.log.gz (175 KB)
nvidia-bug-report__v337_25__withcustomEDID.log.gz (189 KB)

From your bug report log:

/sbin/lspci -nn

00:02.0 VGA compatible controller [0300]: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller [8086:0416] (rev 06)
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK106GLM [Quadro K2100M] [10de:11fc] (rev a1)

You have two video controllers. The Intel GPU is on CPU. You have an Optimus. It looks like Lenovo has removed the option to disable Optimus in UEFI, too: https://forums.lenovo.com/t5/W-Series-ThinkPad-Laptops/W540-Disabling-Optimus-in-BIOS-UEFI-gone/td-p/1463401.

You’re going to have to either setup Bumblebee or the randr 1.4 offloading for Optimus as described in the docs.

Oops. Thanks, at least something to start with.
Confusing that only one GPU is reported…