removed extra/xorg-server, arm patch merged upstream

This commit is contained in:
Kevin Mihelich 2013-06-25 18:39:12 +00:00
parent c370d733bd
commit dd8d18e0b9
10 changed files with 0 additions and 830 deletions

View file

@ -1,10 +0,0 @@
# Collection of quirks and blacklist/whitelists for specific devices.
# Accelerometer device, posts data through ABS_X/ABS_Y, making X unusable
# http://bugs.freedesktop.org/show_bug.cgi?id=22442
Section "InputClass"
Identifier "ThinkPad HDAPS accelerometer blacklist"
MatchProduct "ThinkPad HDAPS accelerometer data"
Option "Ignore" "on"
EndSection

View file

@ -1,219 +0,0 @@
# $Id: PKGBUILD 180178 2013-03-18 16:08:50Z andyrtr $
# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=xorg-server
pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel')
pkgver=1.14.1
pkgrel=1
arch=('i686' 'x86_64')
license=('custom')
url="http://xorg.freedesktop.org"
makedepends=('pixman' 'libx11' 'mesa' 'mesa-libgl' 'xf86driproto' 'xcmiscproto' 'xtrans' 'bigreqsproto' 'randrproto' 'inputproto' 'fontsproto' 'videoproto'
'compositeproto' 'recordproto' 'scrnsaverproto' 'resourceproto' 'xineramaproto' 'libxkbfile' 'libxfont' 'renderproto' 'libpciaccess'
'libxv' 'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres' 'xorg-xkbcomp' 'xorg-util-macros'
'xorg-font-util' 'glproto' 'dri2proto' 'libgcrypt')
options=('!libtool')
source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2
autoconfig-nvidia.patch
autoconfig-sis.patch
xserver-1.6.0-less-acpi-brokenness.patch
bug59825.patch
xvfb-run
xvfb-run.1
10-quirks.conf
git-fixes.patch
arm.patch)
sha256sums=('a5adb02571efb7d7459dde83286a3adb77dfd1a52a7348e75d2dc72d6f8d28aa'
'66e25f76a7496c429e0aff4b0670f168719bb0ceaeb88c6f2272f2bf3ed21162'
'd027776fac1f7675b0a9ee817502290b1c45f9c09b0f0a6bb058c35f92361e84'
'e033f9bcc21980f7f0428e6ed6c362a3d55ad293b05fd6e6c6c1933b86f9e63a'
'26ee6ff255a60d7c1e136c612925eb63c86e85a4a3a55d531852ad9275526588'
'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9'
'2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776'
'94612f5c0d34a3b7152915c2e285c7b462e9d8e38d3539bd551a339498eac166'
'd0832cc16b5e6c1dee2959055a4b327f5c87e2a67b5f427d654663057207b2c1'
'ca90b99582f70eae4e91409ceccbcaa728b9640eeed6ef99f75a173d89f41a0b')
build() {
cd "${srcdir}/${pkgbase}-${pkgver}"
# Use nouveau/nv/nvidia drivers for nvidia devices
patch -Np1 -i "${srcdir}/autoconfig-nvidia.patch"
# Use unofficial imedia SiS driver for supported SiS devices
patch -Np0 -i "${srcdir}/autoconfig-sis.patch"
# https://bugs.freedesktop.org/show_bug.cgi?id=59825 - fixes crash with vboxvideo
patch -Np1 -i "${srcdir}/bug59825.patch"
# From Fedora. Do not build acpid code, it is buggy and we do not need it
patch -Np1 -i "${srcdir}/xserver-1.6.0-less-acpi-brokenness.patch"
# post release git fixes
patch -Np1 -i "${srcdir}/git-fixes.patch"
# ARM fix
patch -Np1 -i "${srcdir}/arm.patch"
autoreconf -fi
./configure --prefix=/usr \
--enable-ipv6 \
--enable-dri \
--enable-dmx \
--enable-xvfb \
--enable-xnest \
--enable-composite \
--enable-xcsecurity \
--enable-xorg \
--enable-xephyr \
--enable-glx-tls \
--enable-kdrive \
--enable-kdrive-evdev \
--enable-kdrive-kbd \
--enable-kdrive-mouse \
--enable-install-setuid \
--enable-config-udev \
--disable-config-dbus \
--enable-record \
--disable-xfbdev \
--disable-xfake \
--disable-static \
--sysconfdir=/etc/X11 \
--localstatedir=/var \
--with-xkb-path=/usr/share/X11/xkb \
--with-xkb-output=/var/lib/xkb \
--with-fontrootdir=/usr/share/fonts
make
# Disable subdirs for make install rule to make splitting easier
sed -e 's/^DMX_SUBDIRS =.*/DMX_SUBDIRS =/' \
-e 's/^XVFB_SUBDIRS =.*/XVFB_SUBDIRS =/' \
-e 's/^XNEST_SUBDIRS =.*/XNEST_SUBDIRS = /' \
-e 's/^KDRIVE_SUBDIRS =.*/KDRIVE_SUBDIRS =/' \
-i hw/Makefile
}
package_xorg-server-common() {
pkgdesc="Xorg server common files"
depends=('xkeyboard-config' 'xorg-xkbcomp' 'xorg-setxkbmap' 'xorg-fonts-misc')
cd "${srcdir}/${pkgbase}-${pkgver}"
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-common"
install -m644 COPYING "${pkgdir}/usr/share/licenses/xorg-server-common"
make -C xkb DESTDIR="${pkgdir}" install-data
install -m755 -d "${pkgdir}/usr/share/man/man1"
install -m644 man/Xserver.1 "${pkgdir}/usr/share/man/man1/"
install -m755 -d "${pkgdir}/usr/lib/xorg"
install -m644 dix/protocol.txt "${pkgdir}/usr/lib/xorg/"
}
package_xorg-server() {
pkgdesc="Xorg X server"
depends=(libxdmcp libxfont libpciaccess libdrm 'pixman>=0.28.0' libgcrypt libxau xorg-server-common xf86-input-evdev)
backup=('etc/X11/xorg.conf.d/10-evdev.conf' 'etc/X11/xorg.conf.d/10-quirks.conf')
# see xorg-server-*/hw/xfree86/common/xf86Module.h for ABI versions - we provide major numbers that drivers can depend on
provides=('X-ABI-VIDEODRV_VERSION=14' 'X-ABI-XINPUT_VERSION=19' 'X-ABI-EXTENSION_VERSION=7.0' 'x-server')
groups=('xorg')
conflicts=('nvidia-utils<=290.10')
cd "${srcdir}/${pkgbase}-${pkgver}"
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/etc/X11"
mv "${pkgdir}/usr/share/X11/xorg.conf.d" "${pkgdir}/etc/X11/"
install -m644 "${srcdir}/10-quirks.conf" "${pkgdir}/etc/X11/xorg.conf.d/"
rmdir "${pkgdir}/usr/share/X11"
# Needed for non-mesa drivers, libgl will restore it
mv "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" \
"${pkgdir}/usr/lib/xorg/modules/extensions/libglx.xorg"
rm -rf "${pkgdir}/var"
rm -f "${pkgdir}/usr/share/man/man1/Xserver.1"
rm -f "${pkgdir}/usr/lib/xorg/protocol.txt"
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server"
ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server/COPYING"
rm -rf "${pkgdir}/usr/lib/pkgconfig"
rm -rf "${pkgdir}/usr/include"
rm -rf "${pkgdir}/usr/share/aclocal"
}
package_xorg-server-xephyr() {
pkgdesc="A nested X server that runs as an X application"
depends=(libxfont libgl libgcrypt libxv 'pixman>=0.28.0' xorg-server-common)
cd "${srcdir}/${pkgbase}-${pkgver}/hw/kdrive"
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xephyr"
ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xephyr/COPYING"
}
package_xorg-server-xvfb() {
pkgdesc="Virtual framebuffer X server"
depends=(libxfont libxdmcp libxau libgcrypt 'pixman>=0.28.0' xorg-server-common)
cd "${srcdir}/${pkgbase}-${pkgver}/hw/vfb"
make DESTDIR="${pkgdir}" install
install -m755 "${srcdir}/xvfb-run" "${pkgdir}/usr/bin/"
install -m644 "${srcdir}/xvfb-run.1" "${pkgdir}/usr/share/man/man1/"
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xvfb"
ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xvfb/COPYING"
}
package_xorg-server-xnest() {
pkgdesc="A nested X server that runs as an X application"
depends=(libxfont libxext libgcrypt 'pixman>=0.28.0' xorg-server-common)
cd "${srcdir}/${pkgbase}-${pkgver}/hw/xnest"
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xnest"
ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xnest/COPYING"
}
package_xorg-server-xdmx() {
pkgdesc="Distributed Multihead X Server and utilities"
depends=(libxfont libxi libgcrypt libxaw libxrender libdmx libxfixes 'pixman>=0.28.0' xorg-server-common)
cd "${srcdir}/${pkgbase}-${pkgver}/hw/dmx"
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xdmx"
ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xdmx/COPYING"
}
package_xorg-server-devel() {
pkgdesc="Development files for the X.Org X server"
depends=(# see pkgdir/usr/lib/pkgconfig/xorg-server.pc
xproto randrproto renderproto xextproto inputproto kbproto
fontsproto pixman videoproto xf86driproto glproto
mesa dri2proto xineramaproto libpciaccess
# see FS#32146
resourceproto scrnsaverproto
# not technically required but almost every Xorg pkg needs it to build
xorg-util-macros)
cd "${srcdir}/${pkgbase}-${pkgver}"
make DESTDIR="${pkgdir}" install
rm -rf "${pkgdir}/usr/bin"
rm -rf "${pkgdir}/usr/share/man"
rm -rf "${pkgdir}/usr/share/doc"
rm -rf "${pkgdir}/usr/share/X11"
rm -rf "${pkgdir}/usr/lib/xorg"
rm -rf "${pkgdir}/var"
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-devel"
ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-devel/COPYING"
}

