Ubuntu – Thinkpad w540 w/ Ultra Dock only one external monitor works

displayportdockingmultiple-monitorsnvidianvidia-optimus

I have installed Ubuntu 14.04 on this Lenovo ThinkPad W540 laptop, and everything appears to be working ok by itself. Today I received my docking station to which I intended to hook up 2 external monitors (worked fine with a Dell on a Dell docking station in Linux Mint 14). One monitor is hooked up via DVI, the other is hooked up via DVI -> HDMI adapter.

I found Dock with dual external DVI monitors with Intel + Nvidia Optimus?, but this laptop has no BIOS setting to disable Optimus. Therefore I installed bumblebee + nVidia propietary drivers.

When I try to configure the Displays, only one of the external monitors and the built-in display show up, and whatever is displayed on that one external monitor is mirrored to the other.

I also attempted without bumblebee using only the discrete card, but that didn't work either. nvidia-settings couldn't detect ANY displays at all. (it doesn't detect the built-in either, leading me to believe something is really off, but I haven't been able to figure out what). Adding bumblebee and using the integrated card turned out to have higher performance with dual monitors.

Can anyone help?

Thanks!

> lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 VGA compatible controller: NVIDIA Corporation GK106GLM [Quadro K2100M] (rev ff)

> sudo dpkg -l | grep nvidia
ii  bumblebee-nvidia                                      3.2.1-90~trustyppa1                                 amd64        NVIDIA Optimus support using the proprietary NVIDIA driver
rc  nvidia-331                                            331.38-0ubuntu7                                     amd64        NVIDIA binary driver - version 331.38
ii  nvidia-331-updates                                    331.38-0ubuntu7                                     amd64        NVIDIA binary driver - version 331.38
rc  nvidia-libopencl1-331                                 331.38-0ubuntu7                                     amd64        NVIDIA OpenCL Driver and ICD Loader library
ii  nvidia-libopencl1-331-updates                         331.38-0ubuntu7                                     amd64        NVIDIA OpenCL Driver and ICD Loader library
rc  nvidia-opencl-icd-331                                 331.38-0ubuntu7                                     amd64        NVIDIA OpenCL ICD
ii  nvidia-opencl-icd-331-updates                         331.38-0ubuntu7                                     amd64        NVIDIA OpenCL ICD
ii  nvidia-prime                                          0.6.2                                               amd64        Tools to enable NVIDIA's Prime
ii  nvidia-settings                                       331.20-0ubuntu8                                     amd64        Tool for configuring the NVIDIA graphics driver

> sudo dpkg -l | grep bumblebee
ii  bumblebee                                             3.2.1-90~trustyppa1                                 amd64        NVIDIA Optimus support
ii  bumblebee-nvidia                                      3.2.1-90~trustyppa1                                 amd64        NVIDIA Optimus support using the proprietary NVIDIA driver

Best Answer

The Thinkpad w540 and T440 docking station uses an internal MST Hub to split the DisplayPort signal for multiple outputs. This is not supported in Linux yet. There are some working patches but the patches are not expected to see mainline release until Linux 3.16. The relevant freedesktop.org bug is #72795.