fb-rle — save frame buffer image in a run-length encoded file


fb-rle [-cd ] [-F framebuffer] [-C r/g/b] [-S squarescrsize] [-W scr_width] [-N scr_height] [-X scr_xoff] [-Y scr_yoff] [-s squarefilesize] [-w file_width] [-n file_height] [file.rle]


fb-rle saves an image from a frame buffer in the University of Utah standard (Edition-3, or "Utah Raster Toolkit") Run-Length Encoded (RLE) format file (these files can be displayed with rle-fb(1) or a similar program). If file.rle is not specified, standard output is written.

The size of the image to be saved can be set with the -s or -n and -w command line options. If these are omitted, the entire screen area will be saved. The image rectangle to be saved can be repositioned on the screen with the -X and -Y command line options.

-W scr_width

specifies the desired width of the screen, in pixels.

-N scr_height

specifies the desired height of the screen, in scanlines.

-S squarescrsize

sets the screen width and height to the indicated value.

-F framebuffer

This option specifies which framebuffer the image is to be saved from. If not given, the environment variable FB_FILE is used to select the display device (see brlcad(1)). If FB_FILE has not been set, the default device for your system will be used.

-w file_width

specifies the desired width of the saved image, in pixels.

-n file_height

specifies the desired height of the saved image, in scanlines.

-s squarefilesize

sets the saved image width and height to the indicated value.


The "crunch colormap" option. If the frame buffer contains a non standard (i.e. non linear) colormap, rather than saving that colormap in the RLE file this option causes the colormap to be applied to the pixel data before it is saved in the file. This can be useful to preserve dramatic images created with weird color maps such that Gamma correction (e.g., for film) can also be applied. This option is recommended when producing images for export to other display systems, so that variations in the interpretation of color maps between different types of display hardware do not affect the displayed image.


Debug option, provides a verbose description of the input file structure and image decoding process, written on standard error.

-C r/g/b

The background value to be recorded in the RLE file is normally automatically selected from the display. This option permits the user to specify an alternate background color as a red/green/blue triple, separated by slashes ("/"). The color intensity in each channel ranges from 0 (dark) to 255 (bright).

-X scr_xoff

Specify a screen X offset, which will offset the saved area onto the screen by the given amount. E.g., -X 10 would place (0, 10) on the screen in the RLE image rectangle coordinate (0, 0).

-Y scr_yoff

Specify a screen Y offset, which will offset the saved area onto the screen by the given amount.


Name of file to be written, in RLE format. If not specified, standard output is used instead.

The run length encoded image format is best used for the long-term storage of images, as it uses less disk storage than a pix(5) file, at the expense of requiring more processing for the encoding and decoding. This program is also useful when using the Utah Raster Toolkit utilities, which only operate on RLE encoded files.


fb-rle truck.rle

fb-rle -C 0/255/0 >car.rle

fb-rle -s 512 >lowerleft.rle


brlcad(1), rle-fb(1), fb-pix(1), rle-pix(1), pix-rle(1), pixrect(1), pixscale(1), pixmerge(1), comp(1), crop(1), repos(1), rlepatch(1), rlebox(1), librle(3)




This software is Copyright (c) 1988-2013 by the United States Government as represented by U.S. Army Research Laboratory.


Reports of bugs or problems should be submitted via electronic mail to <>.