xawtvrc(5)
β¨ xawtvrc β the TV apps config file β¨
okay bestie, gather round, because this is the little config file that runs the whole TV situation. it lives in the File Formats Manual section of the manual pages (so yes, xawtvrc(5)), and it's genuinely iconic. π
π¦ SYNOPSIS
/etc/X11/xawtvrc
$HOME/.xawtv
π DESCRIPTION
so xawtvrc is the config file that was originally used by xawtv only β that's literally why it's called xawtvrc, no cap. but these days a whole bunch of other TV applications and utilities read it too, just to get their configuration info. it's giving shared closet, everybody's borrowing. π
both a global config file (/etc/X11/xawtvrc) and a personal config file ($HOME/.xawtv) get used by the applications. and here's the rule: settings in the personal config file overwrite the global ones. personal file wins, always. πβοΈ
π Applications
these are the apps that read these config files:
xawtvβ the classic X11 TV application. the original main character.motvβ a better, motif-based GUI forxawtv...fbtvβ TV application for the linux framebuffer console.ttvβ aalib-based TV application for any terminal.v4lctlβ command line tool to control video4linux devices.
π Create a config file
xawtv and motv both provide some functions to edit the channels and save the configuration. heads up though: the save function will not preserve any comments you might have put into the config file through ...
you can also just use your favorite text editor and modify the config file directly. no shame in it, that's valid. π
and you can use the command line utility scantv to create an initial config file. scantv will automatically scan all channels for TV stations and write the ones it has found to the config file. auto-magic, we love her. β¨
πΈ SYNTAX
xawtvrc uses the same syntax like smb.conf: sections starting with [name], followed by lines with option = value pairs.
there are four special sections: [global], [launch], [eventmap] and [defaults]. all other sections describe a TV station each. one section per station, periodt.
πΊ TV station options.
these are the options allowed for TV stations and for the [defaults] section. the options from the [defaults] section get used β as the name suggests, bestie β as defaults for all other channels. so you can put everything that's common to all your TV stations (like the TV norm your country uses) into [defaults], and then you don't have to specify it for every single channel. efficiency queen. π
with a reasonable [defaults] section you usually only need to specify the channel for each TV station, like this:
[ORB]
channel = 27
the other options are:
fine = nβ finetuning (what left+right keys do withinxawtv), default:0norm = pal | ntsc | secamβ which TV norm, default ispalkey = keysymβ Hotkey for the channel. All X11 keysyms allowed here. You can prefix a keysym with Modifier+,"Ctrl+F"for example.capture = off | overlay | grabdisplayβ capture mode:off,overlay(default, TV card => video, 0% cpu) orgrabdisplay(TV card => main memory => X-Server => video, frame rate depends on load and picture size). Default isoverlay. If it is not possible to use overlay for some reason (remote display, not supported by the hardware, whatever) the applications will automatically fallback tograbdisplay.input = Television | Composite1 | Composite2 | SVHSβ input source. The valid choices depend on the hardware driver, the values above are just examples. You can use"v4lctl list"to get a list of valid choices.color = nbright = nhue = ncontrast = nβ Valid range is0-65535, default is32768. Adding a percent symbol changes the range to0-100, i.e."50%"has the same effect like"32768".audio = mono | stereo | lang1 | lang2β Set the audio mode for the given channel.freq = nβ Specify the frequency for the given station (MHz, video carrier). You shouldn't need this for normal operation, all your channels should be listed in the frequency table for your area (if not, mail me a patch). Maybe unless you live near the border and the foreign country uses another channel scheme.midi = noteβ Use midi noteon event for<note>as hotkey for the channel.group = nameβ Put the channel into the group<name>.motvuses that to create submenus per channel group.
π Global options
a number of not-channel-related settings go to the "[global]" section:
fullscreen = width x heightβ specify which video mode should be used for full-screen. Works with XFree only, and of course you need a valid modeline for this mode in yourXF86Configfile. You also have to enable the VidMode extension (option-vm, see above) to make this work.wm-off-by = [+-]x[+-]yβ Some WM's handle static gravity incorrectly (I knowmwmandkwm). This is somewhat boring with fullscreen mode. With this option you can correct this with a displacement for moving windows. For example,wm-off-by = -4-24does the trick forkwm(the KDE1 window manager).freqtab =β select a channel-to-frequency mapping. Optionswindow->Frequency table(inxawtv) brings up a menu with all valid entries (and allows table-switching at runtime).pixsize = width x heightβ size of the channel pixmaps (within Channels window).0x0disables this feature.pixcols = nβ number of columns the channel window should use. Defaults to1.mixer = ctl | device:ctlβ This allows volume control using the sound card mixer.ctlis the mixer control, i.e."vol"for the master volume."line1"is a good candidate for the TV card.deviceis the mixer device (defaults to/dev/mixerin unspecified). Volume-control works with the keypad:+is up,-is down,Enteris mute.jpeg-quality = nβ set the quality for (M)JPEG images/frames. As usual the valid range fornis[0 .. 100]with75as default.keypad-ntsc = on | offβ Configure keypad mode. Default isoff. When set toon, numbers typed on the keypad are interpreted as channel numbers (this is like NTSC TV sets work). Otherwise they are interpreted as programmed station, i.e.1is the first station from$HOME/.xawtv, ...keypad-partial = on | offβ Another configuration of keypad mode. Default ison. When set tooff, typing one digit on the keypad doesn't change the station number when there are two-digit station numbers starting with that digit.osd = on | offβ Enable/disable the onscreen display in fullscreen mode. Default ison.osd-position = x , yβ Position the onscreen display, in pixels. Default is30,20.use-wm-fullscreen = on | offβ Enter fullscreen mode by asking the window manager to handle that via_NET_WM_STATE_FULLSCREEN(if supported by the wm). Default ison.ratio = x:yβ Set a fixed aspect ratio for the TV image. Default is4:3. Use0:0if you don't want a fixed aspect ratio.mov-driver = files | raw | avi | movmov-video = ppm | pgm | jpeg | rgb | gray | 422 | 422p | rgb15 | rgb24 | mjpeg | jpeg | raw | mjpa | pngmov-fps = fpsmov-audio = mono8 | mono16 | stereomov-rate = rateβ Set defaults for movie recording. Not all possible combinations are valid choices."streamer -h"will print a nice list.midi = portβ You can specify a ALSA port wherexawtvshould receive midi events from. If configured this way, you can program your midi keyboard keys as station hotkeys and use midi controller events to control settings like volume, bright etc. Check the[eventmap]description below for details.filter = nameβ Enable the specified filter.alsa_latency = time_in_msβ This can be used to specify the latency for the ALSA digital sound loopback whichxawtvdoes. The default is30msif you're getting sound dropouts on your system try increasing this setting.
π The [launch] section
you can start other programs from within xawtv. this is configured with entries in the "[launch]" section:
label = key, command lineβ The specified hotkey will run the configured program. Calling the Action"Launch(label)"works too. If you want to play with the Xt translation tables, feel free to do so. But don't complain if you broke something while doing so...
β οΈ seriously bestie, that last part is a whole warning: if you break something messing with the Xt translation tables, that's on you. don't come crying. π
ποΈ The [eventmap] section
the eventmap simply has a number of "event = action" lines. "action" can be any command which xawtv understands (check the xawtv-remote man page for a list). "event" is some event generated by any input device xawtv listens to. An event might have some argument, the midi-ctrl events for example have one. If present the argument is appended to the action.
there are default mappings for lirc and joystick input events, so you don't have to create an eventmap to use them. but if you don't like the defaults you can change them easily. your call, your vibe. π
here is a list of valid events:
lirc-key-<name>β The key<name>was pressed on the IR remote control.joy-button-<n>β Joystick button<n>was pressed.joy-axis-<left|right|up|down>β Joystick was moved into the given direction.midi-note-<n>β noteon event for note<n>was received (i.e. you probably pressed some key on the midi keyboard).midi-ctrl-<n>β midi controller message for control<n>was received. This event has an argument (the current value of the control).kbd-key-<name>β Key<name>was pressed on the keyboard.
π sample config file
# this is a comment
# empty lines are ignored too
[global]
freqtab = europe-west
#mixer = line
jpeg-quality = 75
midi = 64:0
fullscreen = 768x576
# for /etc/XF86Config
# Modeline "pal" 50.00 768 832 856 1000 576 590 595 630 -hsync -vsync
[launch]
mixer = M, gtkaumix
AleVT = Ctrl+A, alevt
[eventmap]
midi-ctrl-7 = volume
kbd-key-h = msg "hello world"
[defaults]
input = television
norm = pal
[ZDF]
channel=33
key=F1
[ORB]
channel = 27
key = F2
# more stations follow here
[Camera]
input = Composite1
key = K
π SEE ALSO
scantv(1), xawtv(1), motv(1), fbtv(1), ttv(1), v4lctl(1)
and that's the whole thing, bestie!! π this page lives in the File Formats Manual as xawtvrc(5) β go forth and configure your TV stations, you absolute icon. πβ¨π¦
π¦ where this page comes from
- debian bookworm: xawtv 3.107-1.1 Β· GPL-2.0-or-later
- debian trixie: xawtv 3.107-4 Β· GPL-2.0-or-later
- ubuntu jammy: xawtv 3.107-1.1 Β· GPL-2.0-or-later
- ubuntu noble: xawtv 3.107-2build3 Β· GPL-2.0-or-later
- ubuntu questing: xawtv 3.107-4
- ubuntu resolute: xawtv 3.107-4build1 Β· GPL-2.0-or-later
- ubuntu stonking: xawtv 3.107-4build1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms