X Version 11 (Release 6.1)

Xvfb(X1M)


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 is 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.

A secondary use is testing clients against unusual depths and screen configurations.

Options

In addition to the normal server options described in the Xsco(X1M) 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 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 memory mapped files containing the framebuffer memory should be created. See the Files section.

-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.

If neither -shmem nor -fbdir is specified, the framebuffer memory will be allocated with malloc(3C).


-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.

The header file Xserver/mi/miline.h in the X Development System includes public definitions used for configuring basic pixelization aspects of the sample implementation graphics routines provided in {mfb,mi,cfb*} at run-time. Devices can configure the rendering of routines in mi, mfb, and cfb* by specifying a thin line bias to be applied to a particular screen using the following function. The bias parameter is an OR'ing of the appropriate OCTANT constants defined above to indicate which octants to bias a line to prefer an axial step when the Bresenham error term is exactly zero. The octants are mapped as follows:

     \    |    /
      \ 3 | 2 /
       \  |  /
      4 \ | / 1
         \|/
     -----------
         /|\
      5 / | \ 8
       /  |  \
      / 6 | 7 \
     /    |    \

Files

The following files are created if the -fbdir option is given:

framebuffer-directory/Xvfb_screenn

Memory mapped file containing screen n's framebuffer memory, one file per screen. The file is in xwd format.

See also XWDFile.h, the X Window Dump File format definition file.

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.

References

X(X1M), Xsco(X1M), xwd(X1), xwud(X1).
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004