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?


> 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

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.

  • 2
    Thanks for the information, as little as I wanted to hear it. – tavise May 28 '14 at 22:19
  • You could try connecting the two external displays through the Thunderbolt and mini DisplayPort ports. (Does it have a separate Thunderbolt port? Specs on Lenovo's site say so). Or through DisplayPort and VGA if not Thunderbolt. Or one monitor through the dock and the other on the mini DP port? (Never seen a w540, not sure what the exact options are, but you do not need to put all external monitors on a dock) – bain May 28 '14 at 22:26
  • Connecting one through the dock and one through the mini DP port seems to work. Annoying, but working. – tavise May 29 '14 at 14:40
  • Well I installed 3.16 and still the same issue.. – Pithikos Oct 10 '14 at 10:54
  • @Pithikos The patches were merged in 3.17. User reports say it works: bugs.freedesktop.org/show_bug.cgi?id=72795#c56 – bain Oct 16 '14 at 15:36

Lenovo W541 - Debian 8 - Multimonitor MST - working with 3 external screens.

As there is many (old) information on the net - I'd like to post my recent config.

I have a stock Debian 8 Added Backports to get a newer Kernel. I use three external Screens (VGA + 2x DP) on the dock, lid is closed. Dock Grafic is configured to "standard".

No special setup is needed - everything works like a charm. Except one thing, one screen I could not assign the position in Mate. So I had to logout edit .config/monitors.xml and adjust the x positions - login done ;-) This had to be done only once - as with every new login the value is remembered. Attention - change this value only while you are not logged in in the gui - as when you logout the value is overwritten! So use a console like,e.g., [CTRL-F2]

  • Welcome to Ask Ubuntu! I recommend editing this answer to expand it with specific details about how to do this. (See also How do I write a good answer? for general advice about what sorts of answers are considered most valuable on Ask Ubuntu.) – David Foerster Mar 23 '16 at 23:45

You could try the aforementioned kernel patch from airlied.

z06kris on the 01.org forum posted a how-to for Ubuntu 14.04, which works for me.

For reference, the aforementioned how-to:

NOTE: Just incase there's any 'n00bz' here, I'm going to give easy to follow instructions. Most regular users (everyone here) can bypass the nitty-gritty steps, and tailor it your own way.

Download/Install 'drm-i915-mst-support' kernel branch - Compile a copy of Dave's MST support branch.

    wget http://cgit.freedesktop.org/~airlied/linux/snapshot/linux-drm-i915-mst-s...
    tar xzvf linux-drm-i915-mst-support.tar.gz
    cd linux-drm-i915-mst-support
    sudo make-kpkg -j 4 --initrd --append-to-version=mstSupportKernel kernel-image kernel-headers
    Answer all the kernel configuration questions. You can probably hit enter for almost, if not all, of them. On my end, the

'i915' module support was added automatically. Once the build is complete, you should have two DEB packages in the parent directory of "linux-drm-i915-mst-support". Install those two kernel packages. sudo dpkg -i ../linuxmstSupportKernel.deb

​Download/Install xserver-xorg-video-intel_2.99.912
    wget http://ppa.launchpad.net/xorg-edgers/ppa/ubuntu/pool/main/x/xserver-xorg...
    sudo dpkg -i xserver-xorg-video-intel_2.99.912+git20140710.8587b2ff-0ubuntu0sarvatt~trusty_amd64.deb

At this point, you should be able to reboot and select "Advanced" from GRUB boot menu. Select and boot the new kernel that was compiled (e.g., 'mstSupportKernel'). You should be good to go now, and configure your displays as normal (System Settings > Display). Be sure to check that display "mirroring" isn't enabled though.

However, incase you have any issues (screens don't turn on, etc.), read the notes below.

Important Notes:

I tried many/multiple kernels but didn't have any luck until updating to 2.99.912 userspace as well.

  • 2
    Include essential part of link in the answer. – enedil Jul 23 '14 at 13:56

I finally have this working in a repeatable way. I have the w540, ultra docking station and 3 displays (monitors are all the same brand). I have the DVI and VGA from the docking station, and then the VGA port on the laptop itself. The big change for me is that if I leave the lid open and then hit F7, it all works smoothly. If I close the lid it causes lag. You can use KVM with spice on top of this and have all displays available to you in the guest OS as well. Let me know if someone has a fix for closing the lid. Happy hunting...


Upgraded my Lenovo W540 to Ubuntu 16.04 LTS and I now have 3 monitors connected on the UltraDock. Using VGA, DVI and DisplayPort connectors. All three show up in the normal Monitor Settings dialog. The Audio port on the UltraDock works as well where with 14.04 I plugged my speakers into the W540 each time. Using standard bios setup for video, I need to disable the laptop panel as only 3 displays are supported at the same time. I'm not sure if I could get past that by turning on the nVidia chip instead of the Intel chip on the laptop. This didn't work on 14.04, but does work on 16.04.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.