fbset (8) - Linux Manuals

fbset: show and modify frame buffer device settings


fbset - show and modify frame buffer device settings


fbset [options] [mode]


This documentation is out of date!!

fbset is a system utility to show or change the settings of the frame buffer device. The frame buffer device provides a simple and unique interface to access different kinds of graphic displays.

Frame buffer devices are accessed via special device nodes located in the /dev directory. The naming scheme for these nodes is always fb<n>, where n is the number of the used frame buffer device.

fbset uses an own video mode database located in /etc/fb.modes. An unlimited number of video modes can be defined in this database. For further information see fb.modes(5).


If no option is given, fbset will display the current frame buffer settings.

General options:

display an usage information
change the video mode immediately. If no frame buffer device is given via -fb , then this option is activated by default
display the video mode settings. This is default if no further option or only a frame buffer device via -fb is given
display all available frame buffer information
display information what fbset is currently doing
display the version information about fbset
display the timing information as it's needed by XFree86

Frame buffer device nodes:

-fb <device>
device gives the frame buffer device node. If no device via -fb is given, /dev/fb0 is used

Video mode database:

-db <file>
set an alternative video mode database file (default is /etc/fb.modes), see also fb.modes(5)

Display geometry:

-xres <value>
set visible horizontal resolution (in pixels)
-yres <value>
set visible vertical resolution (in pixels)
-vxres <value>
set virtual horizontal resolution (in pixels)
-vyres <value>
set virtual vertical resolution (in pixels)
-depth <value>
set display depth (in bits per pixel)
--geometry-g ...
set all geometry parameters at once in the order <xres> <yres> <vxres> <vyres> <depth>, e.g. -g 640 400 640 400 4
make the physical resolution match the virtual resolution

Display timings:

-pixclock <value>
set the length of one pixel (in picoseconds). Note that the frame buffer device may only support some pixel lengths
-left <value>
set left margin (in pixels)
-right <value>
set right margin (in pixels)
-upper <value>
set upper margin (in pixel lines)
-lower <value>
set lower margin (in pixel lines)
-hslen <value>
set horizontal sync length (in pixels)
-vslen <value>
set vertical sync length (in pixel lines)
--timings-t ...
set all timing parameters at once in the order <pixclock> <left> <right> <upper> <lower> <hslen> <vslen>, e.g. -g 35242 64 96 35 12 112 2

Display flags:

-hsync {low|high}
set the horizontal sync polarity
-vsync {low|high}
set the vertical sync polarity
-csync {low|high}
set the composite sync polarity
-extsync {false|true}
enable or disable external resync. If enabled the sync timings are not generated by the frame buffer device and must be provided externally instead. Note that this option may not be supported by every frame buffer device
-bcast {false|true}
enable or disable broadcast modes. If enabled the frame buffer generates the exact timings for several broadcast modes (e.g. PAL or NTSC). Note that this option may not be supported by every frame buffer device
-laced {false|true}
enable or disable interlace. If enabled the display will be split in two frames, each frame contains only even and odd lines respectively. These two frames will be displayed alternating, this way twice the lines can be displayed and the vertical frequency for the monitor stays the same, but the visible vertical frequency gets halved
-double {false|true}
enable or disable doublescan. If enabled every line will be displayed twice and this way the horizontal frequency can easily be doubled, so that the same resolution can be displayed on different monitors, even if the horizontal frequency specification differs. Note that this option may not be supported by every frame buffer device

Display positioning:

-move {left|right|up|down}
move the visible part of the display in the specified direction
-step <value>
set step size for display positioning (in pixels or pixel lines), if -step is not given display will be moved 8 pixels horizontally or 2 pixel lines vertically


To set the used video mode for X insert the following in rc.local:

fbset -fb /dev/fb0 vga

and make the used frame buffer device known to X:

export FRAMEBUFFER=/dev/fb0




Geert Uytterhoeven <Geert.Uytterhoeven [at] cs.kuleuven.ac.be>
Roman Zippel <zippel [at] fh-brandenburg.de>

man files


fb.modes(5), fbdev(4)