Sorry for the late answer.
Yes, im on arch linux and using Xorg server 1.16 + linux 3.16.2 + systemd 216.
Some arch users think that the problem lies in systemd (logind) and new features (rootless) in xorg server, but afaik proprietary drivers doesn’t use rootless Xorg, so i’m asking here.
Here are some details:
It works if i switch to a free tty and run the script, but fails if i do it from the first Xserver.
Here’s what i use:
cat /etc/X11/Xwrapper.config
allowed_users = anybody
needs_root_rights = yes
cat xgame.singlescreen.sh
#!/bin/bash
startx \
/root/scripts/xgame.singlescreen.xinitrc -- \
-config /root/scripts/xgame.singlescreen.xorg.conf
cat xgame.singlescreen.xinitrc
openbox --replace &
sleep 0.5
setxkbmap it
xset mouse 1.4 4
xset r rate 250 30
konsole --nofork
# cat xgame.singlescreen.xorg.conf
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
# Screen 1 "Screen1" LeftOf "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection
Section "Files"
EndSection
Section "ServerFlags"
Option "IgnoreABI" "True"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Samsung SyncMaster"
HorizSync 30.0 - 81.0
VertRefresh 56.0 - 75.0
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "Samsung SyncMaster"
HorizSync 30.0 - 81.0
VertRefresh 56.0 - 75.0
Option "DPMS"
EndSection
Section "Device"
# Driver "vesa"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 9500 GT"
Option "Coolbits" "1"
# Option "DynamicTwinView" "false"
# Option "TripleBuffer" "1"
Option "UseEvents" "true"
BusID "PCI:1:0:0"
Screen 0
EndSection
Section "Device"
# Driver "vesa"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 9500 GT"
Option "Coolbits" "1"
Option "DPI" "86 x 86"
Option "DynamicTwinView" "false"
BusID "PCI:1:0:0"
Screen 1
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "0"
Option "Stereo" "0"
Option "metamodes" "DFP: nvidia-auto-select; DFP: nvidia-auto-select { ViewPortIn=1152x864 }; DFP: nvidia-auto-select { ViewPortIn=1024x768 }; DFP: nvidia-auto-select { ViewPortIn=800x600 }; DFP: nvidia-auto-select { ViewPortIn=640x480 }; DFP: nvidia-auto-select { ViewPortIn=320x200 }"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "TwinView" "0"
Option "Stereo" "0"
Option "metamodes" "CRT: nvidia-auto-select; CRT: nvidia-auto-select { ViewPortIn=1152x864 }; CRT: nvidia-auto-select { ViewPortIn=1024x768 }; CRT: nvidia-auto-select { ViewPortIn=800x600 }; CRT: nvidia-auto-select { ViewPortIn=640x480 }; CRT: nvidia-auto-select { ViewPortIn=320x200 }"
SubSection "Display"
Depth 24
EndSubSection
EndSection
When invoked from the X server, Xorg.1.log looks like this:
grep ‘(EE)’ /var/log/Xorg.1.log
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 196.808] (EE) Error systemd-logind returned paused fd for drm node
[ 196.998] (EE) NVIDIA(GPU-0): EVO Push buffer channel allocation failed
[ 197.001] (EE) NVIDIA(GPU-0): Failed to allocate EVO core DMA push buffer
[ 197.002] (EE) NVIDIA(0): Failing initialization of X screen 0
[ 197.002] (EE) Screen(s) found, but none have a usable configuration.
[ 197.002] (EE)
[ 197.002] (EE) no screens found(EE)
[ 197.002] (EE)
[ 197.002] (EE) Please also check the log file at "/var/log/Xorg.1.log" for additional information.
[ 197.002] (EE)
[ 197.007] (EE) Server terminated with error (1). Closing log file.
And if i try to fool xserver by using:
cat xgame.singlescreen.sh
#!/bin/bash
chvt 1 #Fool X? nope...
sleep 2
startx \
/root/scripts/xgame.singlescreen.xinitrc -- \
-config /root/scripts/xgame.singlescreen.xorg.conf
…the secondary X screen pops up with openbox and konsole, but the system seems to lock up, and i’ve to hard-reset it.
As a side note, as the secondary server fails, switching Vts by hand or with chvt don’t work anymore till i kill the first X server.