I long ago knew one monitor was digital. Moreover, I knew too my video card had one digital port. Furthermore, I knew I probably just needed to switch the ports each monitor's physical connection and then at most alter the port attachment numbers. Nonetheless, I resisted the temptation, but not quite due to an ulterior motive. I would like to believe I was following the engineering credo 'If it ain't broken don't fix it!'. Beneath the surface I still feared the surprises even such a modest change might cause. If I knew that consciously, I could call myself wise.
In my case, I can only claim sloth or an insubstantial sense of unease. I just knew even simple changes have unintended consequences. I was in no hurry to confront additional problems, prematurely. Sadly the unambiguous failings of the color rendering on this monitor left me with no choice. A digital signal would improve the monitor's performance and color rendering abilities. And it did, but not without introducing another instance of configuration nightmares.
Before we go further let me fulfill the promise at the end of the first article on this topic, here is a photo of the analog dual monitor setup:
Fig. 1. Dual Monitor with Analog Connections under Ubuntu 6.06
I wish you to note the thin white bands on both the top and bottom of the monitor on the left. That is the default screen, i.e. the monitor connected to port 0. That is also the monitor that has digital capability, but at the time of the photo was using vga. The left hand monitor is the default screen as reflected by the location of the aforementioned bands. Kind of a circular argument, but that is the reality.
While the physical change was affected easily once the digital to analog connector [1.] was recognized and removed, switching ports at the video card was quick. Getting the configuration right was not so easy a task. Just look at this list in date time, sequence with naming giving some idea of the difficulties encounter:
4672 2006-11-02 21:08 /etc/X11/xorg.conf.dual~ 2808 2006-11-03 13:01 /etc/X11/xorg.conf.single 4659 2007-06-09 07:44 /etc/X11/xorg.conf.dual.dvi 4452 2007-06-09 08:16 /etc/X11/xorg.conf.with-res-place-errors 4585 2007-06-09 09:39 /etc/X11/xorg.conf.dvi.res-error~ 5006 2007-06-09 09:57 /etc/X11/xorg.conf.dvi.res-error 5092 2007-06-09 09:59 /etc/X11/xorg.conf.dvi.res-error-2 5239 2007-06-09 10:17 /etc/X11/xorg.conf.dvi.res-error-3 5467 2007-06-09 10:27 /etc/X11/xorg.conf.dvi.clone-error 5624 2007-06-09 10:39 /etc/X11/xorg.conf.div.clone-err-2 5687 2007-06-09 10:44 /etc/X11/xorg.conf.dvi.clone-err-3 5766 2007-06-09 10:50 /etc/X11/xorg.conf.dvi.clone-err-4 5827 2007-06-09 10:58 /etc/X11/xorg.conf.dvi.clone-err-5~ 5838 2007-06-09 11:07 /etc/X11/xorg.conf.dvi.clone-err-5 5267 2007-06-09 11:28 /etc/X11/xorg.conf.dvi.res-error-4 5197 2007-06-09 13:56 /etc/X11/xorg.conf.dvi.res-error-5 3916 2007-06-09 14:10 /etc/X11/xorg.conf~ 3958 2007-06-09 14:30 /etc/X11/xorg.conf.dvi.dual.good 3958 2007-06-09 14:30 /etc/X11/xorg.conf
Nothing worked correctly, with changes resulting in ugly screens with the wrong resolution or clones of the same screen that seemingly came out of nowhere. That is, until the finally finding a configuration that worked. Later you will see the right hand screen as the new default screen. In any case, I found this to be an advantage, since I always begrudged the space taken by the bars despite the left hand screen being the larger of the pair. You may very well be incredulous, if I told you that two individuals attempted to reproduce something like the original setup but admitted defeat and ending with the changes that will be shown below.
Unfortunately, what is missing from this list is the all analog (VGA) configuration. I am somewhat dubious that the oldest, albeit, a backup copy is an accurate version of the working configuration file. Nonetheless, that is the best I have to compare and contrast portions of the older Ubuntu 5.10 [2.] version and the working configuration with the digital monitor connected nativity. There is some perverse humor in seeing incorrect assumptions still yielding a working configuration file. Perhaps this means the machine is smart enough to avoid our words and just read the settings. That is, if it is the 0 screen it is the default no matter what the dumb admin. thinks or calls it:
Section "Screen" Identifier "Default Screen" Device "1 NVIDIA Corporation NV34 [GeForce FX 5200]" Monitor "PL201M" # Option "Xinerama" DefaultDepth 24 SubSection "Display" Depth 1 Modes "1600x1200" ...
[Where the pound "#" symbol is the single line commenting code.]
The Identifier, i.e. "Default Screen" is to be seen as no more than a note to the user. That is, computer pays no notice. It is just looks at the connected ports, and for this monitor it sees port 1 it is known to be a secondary monitor. Hence, by definition it is not the default screen.
Let's focus our attention on the differences seen between what I can infer of the analog vs digital dual monitor configurations. I think I already mentioned in the device section the port number is now on the left whereas the older 5.10 had it on the extreme right. I have no idea if that is significant. One major difference in the Device section is I see the driver is the open "nv" instead of the "nvidia" binary driver that proved to be a necessity to have the dual monitor configuration finally work. I have my doubts that seeming difference is valid, the real analog, dual monitor configuration may well have used this same driver.
The "Monitor" sections were exact duplicates. No further comments needed.
Let's move on to what are more likely alterations. That difference is already displayed above with the digital monitor (left screen) being assigned the 1 port and the "Second Screen" being given the default 0 port, hence, becoming the real default screen. There are no other changes there, even the useless "Display" subsections were retained as is.
The real differences show up in the "ServerLayout" sections, with the digital version followed by the analog version:
Section "ServerLayout" Identifier "X.org Configured" Option "Clone" "off" # Option "Xinerama" "on" Option "Twinview" "on" Screen 0 "Second Screen" Screen 1 "Default Screen" LeftOf "Second Screen" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" EndSection Section "ServerLayout" Identifier "Default Layout" Option "Clone" "off" # Option "Xinerama" "on" Screen 0 "Default Screen" Screen 1 "Second Screen" RightOf "Default Screen" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" EndSection
where I think we can safely ignore the differences in the Identifier. The significance of the "Twinview"and its being "on" is difficult to evaluate, since it escaped my notice previously. Moreover, as the both photographs show I have a Xinerama display, i.e. a single screen spread across two screens. The remaining difference is important telling screen placement. In the photograph of the digital set you will see the default screen is now called the "Second Screen" and is to the left of the larger, digital monitor. Got that? Sorry for the confusion, but not all flaws are fatal, however, next iteration these oddities will be cleansed.
It will suffice to show just the digital "ServerFlags" code, since the difference is only an added line:
Section "ServerFlags" Option "Clone" "false" Option "Xinerama" "true" EndSection
The first line above is the difference. I suspect it was another desperation attempt to finally get this working. However, I have no memory whether this was the final key to success. Nonetheless, it will not be removed without good reason.
Finally, here is the working dual monitor setup with the left side screen being the digital unit. Note the shift of the default portion of the screen to the smaller screen size monitor on the right.
Fig. 2. Dual Monitors with Digital on the Left and Analog on the right under Ubuntu 6.06
My guess is the earlier use of the "Twinview" option was one of many desperation moves that may have made generating a properly working dual monitor configuration more difficult. The point is, even known errors need not be deadly, however, easy to do mislabeling of port numbers are a killer. Some of the oldest code is the excessive "Display" subsections. These are really meant for CRTs that can, at least theoretically, run multiple screen resolution. In general, this is untrue of LCD TFT monitors. Thus, this excess can be reduced to a single display subsection with a single resolution.
With the completion of this article, it is finally safe enough to allow me to update at least one drive to a more recent Ubuntu distribution. I have read obtaining dual monitor configurations are easier and I would like to confirm that assertion. Hence, the old, unused 5.10 disc will be updated to 7.04. Soon I would expect this drive to be moved to the next iteration of the Ubuntu long duration desktop 8.04 in the next month or so. The desire to use more recent versions was the impetus in moving this article out in haste. There are at least four other potential articles that interest me, two dealing with dynamic content that have been implemented, another dealing with forms (at least one) and perhaps one each on internal bookmarks and version control. I am uncertain I will ever get to all of these, since other ideas may again push them down in priority.
That's the plan that I can remember at the moment. Nonetheless, I am certain there is more and the final result will differ in many respects. One change that will be made to the content is replacing the digital configuration photo with a less washed out view. In addition, I will then add magnified views of each later when I get the better photograph.
Corrections, suggested extension or comments write: How-To-Guy. If the mailto does not work, use this: hcohen[-At-]bst-softwaredevs.com.
© Herschel Cohen, All Rights Reserved