View file

@ -1,26 +0,0 @@
see ARM related bug reports [1-3]
[1] https://github.com/archlinuxarm/PKGBUILDs/issues/446I
[2] http://www.raspberrypi.org/phpBB3/viewtopic.php?t=38568&p=321673
[3] http://lists.linuxtogo.org/pipermail/openembedded-core/2013-April/037805.html
Signed-off-by: Andreas Müller <schnitzeltony at googlemail.com>
---
include/dixstruct.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/include/dixstruct.h b/include/dixstruct.h
index 6784819..aef822c 100644
--- a/include/dixstruct.h
+++ b/include/dixstruct.h
@@ -96,7 +96,7 @@ typedef struct _Client {
unsigned int clientGone:1;
unsigned int closeDownMode:2;
unsigned int clientState:2;
- char smart_priority;
+ signed char smart_priority;
short noClientException; /* this client died or needs to be killed */
int priority;
ReplySwapPtr pSwapReplyFunc;
--
1.7.6.5

View file

@ -1,28 +0,0 @@
diff -Nur xorg-server-1.11.99.902.orig/hw/xfree86/common/xf86pciBus.c xorg-server-1.11.99.902/hw/xfree86/common/xf86pciBus.c
--- xorg-server-1.11.99.902.orig/hw/xfree86/common/xf86pciBus.c 2012-02-10 10:10:37.583014924 +0000
+++ xorg-server-1.11.99.902/hw/xfree86/common/xf86pciBus.c 2012-02-10 11:16:07.148971317 +0000
@@ -1144,7 +1144,23 @@
int idx = 0;
#ifdef __linux__
- driverList[idx++] = "nouveau";
+ switch (dev->device_id)
+ {
+ /* NV1 */
+ case 0x0008:
+ case 0x0009:
+ driverList[idx++] = "vesa";
+ break;
+ /* NV3 */
+ case 0x0018:
+ case 0x0019:
+ driverList[idx++] = "nouveau";
+ break;
+ default:
+ driverList[idx++] = "nouveau";
+ driverList[idx++] = "nvidia";
+ break;
+ }
#endif
driverList[idx++] = "nv";
break;

View file

@ -1,21 +0,0 @@
--- hw/xfree86/common/xf86pciBus.c.orig 2011-09-24 10:53:45.421697668 +0000
+++ hw/xfree86/common/xf86pciBus.c 2011-09-24 10:55:56.416250708 +0000
@@ -1200,9 +1200,15 @@
break;
}
break;
- case 0x1039:
- driverList[0] = "sis";
- break;
+ case 0x1039:
+ switch (dev->device_id)
+ {
+ case 0x6350: case 0x6351:
+ driverList[0] = "sisimedia"; driverList[1] = "sis"; break;
+ default:
+ driverList[0] = "sis"; break;
+ }
+ break;
case 0x126f:
driverList[0] = "siliconmotion";
break;

