I am running Ubuntu 18.04 on a Thinkpad T430 with an Nvidia graphics card that is capable of switching from Intel to Nvidia graphics processing as needed (Optimus). It sits on a docking station that has 2 monitors attached, one connected via DVI and the other VGA. I work with 3 screens in total: the two external displays plus the built-in display. I am (was) using the proprietary Nvidia driver (v. 390.116) that was installed via the "Additional Drivers" section via the Software and Updates application.
Yesterday I was switching between workspaces via hotkeys when the system froze. None of the customary interventions (e.g., Control + Alt + F2) worked and so I had to do a hard shutdown with the power button. After the reboot, the DVI-connected monitor didn't work. After some preliminary troubleshooting, I thought I had a hardware failure and was shopping for a new laptop. Then it occurred to me to boot into Windows (the laptop is set up to dual-boot, though Ubuntu is my primary OS and I rarely boot into Windows). In Windows, everything works fine. So, no hardware problem.
I purged the proprietary Nvidia driver in Ubuntu and rebooted. With the Nouveau driver, all three displays work just fine. I tried reinstalling the proprietary driver again, and no go. "Detect Displays" in the nvidia-settings app has no effect. There is no way of detecting displays in the Screen Display window in the Ubuntu Settings app. I purged and manually installed the latest proprietary driver. Again, no go. I purged and installed the older proprietary driver (340.107). All three displays work, but it only lets me move my mouse on one screen. After purging and rolling back to Nouveau, again everything works.
I would be inclined to stay with the Nouveau driver, but the manual switching (via prime-select in the terminal) to the Intel driver when I am unplugged and on battery is convenient and my sense is that there is less screen tearing with the proprietary driver. I'm wondering if there is some configuration file somewhere that only the the proprietary driver uses or some setting that is only loaded when the proprietary driver is used that prevents it from "seeing" the third monitor. I could reinstall the OS, but I thought I would ask here first.
Here are the relevant lines of the output of
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) 01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [NVS 5400M] (rev a1)
And a section from
> *-pci:0 > description: PCI bridge > product: Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port > vendor: Intel Corporation > physical id: 1 > bus info: pci@0000:00:01.0 > version: 09 > width: 32 bits > clock: 33MHz > capabilities: pci normal_decode bus_master cap_list > configuration: driver=pcieport > resources: irq:16 ioport:6000(size=4096) memory:f0000000-f10fffff ioport:c0000000(size=301989888) > *-display > description: VGA compatible controller > product: GF108M [NVS 5400M] > vendor: NVIDIA Corporation > physical id: 0 > bus info: pci@0000:01:00.0 > version: a1 > width: 64 bits > clock: 33MHz > capabilities: vga_controller bus_master cap_list rom > configuration: driver=nvidia latency=0 > resources: irq:28 memory:f0000000-f0ffffff memory:c0000000-cfffffff memory:d0000000-d1ffffff > ioport:6000(size=128) memory:f1000000-f107ffff > *-display > description: VGA compatible controller > product: 3rd Gen Core processor Graphics Controller > vendor: Intel Corporation > physical id: 2 > bus info: pci@0000:00:02.0 > version: 09 > width: 64 bits > clock: 33MHz > capabilities: vga_controller bus_master cap_list rom > configuration: driver=i915 latency=0 > resources: irq:30 memory:f1400000-f17fffff memory:e0000000-efffffff ioport:7000(size=64) memory:c0000-dffff
Any help and/or suggestions would be greatly appreciated.