I’m trying to use different configurations on my laptop :
- standard linux kernel with proprietary nvidia driver
- and Xen to allow developping/testing in a hosted dom-U Debian distro, in which case I switch back to the libre
When using the proprietary nvidia driver, I may use two kind of configurations :
- having several screens in “clone” mode, i.e. replicated view on screen and beamer, for instance (classical use of Fn+F8 clone display)
- or having both screens assembled into one to use twinview with dualhead, which provides (through Xinerama) and being able to switch windows from one to the other
This means I configured several layouts in the same
xorg.conf file, which will describe each a different Xorg configuration.
Update 2008/02/10 : reorganized that post to be able to manage kernel-passed LAYOUT variable
Now, I want to have the correct layout automatically detected at X startup (launched by GDM), and/or being able to switch layouts manually at boot.
I adapted the howto HOWTO: Choose Xorg layout automatically based on ddcprobe in order to use the following script as /etc/gdm/startx-custom :
# if no LAYOUT variable is defined in the environment (coming from kernel parameters ?)
if [ "x$LAYOUT" = "x" ]
# try to detect automatically
uname -r | grep -q -i xen
if [ $? -eq 0 ]
# use the LAYOUT variable content
# run the X server with the eisa entry as layout (if it was defined in
exec /usr/X11R6/bin/X $LAYOUT $*
Then, I configured GDM to use that one instead of the default X startup, adding this to
# in [servers]
# then, bellow :
name=Standard server for Xen
command=/etc/gdm/startx-custom -br -audit 0
Due to the way Debian configures GDM, I couldn’t use a custom GDM conf file as stated in the docs, and had to modify /etc/gdm/gdm.conf (see
Now, I modified my grub menu.lst config file so that my kernels can be invoked with
LAYOUT=CloneLayout parameters, for instance. So rebooting, I will select different layouts.
Also, it’s possible to do
LAYOUT=NewLayout /etc/init.d/gdm restart commands, for instance.
Hope this helps.