NAME
Xvfb - virtual framebuffer X server for X Version 11
SYNOPSIS
Xvfb
[ option ] ...
DESCRIPTION
Xvfb
is an X server that can run on machines with no display 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 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 _X_v_f_b,
including testing clients against unusual depths and screen
configurations, doing batch processing with _X_v_f_b 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 _X_v_f_b, put the following in your host.def and remake.
#define BuildServer YES /* if you aren't already building other servers */
#define XVirtualFramebufferServer YES
OPTIONS
In addition to the normal server options described in the _X_s_e_r_v_e_r_(_1_)
manual page, _X_v_f_b accepts the following command line switches:
-
-screen _s_c_r_e_e_n_n_u_m _Wx_Hx_D[@_x,_y]
-
This option creates screen _s_c_r_e_e_n_n_u_m and sets its width, height,
and depth to W, H, and D respectively, and optionally the screen origin
(for Xinerama purposes) to (x,y). By default, only screen 0 exists and
has the dimensions 1280x1024x8. If a screen origin is not specified
when using Xinerama, the default is for screen
N
to be positioned to the right of screen
N-1.
-
-pixdepths _l_i_s_t_-_o_f_-_d_e_p_t_h_s
-
This option specifies a list of pixmap depths that the server should
support in addition to the depths implied by the supported screens.
_l_i_s_t_-_o_f_-_d_e_p_t_h_s is a space-separated list of integers that can have
values from 1 to 32.
-
-fbdir _f_r_a_m_e_b_u_f_f_e_r_-_d_i_r_e_c_t_o_r_y
-
This option specifies the directory in which the memory mapped files
containing the framebuffer memory should be created. See FILES. This
option only exists on machines that have the mmap and msync system 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 memory is in xwd format. This option only exists
on machines that support the System V shared memory interface.
If neither --sshhmmeemm nor --ffbbddiirr 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 cfb and mfb code.
-
-blackpixel _p_i_x_e_l_-_v_a_l_u_e, -whitepixel _p_i_x_e_l_-_v_a_l_u_e
-
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.
-
_f_r_a_m_e_b_u_f_f_e_r_-_d_i_r_e_c_t_o_r_y/Xvfb_screen
-
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.
EXAMPLES
-
Xvfb :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 configuration (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 configuration (one screen, 1280x1024x8),
will also support pixmap
depths of 3 and 27,
and will use memory 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 ALSO
X(7), Xserver(1), xwd(1), xwud(1), XWDFile.h
AUTHORS
David P. Wiggins, The Open Group, Inc.