Section: User Commands (1)
Updated: xorg-server 1.20.10
Xvfb - virtual framebuffer X server for X Version 11
[ option ] ...
is an X server that can run on machines with no display hardware
and no physical input devices. It emulates a dumb framebuffer using
The primary use of this server was intended to be server testing. The
fb code for any depth can be exercised 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.
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 dimensions 1280x1024x24.
- -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 memory mapped files
containing the framebuffer memory should be created.
This option only exists on machines that have the mmap and msync system
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 memory is in xwd format.
This option only exists on machines that support the System V shared memory
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 experiment with the range of line pixelization
possible with the fb code.
- -blackpixel pixel-value, -whitepixel pixel-value
These options specify the black and white pixel values the server should use.
The following files are created if the -fbdir option is given.
Memory mapped file containing screen n's framebuffer memory, one file
per screen. The file is in xwd format. Thus, taking a full-screen
snapshot can be done with a file copy command, and the resulting
snapshot will even contain the cursor image.
- Xvfb :1 -screen 0 1600x1200x24
The server will listen for connections as server number 1, and screen 0
will be depth 24 1600x1200.
- Xvfb :1 -screen 1 1600x1200x16
The server will listen for connections as server number 1, screen 0 will have the
default screen configuration (1280x1024x24), and screen 1 will be depth 16 1600x1200.
- Xvfb -pixdepths 3 27 -fbdir /var/tmp
The server will listen for connections as server number 0, will have the
default screen configuration (one screen, 1280x1024x24),
will also support pixmap
depths of 3 and 27,
and will use memory mapped files in /var/tmp for the framebuffer.
- xwud -in /var/tmp/Xvfb_screen0
Displays screen 0 of the server started by the preceding example.
X(7), Xserver(1), xwd(1), xwud(1), XWDFile.h
David P. Wiggins, The Open Group, Inc.