View file

@ -1,12 +0,0 @@
diff -U 3 -b -d -p -r -- a/glx/glxdri.c b/glx/glxdri.c
--- a/glx/glxdri.c 2013-01-24 22:14:35.216092949 +0100
+++ b/glx/glxdri.c 2013-01-24 22:13:48.499427991 +0100
@@ -971,6 +971,8 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
size_t buffer_size;
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+ framebuffer.base = NULL;
+
if (!xf86LoaderCheckSymbol("DRIQueryDirectRenderingCapable") ||
!DRIQueryDirectRenderingCapable(pScreen, &isCapable) || !isCapable) {
LogMessage(X_INFO,

View file

@ -1,27 +0,0 @@
From 5047810a4c20fab444b8c6eb146c55dcdb0d4219 Mon Sep 17 00:00:00 2001
From: Aaron Plattner <aplattner@nvidia.com>
Date: Wed, 06 Mar 2013 17:40:28 +0000
Subject: fb: Rename wfbDestroyGlyphCache
Renaming this function was missed in commit
9cbcb5bd6a5360a128d15b77a02d8d3351f74366, so both libfb.so and libwfb.so define
functions named fbDestroyGlyphCache.
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Søren Sandmann <ssp@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
---
diff --git a/fb/wfbrename.h b/fb/wfbrename.h
index 588440c..54d00d0 100644
--- a/fb/wfbrename.h
+++ b/fb/wfbrename.h
@@ -52,6 +52,7 @@
#define fbCreatePixmap wfbCreatePixmap
#define fbCreatePixmapBpp wfbCreatePixmapBpp
#define fbCreateWindow wfbCreateWindow
+#define fbDestroyGlyphCache wfbDestroyGlyphCache
#define fbDestroyPixmap wfbDestroyPixmap
#define fbDestroyWindow wfbDestroyWindow
#define fbDoCopy wfbDoCopy
--
cgit v0.9.0.2-2-gbebe

View file

@ -1,25 +0,0 @@
From 0002cde5312e785529b2901d7f8a82d5623e4ca7 Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Wed, 9 Nov 2011 11:52:06 +1000
Subject: [PATCH 2/7] Don't build the ACPI code.
No good can come of this.
---
configure.ac | 1 -
1 file changed, 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index a12783c..54f4464 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1620,7 +1620,6 @@ if test "x$XORG" = xyes; then
linux_alpha=yes
;;
i*86|amd64*|x86_64*|ia64*)
- linux_acpi="yes"
;;
*)
;;
--
1.7.10.1

