[vox-tech] Evil xinerama

Chris McKenzie vox-tech@lists.lugod.org
Sun, 2 Jun 2002 20:20:18 -0700 (PDT)


For months now I have been running two displays on one host using XFree
4.1.0.  I have thoroughly tested this set-up and it has worked quite well.

However, I read recently that much to my surprise, this was not xinerama
and that xinerama allows me to move applications from one screen to
another, something I have been wanting to do for quite a while.

I figured that since the configuration file was working fine I could
simply run

X +xinerama and get a bueautiful looking...evil core dump
So, not wanting to look at the ugly core I went to a website and tried to
emulate their configuration.
I then tried such combinations as
X -- +xinerama
X +xinerama
startx ''
xinit ''
to recieve that damn core dump

I have included such things as the configuration and the log to assist
you.

Section "ServerFlags"

EndSection

Section "Files"
        RgbPath      "/usr/X11R6/lib/X11/rgb"
#       ModulePath   "/usr/X11R6/lib/modules"
        FontPath     "/usr/X11R6/lib/X11/fonts/misc/"
        FontPath     "/usr/X11R6/lib/X11/fonts/Type1/"
        FontPath     "/usr/X11R6/lib/X11/fonts/CID/"
        FontPath     "/usr/X11R6/lib/X11/fonts/75dpi/"
        FontPath     "/usr/X11R6/lib/X11/fonts/100dpi/"
EndSection

Section "Module"
        Load  "dbe"
#       Load  "dri"
#       Load  "extmod"
     SubSection  "extmod"
       Option    "omit xfree86-dga"   # don't initialise the DGA extension
     EndSubSection
        Load  "freetype"
#       Load  "glx"
        Load  "freetype"
#       Load  "glx"
#       Load  "pex5"
#       Load  "record"
#       Load  "xie"
        Load  "type1"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "keyboard"

     Option "AutoRepeat" "500 30"
     Option "XkbRules"   "xfree86"
     Option "XkbModel"   "pc101"
     Option "XkbLayout"  "us"

EndSection

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "PS/2"
        Option      "Device" "/dev/mouse"
EndSection

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "DEL"
        ModelName    "DELL D1025HT"
        HorizSync    30.0 - 85.0
        VertRefresh  48.0 - 150.0
EndSection

Section "Monitor"
        Identifier   "Monitor1"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        HorizSync     31.5-40.0
        VertRefresh  50.0-90.0
#Modeline "1024x768"    44.9  1024 1048 1208 1264   768  776  784  817
Interlace
#Modeline "1024x768"    85    1024 1032 1152 1360   768  784  787  823
#Modeline "1024x768"   98.9  1024 1056 1216 1408   768 782 788 822 -HSync
-VSync
#        Modeline "1024x768"   115.5  1024 1056 1248 1440  768  771  781
802 -HSync -VSync
#        Modeline "1024x768"    65    1024 1032 1176 1344   768  771  777
806 -hsync -vsync
#        Modeline "1024x768"    75    1024 1048 1184 1328   768  771  777
806 -hsync -vsync
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "SWcursor"                  # [<bool>]
        #Option     "HWcursor"                  # [<bool>]
        #Option     "NoAccel"                   # [<bool>]
        #Option     "ShowCache"                 # [<bool>]
        #Option     "ShadowFB"                  # [<bool>]
        #Option     "UseFBDev"                  # [<bool>]
        #Option     "Rotate"                    # [<str>]
        #Option     "VideoKey"                  # <i>
        #Option     "FlatPanel"                 # [<bool>]
        Identifier  "Card0"
        Driver      "nv"
        VendorName  "NVidia"
        BoardName   "Riva Ultra 64"
        VideoRam        32676
        BusID       "PCI:1:0:0"
EndSection

Section "Device"
        Identifier  "Card1"
        Driver      "trident"
        VendorName  "Trident"
        BoardName   "TGUI 96xx"
        BusID       "PCI:0:18:0"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        DefaultDepth    8
        SubSection "Display"
                Depth    8
                Modes   "640x480"
                ViewPort 0 0
        EndSubSection
EndSection

Section "Screen"
        Identifier "Screen1"
        Device     "Card1"
        Monitor    "Monitor1"
        DefaultDepth    8
        SubSection "Display"
                Depth     8
                Modes   "640x480"
                ViewPort 0 0
        EndSubSection
EndSection

Section "ServerLayout"
        Identifier     "Simple Layout"
        Screen        "Screen0"
        Screen        "Screen1" Below "Screen0"
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection


And the log:
cat /var/log/XFree86.0.log | grep WW
         (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(WW) NV(0): Failed to set write-combining range (0xf0000,0x10000)
(WW) NV(0): Failed to set write-combining range (0xd4000000,0x1fe9000)
(WW) TRIDENT(1): Failed to set write-combining range (0xd7000000,0x400000)

And a nice analysis of the core file gives:
gdb /usr/X11R6/bin/XFree86 XFree86.core
...
bt
#0  0x28215990 in kill () from /usr/lib/libc.so.4
#1  0x28251aa2 in abort () from /usr/lib/libc.so.4
#2  0x806c75a in ddxGiveUp ()
#3  0x806c7fe in AbortDDX ()
#4  0x80d132c in AbortServer ()
#5  0x80d266d in FatalError ()
#6  0x807e131 in xf86SigHandler ()
#7  0xbfbfffac in ?? ()
#8  0x80fe71a in PanoramiXCreateConnectionBlock ()
#9  0x80bccd0 in main ()
#10 0x806b525 in _start ()


And finally:
> uname -a
FreeBSD .ucdavis.edu 4.5-RELEASE FreeBSD 4.5-RELEASE #1: Wed May  1
19:40:49 GMT 2002     chris@.ucdavis.edu:/usr/src/sys/compile/BSD  i386

I hope I can figure this thing out.
Thanks!

Sincerely,
	Christopher J. McKenzie

	cjm@ucdavis.edu
	mckenzie@cs.ucdavis.edu
	(530) 297-6110
	609 Anderson rd 161
	Davis, CA 95616