[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