Add new package xdummy, a dummy X server.

This is actually a small script which just starts an X server without
any real display. Right now only needed for running the test suite of
the i3 window manager within the Nix chroot, but might be useful for
running other tests needing a DISPLAY.

Usage is just like a regular X server, so in order to start an instance
for display :666, you just run it like this:

xdummy :666

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
This commit is contained in:
aszlig 2014-08-01 05:17:23 +02:00
parent b02d72f754
commit feeb5bae23
No known key found for this signature in database
GPG Key ID: D0EBD0EC8C2DC961
2 changed files with 85 additions and 0 deletions

View File

@ -0,0 +1,83 @@
{ stdenv, writeText, writeScriptBin, xorg, xkeyboard_config }:
let
xorgConfig = writeText "dummy-xorg.conf" ''
Section "ServerLayout"
Identifier "dummy_layout"
Screen 0 "dummy_screen"
InputDevice "dummy_keyboard" "CoreKeyboard"
InputDevice "dummy_mouse" "CorePointer"
EndSection
Section "ServerFlags"
Option "DontVTSwitch" "true"
Option "AllowMouseOpenFail" "true"
Option "PciForceNone" "true"
Option "AutoEnableDevices" "false"
Option "AutoAddDevices" "false"
EndSection
Section "Files"
ModulePath "${xorg.xorgserver}/lib/xorg/modules"
ModulePath "${xorg.xf86videodummy}/lib/xorg/modules"
XkbDir "${xkeyboard_config}/share/X11/xkb"
FontPath "${xorg.fontadobe75dpi}/lib/X11/fonts/75dpi"
FontPath "${xorg.fontadobe100dpi}/lib/X11/fonts/100dpi"
FontPath "${xorg.fontbhlucidatypewriter75dpi}/lib/X11/fonts/75dpi"
FontPath "${xorg.fontbhlucidatypewriter100dpi}/lib/X11/fonts/100dpi"
FontPath "${xorg.fontbh100dpi}/lib/X11/fonts/100dpi"
FontPath "${xorg.fontmiscmisc}/lib/X11/fonts/misc"
FontPath "${xorg.fontcursormisc}/lib/X11/fonts/misc"
EndSection
Section "Module"
Load "dbe"
Load "extmod"
Load "freetype"
Load "glx"
EndSection
Section "InputDevice"
Identifier "dummy_mouse"
Driver "void"
EndSection
Section "InputDevice"
Identifier "dummy_keyboard"
Driver "void"
EndSection
Section "Monitor"
Identifier "dummy_monitor"
HorizSync 30.0 - 130.0
VertRefresh 50.0 - 250.0
Option "DPMS"
EndSection
Section "Device"
Identifier "dummy_device"
Driver "dummy"
VideoRam 192000
EndSection
Section "Screen"
Identifier "dummy_screen"
Device "dummy_device"
Monitor "dummy_monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
'';
in writeScriptBin "xdummy" ''
#!${stdenv.shell}
export XKB_BINDIR="${xorg.xkbcomp}/bin"
exec ${xorg.xorgserver}/bin/Xorg \
-noreset \
-logfile /dev/null \
"$@" \
-config "${xorgConfig}"
''

View File

@ -2454,6 +2454,8 @@ let
xdelta = callPackage ../tools/compression/xdelta { };
xdummy = callPackage ../tools/misc/xdummy { };
xfsprogs = callPackage ../tools/filesystems/xfsprogs { };
xmlroff = callPackage ../tools/typesetting/xmlroff {