fbtv - Man Page

a console program for watching TV


fbtv [ options ] [ station name ]


fbtv is a program for watching TV with your linux box.  It runs on top of a graphic framebuffer device (/dev/fb0).  You'll need a kernel newer than 2.1.x to play with this. fbtv shares the config file ($HOME/.xawtv) with the xawtv application.  Check the xawtv(1) manpage for details about the config file format.



Display a command line options summary.

-o base

set base string for the snapshot output files.  The filename will be base-timestamp-nr.ext.


Be verbose.

-c device

video4linux device (default is /dev/video0).

-D driver

video4linux driver (default is libv4l).

-d device

framebuffer device (default is $FRAMEBUFFER; /dev/fb0 if unset)


grayscaled display (works for 256 color mode only)

-s widthxheight

sets the V4L2 capture in width x height resolution if possible.

-f font

font for text.  Default is to look for lat1-16 console font. It no path is specified, it will seek for the font at the following directories:


If you have a local X11 font server running (or the FONTSERVER environment variable set to some working server), you can also give X11 font specs here.

-m mode

video mode for TV.  fbtv will look up the mode in /etc/fb.modes.

-j joydev

joystick device to use for controlling fbtv.


keep capture on when switching consoles.  Might be useful together with -s switch, you have a video picture while working on another console.  This is more or less a dirty hack.  Works only if all your consoles have the same video mode and fbcon does not use panning to speed up scrolling.  For a multiheaded setup this is useful too.


quiet mode.  Doesn't reserve space for the status line at the top, doesn't display the status messages and clock. When fbtv is started on this mode, it won't try to load the font file at start.

You can toggle this at runtime too (using the 'F' key).


EXPERIMENTAL: Turn on backend scaler mode (write yuv to offscreen memory and let the gfx board scale up the video).  Supported hardware: Matrox G200/G400 (with matroxfb) and ATI Mach64 VT/GT (with atyfb, 16bpp only).  You'll need at least bttv-0.7.16 or kernel 2.3.50.


fbtv is supported to work much like xawtv from user's point of view. You might have noticed that xawtv has a lot of keyboard shortcuts. They work in fbtv too (if it useful).  Here is the list:

  G            Grab picture (full size, ppm)
  J            Grab picture (full size, jpeg)
  F            Fullscreen.  Toggle quiet mode (see above).

  up/down      tune up/down one channel
  left/right   fine tuning
  pgup/pgdown  station up/down

  ESC,Q        Quit
  X            Quit, but leave sound on.

  +/-          Volume up/down
  Enter        mute

The channel hotkeys defined in $HOME/.xawtv are supported too, with one exception: modifier keys (something like "key = Ctrl+F1") do not work.

Fullscreen TV

Some hints from Dag Bakke <dag.bakke@riksnett.no>:

The BT8xx cards can produce images up to 768x576 pixels.  In order to have fbtv make use of your entire monitor-size and get maximum image quality, you need to create a 768x576 pixels framebufferconsole. This can be accomplished with the fbset(1) utility, which is available at various locations.  See: http://www.cs.kuleuven.ac.be/~geert/bin/

Or, you can let fbtv handle the videomode changes with the -m switch. This requires that you have a small database with the various videomodes available. The file containing the videomodes is normally named /etc/fb.modes. For example, the following entry produces a 768x576x32bpp mode, with 75Hz refresh on a Matrox G200.

mode "tv"
    # D: 49.188 MHz, H: 46.580 kHz, V: 75.008 Hz
    geometry 768 576 768 576 32
    timings 20330 128 32 32 8 128 5

The command "fbtv -q -mtv" thus gives you crisp clear (well, as good as the received signal anyway) tv on your entire screen. Alias this command to 'tv', and you're set.

NB! Please note that your monitor may or may not be able to handle such a "custom" resolution. And that misuse of the aforementioned fbset utility can toast your monitor. It is a lot easier to pull smoke out of electronic components, than to put it back in.

A database of the standard VESA-modes can be downloaded from: ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/fb.modes.vesa60.gz

See Also



Gerd Knorr <kraxel@goldbach.in-berlin.de>

Referenced By

motv(1), rootv(1), scantv(1), ttv(1), v4l-conf(8), xawtv(1), xawtvrc(5).

(c) 1998 Gerd Knorr