View file

@ -1,180 +0,0 @@
#!/bin/sh
# $Id: xvfb-run 2027 2004-11-16 14:54:16Z branden $
# This script starts an instance of Xvfb, the "fake" X server, runs a command
# with that server available, and kills the X server when done. The return
# value of the command becomes the return value of this script.
#
# If anyone is using this to build a Debian package, make sure the package
# Build-Depends on xvfb, xbase-clients, and xfonts-base.
set -e
PROGNAME=xvfb-run
SERVERNUM=99
AUTHFILE=
ERRORFILE=/dev/null
STARTWAIT=3
XVFBARGS="-screen 0 640x480x8"
LISTENTCP="-nolisten tcp"
XAUTHPROTO=.
# Query the terminal to establish a default number of columns to use for
# displaying messages to the user. This is used only as a fallback in the event
# the COLUMNS variable is not set. ($COLUMNS can react to SIGWINCH while the
# script is running, and this cannot, only being calculated once.)
DEFCOLUMNS=$(stty size 2>/dev/null | awk '{print $2}') || true
if ! expr "$DEFCOLUMNS" : "[[:digit:]]\+$" >/dev/null 2>&1; then
DEFCOLUMNS=80
fi
# Display a message, wrapping lines at the terminal width.
message () {
echo "$PROGNAME: $*" | fmt -t -w ${COLUMNS:-$DEFCOLUMNS}
}
# Display an error message.
error () {
message "error: $*" >&2
}
# Display a usage message.
usage () {
if [ -n "$*" ]; then
message "usage error: $*"
fi
cat <<EOF
Usage: $PROGNAME [OPTION ...] COMMAND
Run COMMAND (usually an X client) in a virtual X server environment.
Options:
-a --auto-servernum try to get a free server number, starting at
--server-num
-e FILE --error-file=FILE file used to store xauth errors and Xvfb
output (default: $ERRORFILE)
-f FILE --auth-file=FILE file used to store auth cookie
(default: ./.Xauthority)
-h --help display this usage message and exit
-n NUM --server-num=NUM server number to use (default: $SERVERNUM)
-l --listen-tcp enable TCP port listening in the X server
-p PROTO --xauth-protocol=PROTO X authority protocol name to use
(default: xauth command's default)
-s ARGS --server-args=ARGS arguments (other than server number and
"-nolisten tcp") to pass to the Xvfb server
(default: "$XVFBARGS")
-w DELAY --wait=DELAY delay in seconds to wait for Xvfb to start
before running COMMAND (default: $STARTWAIT)
EOF
}
# Find a free server number by looking at .X*-lock files in /tmp.
find_free_servernum() {
# Sadly, the "local" keyword is not POSIX. Leave the next line commented in
# the hope Debian Policy eventually changes to allow it in /bin/sh scripts
# anyway.
#local i
i=$SERVERNUM
while [ -f /tmp/.X$i-lock ]; do
i=$(($i + 1))
done
echo $i
}
# Clean up files
clean_up() {
if [ -e "$AUTHFILE" ]; then
XAUTHORITY=$AUTHFILE xauth remove ":$SERVERNUM" >>"$ERRORFILE" 2>&1
fi
if [ -n "$XVFB_RUN_TMPDIR" ]; then
if ! rm -r "$XVFB_RUN_TMPDIR"; then
error "problem while cleaning up temporary directory"
exit 5
fi
fi
}
# Parse the command line.
ARGS=$(getopt --options +ae:f:hn:lp:s:w: \
--long auto-servernum,error-file:,auth-file:,help,server-num:,listen-tcp,xauth-protocol:,server-args:,wait: \
--name "$PROGNAME" -- "$@")
GETOPT_STATUS=$?
if [ $GETOPT_STATUS -ne 0 ]; then
error "internal error; getopt exited with status $GETOPT_STATUS"
exit 6
fi
eval set -- "$ARGS"
while :; do
case "$1" in
-a|--auto-servernum) SERVERNUM=$(find_free_servernum) ;;
-e|--error-file) ERRORFILE="$2"; shift ;;
-f|--auth-file) AUTHFILE="$2"; shift ;;
-h|--help) SHOWHELP="yes" ;;
-n|--server-num) SERVERNUM="$2"; shift ;;
-l|--listen-tcp) LISTENTCP="" ;;
-p|--xauth-protocol) XAUTHPROTO="$2"; shift ;;
-s|--server-args) XVFBARGS="$2"; shift ;;
-w|--wait) STARTWAIT="$2"; shift ;;
--) shift; break ;;
*) error "internal error; getopt permitted \"$1\" unexpectedly"
exit 6
;;
esac
shift
done
if [ "$SHOWHELP" ]; then
usage
exit 0
fi
if [ -z "$*" ]; then
usage "need a command to run" >&2
exit 2
fi
if ! which xauth >/dev/null; then
error "xauth command not found"
exit 3
fi
# tidy up after ourselves
trap clean_up EXIT
# If the user did not specify an X authorization file to use, set up a temporary
# directory to house one.
if [ -z "$AUTHFILE" ]; then
XVFB_RUN_TMPDIR="$(mktemp -d -t $PROGNAME.XXXXXX)"
AUTHFILE="$XVFB_RUN_TMPDIR/Xauthority"
fi
# Start Xvfb.
MCOOKIE=$(mcookie)
XAUTHORITY=$AUTHFILE xauth source - << EOF >>"$ERRORFILE" 2>&1
add :$SERVERNUM $XAUTHPROTO $MCOOKIE
EOF
XAUTHORITY=$AUTHFILE Xvfb ":$SERVERNUM" $XVFBARGS $LISTENTCP >>"$ERRORFILE" \
2>&1 &
XVFBPID=$!
sleep "$STARTWAIT"
if ! kill -0 $XVFBPID 2>/dev/null; then
echo "Xvfb failed to start" >&2
exit 1
fi
# Start the command and save its exit status.
set +e
DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&1
RETVAL=$?
set -e
# Kill Xvfb now that the command has exited.
kill $XVFBPID
# Return the executed command's exit status.
exit $RETVAL
# vim:set ai et sts=4 sw=4 tw=80:

