fbset(8)
๐ fbset(8) โ Linux frame buffer utils โจ
okay bestie, so the manual page header says fbset(8) from the Linux frame buffer utils and honestly? iconic. let's get into it ๐ซถ
๐ธ NAME ๐ธ
fbset โ show and modify frame buffer device settings. literally exactly what it sounds like, no cap ๐
โจ SYNOPSIS โจ
fbset [options] [mode]
that's it. that's the whole vibe check. one command, all the options, one optional mode ๐
๐ DESCRIPTION ๐
๐ heads up bestie: This documentation is out of date!! โ the original manpage literally says that, so i'm passing it straight to you, no editing. iykyk.
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. it's giving "one interface to rule them all" energy ๐
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. so like fb0, fb1, whatever โ the number is the device's whole personality ๐
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). so many modes. infinite modes. the database ate, fr fr ๐โจ
๐ OPTIONS ๐
if no option is given, fbset will display the current frame buffer settings. default behavior slay ๐
๐ General options:
--help,-hโ display an usage information. the classic "what do i even do" button ๐ซถ--now,-nโ change the video mode immediately. if no frame buffer device is given via-fb, then this option is activated by default. no waiting, no buffering, immediate main character behavior โก--show,-sโ display the video mode settings. this is default if no further option or only a frame buffer device via-fbis given. the lowkey default ๐--info,-iโ display all available frame buffer information. the full tea, all of it โ--verbose,-vโ display information whatfbsetis currently doing. it narrates its own life ๐ฃ๏ธ--version,-Vโ display the version information aboutfbset. who are you, when were you born, all that ๐--xfree86,-xโ display the timing information as it's needed by XFree86. retro bestie behavior, we respect it ๐พ
๐ฆ Frame buffer device nodes:
-fb <device>โ device gives the frame buffer device node. if no device via-fbis given,/dev/fb0is used. the default default default ๐
๐ Video mode database:
-db <file>โ set an alternative video mode database file (default is/etc/fb.modes), see alsofb.modes(5). customize your mode menu, fancy ๐
๐ธ 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. one line, five numbers, absolutely devouring ๐ฝ๏ธ-matchโ make the physical resolution match the virtual resolution. they're matching. they're twinning. they're in sync ๐
โญ 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. yes bestie, the manpage literally shows-gin that example โ i'm copying it exactly as written, not my typo, not fixing it, periodt ๐
๐ฅ 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 ๐ญ math is math-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. scoot scoot ๐ผ-step <value>โ set step size for display positioning (in pixels or pixel lines), if-stepis not given display will be moved 8 pixels horizontally or 2 pixel lines vertically. that's the default, memorize it bestie ๐
๐ EXAMPLE ๐
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
two lines. that's the whole glow-up. go off ๐ โจ
๐ง FILES ๐ง
/dev/fb*/etc/fb.modes
๐ SEE ALSO ๐
fb.modes(5), fbdev(4) โ go read those too, they're the supporting cast and they ate ๐ซถ
๐ AUTHORS ๐
- Geert Uytterhoeven
<Geert.Uytterhoeven@cs.kuleuven.ac.be> - Roman Zippel
<zippel@fh-brandenburg.de>โ man files
okay that's the whole page, and for the cute sign-off: this one's credited as local, dated July 1998, filed under fbset(8) โ yes bestie, 1998, elder millennial of a manpage and still serving ๐พ๐๐
๐ฆ where this page comes from
- arch rolling: fbset 2.1-11 ยท GPL
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms