I have developed the following hack as a workaround: 1. After configuring all the displays to work the way I want, I back up the ~/.config/monitors.xml to another location, naming the copy "monitors.xml.good" 2. When I put the laptop to the docking station and display gets messed up or falls back to mirroring, I do the following recovery procedure: 2.1 Unlock/Log in (in the messed-up display), find any error dialogs of "Cannot set screen.." and click on the ok button. This allows the display to later reconfigure when recover the configuration. 2.2 Lock the screen (Ctrl+Alt+L). This is important - I find that display reconfiguration works much better when the screen is locked. 2.3 Switch to a text console (Ctrl+Alt+F1) 2.4 Login (text) 2.5 Copy the monitors.xml.good backup over the existing ~/.config/monitors.xml 2.6 Turn off the secondary monitors (by pressing their power button) 2.7 Switch back to graphical login (Ctrl+Atl+F7) 2.8 Wait for the screen setting to settle down 2.9 Turn on the secondary monitors 2.10 Unlock screen (username/password)
That's it. At this point, the display is reset to the good configuration. This hack is a bit cumbersome, since I move with my laptop to different rooms with different external screens and projectors, so in fact I maintain an accumulated monitors.xml containing all the working configurations for these screens. Still, better than frustration. -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to nvidia-graphics-drivers-361 in Ubuntu. https://bugs.launchpad.net/bugs/1615734 Title: Multiple monitors broken Status in nvidia-graphics-drivers-361 package in Ubuntu: Confirmed Status in nvidia-graphics-drivers-367 package in Ubuntu: Confirmed Status in nvidia-graphics-drivers-375 package in Ubuntu: New Bug description: I have a Lenovo P50 with Nvidia Optimus (Quadro M1000M), installed with Ubuntu 16.04 and the recommended Nvidia drivers (361.42). I added two external monitors connected to DP sockets in the docking station. I would like to have display shift to those two monitors when the laptop is docked. One monitor has native resolution of 1680x1050 and the other is 1920x1080. The laptop native resolution is 1920x1080. Expected result: laptop monitor shut off, two external monitors running in native resolution, display shared on both monitors (not mirrored). Process: I configured the display using the "Displays" applet in the unity control center. However, pressing "Apply" when changing a specific display setting (such as resolution, location of screen relative to others, turning on/off), results in a long period of darkness, usually followed by display falling back to mirroring of all 3 monitors, using a similar-size screen (either low on all or high on all with the low-res monitor using panning). The applet remains frozen for some time, with the dialog "Is the display ok" open but unresponsive. Later I realized this is because there is another dialog of "Cannot set screen CRTCXXX" hidden under the two above windows, which needs to by ok-ed first. Extra: I also tried setting the display manually with 'xrandr', which lead to a similar result as above - with the "cannot set screen" dialog, and falling back to mirroring. This convinced me that the problem is probably with the nvidia driver and not the higher plumbing. ProblemType: Bug DistroRelease: Ubuntu 16.04 Package: nvidia-361 361.42-0ubuntu2 ProcVersionSignature: Ubuntu 4.4.0-34.53-generic 4.4.15 Uname: Linux 4.4.0-34-generic x86_64 NonfreeKernelModules: symap_custom_dkms_x86_64 nvidia_uvm nvidia_modeset nvidia ApportVersion: 2.20.1-0ubuntu2.1 Architecture: amd64 CurrentDesktop: Unity Date: Mon Aug 22 19:14:55 2016 InstallationDate: Installed on 2016-07-17 (36 days ago) InstallationMedia: Ubuntu 16.04 LTS "Xenial Xerus" - Release amd64 (20160420.1) SourcePackage: nvidia-graphics-drivers-361 UpgradeStatus: No upgrade log present (probably fresh install) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-361/+bug/1615734/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp