Sometimes I wish that developers would leave well enough alone. I would probably still be using Windows Nt 4.0 or perhaps CP/M - I bet that would scream on an i7 processor But here is the situationā¦
I have a Dell Studio XPS 8000 PC (ca. 2009). I ran Ubuntu 9.10 initially with two monitors configured as separate X screens. 10.04 did not support two monitors on the system and I moved with considerable effort to CentOS 6. This OS has obsoleted two video cards over the years and I currently have an nVidia Quadro K420 and two Dell Ultrasharp U2412M monitors. It works fine but is getting a little long in the tooth. I have been looking at CentOS7 (with the Mate desktop) and Ubuntu Mate 16.04 - both of which I am running on single monitor machines.
Here is the monitor configuration which I use in CentOS 6 and which I am trying to duplicate in Ubuntu Mate 16.04:
Left monitor - rotated to Portrait 1200 x 1920
Right monitor - Landscape 1920 x 1200
The displays are configured (using Nvidia config) as X Screen 0 and X Screen 1. This provides me with these advantages:
Each monitor has an independent panel - a different collection of launchers on each.
I normally have my email client (Thunderbird) open on the top of the Portrait monitor and a VMWare virtual machine running on the bottom half of the Portrait monitor. The Virtual machine is dedicated to accessing a secure email service in Switzerland.
I frequently call up Firefox on the Portrait monitor as most web pages are tall as opposed to wide. When I close Firefox - which I do often - I again have my email easily accessible.
Occasionally I change the Portrait monitor to a different workspace but not often as I loose access to my email while doing so.
The Landscape monitor is my normal āworkingā display. I utilize more than one workspace and sometimes 3 or 4 will be in use.
The BIG advantage of using separate X screens as opposed to a single display spanning both monitors is that I can flip between workspaces on the Landscape monitor while NOT changing the workspace displayed on the Portrait monitor. I do not believe that this is possible any other way.
Today I installed Ubuntu Mate 16.04 on a test hard drive. I applied all updates and added the nVidia driver. Using nvidia-config I manipulated the monitors in the same way as I have done on CentOS 6 (and 7). The result so far is:
I have two seemingly independent screens. The Landscape monitor is selected as X screen 0 and contains a āworkingā Desktop. That I can create files, launchers, folders etc. on this Desktop. If I launch an application from the menu on the Landscape monitor it appears on the Landscape monitor. And all is well - on this monitor.
The Portrait monitor - X screen 1 - is another story.
The Desktop is ādead.ā By that I mean it does not have the background image from the other monitor - it is black. Right clicking on the dead Desktop does not produce any result.
The top panel on the Portrait monitor is somewhat grayed out. However, I can add a launcher to the panel and the launcher will invoke the appropriate application EXCEPT that the application displays on the Landscape monitor.
Being separate X screens I can NOT drag an application between the monitors. This is as expected.
Here is the xorg.conf as created by nvidia-config:
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 361.42 (buildd@lgw01-18) Tue Apr 5 14:33:28 UTC 2016
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 1200 0
Screen 1 "Screen1" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection
Section "Files"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "DELL U2412M"
HorizSync 30.0 - 83.0
VertRefresh 50.0 - 61.0
Option "DPMS"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor1"
VendorName "Unknown"
ModelName "DELL U2412M"
HorizSync 30.0 - 83.0
VertRefresh 50.0 - 61.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Quadro K420"
BusID "PCI:1:0:0"
Screen 0
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Quadro K420"
BusID "PCI:1:0:0"
Screen 1
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "metamodes" "DVI-I-1: nvidia-auto-select +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "Stereo" "0"
Option "metamodes" "DP-1: nvidia-auto-select +0+0 {rotation=left}; DP-1: 1920x1080 +0+0 {rotation=left}; DP-1: 1680x1050 +0+0 {rotation=left}; DP-1: 1600x1200 +0+0 {rotation=left}; DP-1: 1280x1024 +0+0 {rotation=left}; DP-1: 1280x960 +0+0 {rotation=left}; DP-1: 1024x768 +0+0 {rotation=left}; DP-1: 800x600 +0+0 {rotation=left}; DP-1: 640x480 +0+0 {rotation=left}; DP-1: nvidia-auto-select +0+0 {rotation=left, viewportin=900x1440}; DP-1: nvidia-auto-select +0+0 {rotation=left, viewportin=768x1366, viewportout=1920x1079+0+60}; DP-1: nvidia-auto-select +0+0 {rotation=left, viewportin=800x1280}; DP-1: nvidia-auto-select +0+0 {rotation=left, viewportin=720x1280, viewportout=1920x1080+0+60}"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection
By way of comparison CentOS 7 works a little better in that an application launched on the panel above the ādeadā Desktop will in fact appear on the monitor with the dead Desktop. A comparison of the xorg.conf files show only 5 minor differences:
- A slightly newer version:
# nvidia-settings: version 361.45.11 (buildmeister@swio-display-x86-rhel47-08) Tue May 17 18:57:21 PDT 2016
- Screen 0 is rotated 360 degrees (?)
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 1200 360
- A font path is specified
Section "Files"
FontPath "/usr/share/fonts/default/Type1"
EndSection
- The mouse is specified differently
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
- And finally this Xinerama option in the Screen 0 definition. Xinerama is not enabled so I am not sure if this does anything.
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "DFP-0"
Using my usual sledgehammer approach I replaced the Ubuntu generated xorg.conf with the working one from CentOS 6. That did not work - no X at all
I would sure like to give Ubuntu a try again - especially with the Mate environment. Can anyone give me a had sorting this out?
TIA,
Ken