Well as I commented previously the Window system, keyboard, USB mouse
and integrated touch pad just worked on the Ferrari 4000 laptop without me changing
a thing. The additional frkit enabled me to use the Multimedia
keyboard and of particular note the four way scroll button.
Initially plugging in an external display caused my LCD screen to be switched
off. Remembering that the BIOS had a "Power on Display" option I
changed this from the default of "Auto" to "both" this then caused the
LCD output to be duplicated on the external display. Great for
running a projector or driving a second display at a more comfortable
height and saving my back. But having two displays I would rather them
display different information.
As before I started by looking to Google for xorg dual monitor
Very quickly it became apparent that I needed to know a few things
about the hardware I was using. Thus I imagine that the details below
are particular to the the Ferrari 4000, or at least computers with the
same graphics card. But I hope to share with you some discoveries
that may be of interest.
What graphics card?
The first issue then is "What graphics card does the laptop have?"
I tried prtconf(1) initially before stumbling across scanpci(1M) which I
happened to see Jon use:
# /usr/X11/bin/scanpci | grep X700
ATI Technologies Inc Radeon Mobility X700 (PCIE)
#
I've used grep above for brevity, the actual list I got was much
longer. I then used Google to find out what each component listed was.
xorg.conf configuration
Having established that the laptop has an ATI card I add that to my
Google search and, some hours later, I find what looks rather promising
in a ubuntu
forum entry by Ziox:
I thus made some minor changes to that to suit my configuration, the full section ended up as:
# from http://www.ubuntuforums.org/showthread.php?t=301961
# System Requirements:
#ONE Dual-Output ATI or Matrox Graphics card.
#A recent version of the free Xorg, without any binary graphics driver installed.
Section "Device"
Option "MonitorLayout" "LVDS,CRT"
Option "MergedFB" "true"
Option "OverlayOnCRTC2" "true"
# Physical location of secondary monitor in relationship to primary monitor
# Values of LeftOf, RightOf, Above, Below or Clone (as used for single screen).
Option "CRT2Position" "Above"
# Option "CRT2Position" "Clone"
# MetaModes: list primary-secondary monitor resolutions:
# switchable with Ctrl-Alt-num-Plus and Ctrl-Alt-num-Minus.
# Home 19-inch LCD (GH19PS) resolution is 1280x1024:
# The office 24inch monitor can display upto 1920x1200, alas
# that does not seem possible here. The best seems to be 1680x1050
# The first entry is the default.
Option "MetaModes" "1680x1050-1280x1024 1680x1050-1680x1050 1400x1050-1280x1024 1280x1024-1024x768 1024x768-1024x768"
# As The LCD is always present, while the CRT is not, the LCD is the primary.
Option "MergedXineramaCRT2IsScreen0" "false"
Identifier "Card0"
Driver "ati"
VendorName "ATI Technologies Inc"
BoardName "Radeon Mobility X700 (PCIE)"
BusID "PCI:1:0:0"
EndSection
Interestingly several of the options used above are not currently
listed in the xorg.conf(4) manual page installed on my system. A
Google search for the options didn't turn up much either. I presume
the manual changes are still in the works. FYI, the manual pages for
X11 commands are in /usr/X11/man so add that to your MANPATH or
specify the -M option to man, for example "man -M /usr/X11/man
xorg.conf".
The catch
When I shutdown and unplug the external monitor Xorg does not at the next boot compensate for the fact that it's not
there any more. Meaning when I next switch the laptop on without the second monitor Xorg may still open windows out of sight. Looking at the Gnome Workspace Switcher applet one can see a representation of your new window, you just cant see it. the most recent window is likely to have focus (the window is selected and thus input and or X commands affect it) and you can thus use 'Alt-F7' to provoke "Move Window" and slide it in to view. Or indeed use 'Alt-Tab' to select the window and then 'Alt-F7' to drag it in to view. However as I'm not certain this will always work, and that I find it rather disconcerting I'd like to Xorg to reconfigure to a single display.
As Xorg does not currently seem to reconfigure itself in this scenario, I need to reconfigure xorg.conf myself for the single screen, logout and login. And all is well; Xorg restarts it's self when I log out and hence reads the new configuration.
Now as I currently use x11-ssh-askpass to read my Secure Shell password during login before any other windows are opened it makes sense, to me at least, to modify it to provide two extra buttons so that during login, when I would normally enter my SSH password, I can
instead, if needs be, switch configurations and simply re-login again.
As a prof-of-concept I knocked up xchoice in dtksh and added it to my dtlogin(1X) config file $HOME/.dtprofile:
DTSOURCEPROFILE=true
# Concept. Background it as X must start to show it.
$HOME/tools/sh/xchoice&
#
# Start SSH agent
#
if [ "$SSH_AUTH_SOCK" = "" -a -x /usr/bin/ssh-agent ]; then
# pkill -u $LOGNAME ssh-agent
eval `/usr/bin/ssh-agent`
if [ -x $HOME/x11-ssh-askpass-1.2.4.1/x11-ssh-askpass ]; then
SSH_ASKPASS=$HOME/x11-ssh-askpass-1.2.4.1/x11-ssh-askpass ssh-add < /dev/null
else
/usr/openwin/bin/xterm -geom +0-0 -e ssh-add
fi
fi
It works well,
but dtksh requires more than basic X support that does not seem to be available when
x11-ssh-askpass is run, and thus the window does not appear until later when
the full windowing system is up. Hence the requirement for something
else. And this way I can provide two functions in one.
Having done all that I'm still interested to know if their is some other way to accomplish this without reconfiguration so please do comment if you know.
One final issue:
The external LCD not being of equal size pans left and right, which is
fine, but it also pans the whole desktop up and down. I'd like to
stop that if possible and thus prevent the Gnome panel (launch bar)
from sliding of the bottom off the bottom of LCD.
Stace