View file

@ -1,282 +0,0 @@
.\" $Id: xvfb-run.1 2138 2005-01-17 23:40:27Z branden $
.\"
.\" Copyright 1998-2004 Branden Robinson <branden@debian.org>.
.\"
.\" This is free software; you may redistribute it and/or modify
.\" it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2,
.\" or (at your option) any later version.
.\"
.\" This is distributed in the hope that it will be useful, but
.\" WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License with
.\" the Debian operating system, in /usr/share/common-licenses/GPL; if
.\" not, write to the Free Software Foundation, Inc., 59 Temple Place,
.\" Suite 330, Boston, MA 02111-1307 USA
.\"
.\" We need the URL macro from groff's www macro package, but also want
.\" things to work all right for people who don't have it. So we define
.\" our own URL macro and let the www macro package override it if it's
.\" available.
.de URL
\\$2 \(laURL: \\$1 \(ra\\$3
..
.if \n[.g] .mso www.tmac
.TH xvfb\-run 1 "2004\-11\-12" "Debian Project"
.SH NAME
xvfb\-run \- run specified X client or command in a virtual X server environment
.SH SYNOPSIS
.B xvfb\-run
[
.I options
]
.I command
.SH DESCRIPTION
.B xvfb\-run
is a wrapper for the
.BR Xvfb (1x)
command which simplifies the task of running commands (typically an X
client, or a script containing a list of clients to be run) within a virtual
X server environment.
.PP
.B xvfb\-run
sets up an X authority file (or uses an existing user\-specified one),
writes a cookie to it (see
.BR xauth (1x))
and then starts the
.B Xvfb
X server as a background process.
The process ID of
.B Xvfb
is stored for later use.
The specified
.I command
is then run using the X display corresponding to the
.B Xvfb
server
just started and the X authority file created earlier.
.PP
When the
.I command
exits, its status is saved, the
.B Xvfb
server is killed (using the process ID stored earlier), the X authority
cookie removed, and the authority file deleted (if the user did not specify
one to use).
.B xvfb\-run
then exits with the exit status of
.IR command .
.PP
.B xvfb\-run
requires the
.B xauth
command to function.
.SH OPTIONS
.TP
.B \-a\fR,\fB \-\-auto\-servernum
Try to get a free server number, starting at 99, or the argument to
.BR \-\-server\-num .
.TP
.BI \-e\ file \fR,\fB\ \-\-error\-file= file
Store output from
.B xauth
and
.B Xvfb
in
.IR file .
The default is
.IR /dev/null .
.TP
.BI \-f\ file \fR,\fB\ \-\-auth\-file= file
Store X authentication data in
.IR file .
By default, a temporary directory called
.IR xvfb\-run. PID
(where PID is the process ID of
.B xvfb\-run
itself) is created in the directory specified by the environment variable
.B TMPDIR
(or
.I /tmp
if that variable is null or unset), and the
.BR tempfile (1)
command is used to create a file in that temporary directory called
.IR Xauthority .
.TP
.B \-h\fR,\fB \-\-help
Display a usage message and exit.
.TP
.BI \-n\ servernumber \fR,\fB\ \-\-server\-num= servernumber
Use
.I servernumber
as the server number (but see the
.B \-a\fR,\fB \-\-auto\-servernum
option above).
The default is 99.
.TP
.B \-l\fR,\fB \-\-listen\-tcp
Enable TCP port listening in the X server.
For security reasons (to avoid denial\-of\-service attacks or exploits),
TCP port listening is disabled by default.
.TP
.BI \-p\ protocolname \fR,\fB\ \-\-xauth\-protocol= protocolname
Use
.I protocolname
as the X authority protocol to use.
The default is \(oq.\(cq, which
.B xauth
interprets as its own default protocol, which is MIT\-MAGIC\-COOKIE\-1.
.TP
.BI \-s\ arguments \fR,\fB\ \-\-server\-args= arguments
Pass
.I arguments
to the
.B Xvfb
server.
Be careful to quote any whitespace characters that may occur within
.I arguments
to prevent them from regarded as separators for
.BR xvfb\-run 's
own arguments.
Also, note that specification of \(oq\-nolisten tcp\(cq in
.I arguments
may override the function of
.BR xvfb\-run 's
own
.B \-l\fR,\fB \-\-listen\-tcp
option, and that specification of the server number (e.g., \(oq:1\(cq) may
be ignored because of the way the X server parses its argument list.
Use the
.B xvfb\-run
option
.BI \-n\ servernumber \fR,\fB\ \-\-server\-num= servernumber
to achieve the latter function.
The default is \(oq\-screen 0 640x480x8\(cq.
.TP
.BI \-w\ delay \fR,\fB\ \-\-wait= delay
Wait
.I delay
seconds after launching
.B Xvfb
before attempting to start the specified command.
The default is 3.
.SH ENVIRONMENT
.TP
.B COLUMNS
indicates the width of the terminal device in character cells.
This value is used for formatting diagnostic messages.
If not set, the terminal is queried using
.BR stty (1)
to determine its width.
If that fails, a value of \(oq80\(cq is assumed.
.TP
.B TMPDIR
specifies the directory in which to place
.BR xvfb\-run 's
temporary directory for storage of the X authority file; only used if the
.B \-f
or
.B \-\-auth\-file
options are not specified.
.SH "OUTPUT FILES"
.PP
Unless the
.B \-f
or
.B \-\-auth\-file
options are specified, a temporary
directory and file within it are created (and deleted) to store the X
authority cookies used by the
.B Xvfb
server and client(s) run under it.
See
.BR tempfile (1).
If \-f or \-\-auth\-file are used, then the specified X authority file is
only written to, not created or deleted (though
.B xauth
creates an authority file itself if told to use use that does not already
exist).
.PP
An error file with a user\-specified name is also created if the
.B \-e
or
.B \-\-error\-file
options are specifed; see above.
.SH "EXIT STATUS"
.B xvfb\-run
uses its exit status as well as output to standard error to communicate
diagnostics.
The exit status of \(oq1\(cq is not used, and should be interpreted as failure
of the specified command.
.TP
0
.B xvfb\-run
only uses this exit status if the
.B \-h\fR,\fB \-\-help
option is given.
In all other situations, this may be interpreted as success of the specified
command.
.TP
2
No command to run was specified.
.TP
3
The
.B xauth
command is not available.
.TP
4
The temporary directory that was going to be used already exists; since
.B xvfb\-run
produces a uniquely named directory, this may indicate an attempt by another
process on the system to exploit a temporary file race condition.
.TP
5
A problem was encountered while cleaning up the temporary directory.
.TP
6
A problem was encountered while using
.BR getopt (1)
to parse the command\-line arguments.
.SH EXAMPLES
.TP
.B xvfb\-run \-\-auto\-servernum \-\-server\-num=1 xlogo
runs the
.BR xlogo (1x)
demonstration client inside the
.B Xvfb
X server on the first available server number greater than or equal to 1.
.TP
.B xvfb\-run \-\-server\-args="\-screen 0 1024x768x24" ico \-faces
runs the
.BR ico (1x)
demonstration client (and passes it the
.B \-faces
argument) inside the
.B Xvfb
X server, configured with a root window of 1024 by 768 pixels and a color
depth of 24 bits.
.PP
Note that the demo X clients used in the above examples will not exit on
their own, so they will have to be killed before
.B xvfb\-run
will exit.
.SH BUGS
See
.URL "http://bugs.debian.org/xvfb" "the Debian Bug Tracking System" .
If you wish to report a bug in
.BR xvfb\-run ,
please use the
.BR reportbug (1)
command.
.SH AUTHOR
.B xfvb\-run
was written by Branden Robinson and Jeff Licquia with sponsorship from
Progeny Linux Systems.
.SH "SEE ALSO"
.BR Xvfb (1x),
.BR xauth (1x)
.\" vim:set et tw=80: