XVFB(1)XVFB(1)NAMEXvfb - virtual framebuffer X server for X Version 11
SYNOPSISXvfb [ option ] ...
DESCRIPTIONXvfb is an X server that can run on machines with no dis-
play hardware and no physical input devices. It emulates
a dumb framebuffer using virtual memory.
The primary use of this server was intended to be server
testing. The mfb or cfb code for any depth can be exer-
cised with this server without the need for real hardware
that supports the desired depths. The X community has
found many other novel uses for Xvfb, including testing
clients against unusual depths and screen configurations,
doing batch processing with Xvfb as a background rendering
engine, load testing, as an aid to porting the X server to
a new platform, and providing an unobtrusive way to run
applications that don't really need an X server but insist
on having one anyway.
BUILDING
To build Xvfb, put the following in your host.def and
remake.
OPTIONS
In addition to the normal server options described in the
Xserver(1) manual page, Xvfb accepts the following command
line switches:
-screen screennum WxHxD
This option creates screen screennum and sets its
width, height, and depth to W, H, and D respectively.
By default, only screen 0 exists and has the dimen-
sions 1280x1024x8.
-pixdepths list-of-depths
This option specifies a list of pixmap depths that the
server should support in addition to the depths
implied by the supported screens. list-of-depths is a
space-separated list of integers that can have values
from 1 to 32.
-fbdir framebuffer-directory
This option specifies the directory in which the mem-
ory mapped files containing the framebuffer memory
should be created. See FILES. This option only
exists on machines that have the mmap and msync system
X Version 11 Release 6.4 1
XVFB(1)XVFB(1)
calls.
-shmem
This option specifies that the framebuffer should be
put in shared memory. The shared memory ID for each
screen will be printed by the server. The shared mem-
ory is in xwd format. This option only exists on
machines that support the System V shared memory
interface.
If neither -shmem nor -fbdir is specified, the framebuffer
memory will be allocated with malloc().
-linebias n
This option specifies how to adjust the pixelization
of thin lines. The value n is a bitmask of octants in
which to prefer an axial step when the Bresenham error
term is exactly zero. See the file
Xserver/mi/miline.h for more information. This option
is probably only useful to server developers to exper-
iment with the range of line pixelization possible
with the cfb and mfb code.
-blackpixel pixel-value, -whitepixel pixel-value
These options specify the black and white pixel values
the server should use.
FILES
The following files are created if the -fbdir option is
given.
framebuffer-directory/Xvfb_screen<n>
Memory mapped file containing screen n's framebuffer
memory, one file per screen. The file is in xwd for-
mat. Thus, taking a full-screen snapshot can be done
with a file copy command, and the resulting snapshot
will even contain the cursor image.
EXAMPLESXvfb :1 -screen 0 1600x1200x32
The server will listen for connections as server
number 1, and screen 0 will be depth 32 1600x1200.
Xvfb :1 -screen 1 1600x1200x16
The server will listen for connections as server
number 1, will have the default screen configura-
tion (one screen, 1280x1024x8), and screen 1 will
be depth 16 1600x1200.
Xvfb-pixdepths 3 27 -fbdir /usr/tmp
The server will listen for connections as server
number 0, will have the default screen configura-
tion (one screen, 1280x1024x8), will also support
pixmap depths of 3 and 27, and will use memory
X Version 11 Release 6.4 2
XVFB(1)XVFB(1)
mapped files in /usr/tmp for the framebuffer.
xwud -in /usr/tmp/Xvfb_screen0
Displays screen 0 of the server started by the
preceding example.
SEE ALSOX(7), Xserver(1), xwd(1), xwud(1), XWDFile.h
AUTHORS
David P. Wiggins, The Open Group, Inc.
X Version 11 Release 6.4 3