Ubuntu – 16.04 can’t use external monitor with nvidia drivers

driversgraphicsmultiple-monitorsnvidia

I am running Ubuntu 16.04 (did a clean install of 16.04) on a Lenovo W540. The only important thing (hardware-wise) is that it has an intel CPU and Nvidia Quadro K2100M that supports prime.

I install nvidia-367 (This is from the new graphics drivers PPA and I have also tried several other versions, but 367 is just the newest) and reboot. Everything works perfectly if I don't have a monitor plugged in.

When I plug in an external monitor (using the DisplayPort port) my screen flickers and then I get an error from Ubuntu.

"unity-settings-daemon crashed with SIGABRT in g_assertion_message()"

I then try to open unity settings "Displays" panel. I get another crash and error: "unity-control-center crashed with SIGABRT in g_assertion_message()".

How would I go about debugging and solving this issue?

I have searched for this error in the ubuntu bugs and nothing stands out as the same issue as mine. https://bugs.launchpad.net/ubuntu/+source/unity-control-center/+bug/1568440 is a little close but the stack trace is different.

Here is the stack trace top from the unity-control-center crash:

 g_assertion_message () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
 g_assertion_message_expr () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
 gsd_rr_config_load_current () from /usr/lib/x86_64-linux-gnu/libunity-settings-daemon.so.1
 gsd_rr_config_new_current () from /usr/lib/x86_64-linux-gnu/libunity-settings-daemon.so.1
 ?? () from /usr/lib/x86_64-linux-gnu/unity-control-center-1/panels/libdisplay.so

uname: Linux 4.4.0-22-generic-x86_64

How can I use my nvidia drivers and an external monitor at the same time?

Update: If I go into nvidia settings 'Prime Profiles' and use intel graphics instead of nvidia then everything works fine again. I just can't switch back to nvidia.

Best Answer

If you use optimus graphics, I suppose it depends on whether the display port is going through your intel graphics or on your nvidia graphics.

Does your external monitor work when you switch to the intel profile in nvidia-settings? if so, then the display port most probably runs through your intel graphics.

I am not sure whether bumblebee and primus still runs under ubuntu 16.04?

Bumblebee works similar as to how optimus graphics works on windows. your desktop would run on your intel graphics and only when you run a program by typing primus or optirun, it will run through nvidia graphics.

Please let me know whether you can get bumblebee to work.

installation instructions: https://wiki.ubuntu.com/Bumblebee#Installation