Cannot start a secondary Xserver anymore: EVO Push buffer channel allocation failed

This worked in the past, but now, as soon as i try to start another X instance, i get this in the Xorg.1.log:
[108002.810] (EE) NVIDIA(GPU-0): EVO Push buffer channel allocation failed
[108002.813] (EE) NVIDIA(GPU-0): Failed to allocate EVO core DMA push buffer
[108002.814] (EE) NVIDIA(0): Failing initialization of X screen 0
[108002.814] (II) UnloadModule: “nvidia”

From that moment on, i cannot change VTs anymore; chvt also fails silently.

nvidia-bug-report.log.gz (73.5 KB)
Xorg.1.log.gz (2.47 KB)

My attachments are still in “[SCANNING… PLEASE WAIT]” state (i don’t know if it is a bug in the forum)
If needed, please get them from here:
http://wpage.unina.it/aorefice/sharevari/nvidia-bug-report.log.gz
http://wpage.unina.it/aorefice/sharevari/Xorg.1.log.gz

I think you are running very latest kernel+xorg. Is any earlier drivers worked for you? plz provide reproduction steps in details.

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.