Some hints to get the bttv driver up and running

General hints

1. Make sure if your board is recognized correctly. The bttv driver
should print a line like this one (use the 'dmesg' command to see the kernel messages):

bttv0: model: BT848 (Hauppauge old)

If your card isn't autodetected correctly, you have to specify the board type as insmod argument (card=n). You might also have to specify tuner=x and pll=x.

Check the driver documentation for details and a list of supported cards. The standard kernel has the bttv documentation in the Documentation/video4linux/bttv directory.

2. [It's recommended you use a recent kernel.]

3. If you have problems with xawtv, you should open a xterm (or whatever your favorite terminal app is) and start xawtv from there. This way you'll see any error messages xawtv might print on stderr which should help to find the source of the problems.

4. If something broke after an update, have a look at the changelog. It might be mentioned there.

Common problems

?: I have a black screen in overlay mode

!: The driver was not initialized correctly, v4l-conf (or the X-Server) has to configure the bttv driver with the current video mode and framebuffer address first. Check if v4l-conf is installed suid root, it needs root priviliges to do this. You can also start v4l-conf from a terminal and check the messages it prints.

?: I have a blue screen.

!: Good, the overlay is working. A blue screen is what you get if the grabber chip has no input signal. You are probably using the wrong video source, pick another. Also happens sometimes if the tuner type is wrong, check the driver configuration.

?: I have a noisy screen and/or can't tune (some) stations.

!: Most likely the tuner types is wrong, check the driver configuration. It's no problem to do trial-and-error here.

?: The video is outside the window and spread in thin lines over the screen.

?: Only the left part of the window is updated, the right one is updated never / sometimes / only if the window is small.

!: Your graphics card and/or motherboard can't deal with the data rate going over the PCI bus, leading to canceled PCI transfers. Reduce the color depth, with 16 bpp instead of 32 bpp should work much better.

Hardware-specific problems

bttv + DRI seem not to play nicely together with some cards (ATI Rage128). The linux box just freezes. Don't know why. Suspect it's either a hardware problem or a bug somewhere in DRI (either kernel or xfree86). The only workaround I know of is to turn off DRI.

Some motherboard chipsets have PCI bugs, especially with PCI-PCI transfers which are used for video overlay. The bt848/878 chips have some bug compatibility options, which can be enabled to workaround these problems. Have a look at the triton1 and vsfx insmod options. For some known-buggy chipsets these are enabled automagically.

Sometimes IRQ sharing causes trouble. It works most of the time, but in combination with some hardware and/or drivers it doesn't work. Especially graphic cards are known to cause trouble due to the lack of a IRQ handler. Try disabling the VGA IRQ in the BIOS. Try moving cards to another PCI slot. Your motherboard manual should tell you which PCI slots share IRQ's.

insmod Options

General Options

Parameter Name

Permissions

Value Ranges

Default

Description

bttv_verbose

644

0-1

1

verbose startup messages

bttv_gpio

644

0-1

0

Log GPIO changes

bttv_debug

644

0-1

0

Display debug messages

irq_debug

644

0-1

0 (No)

irq handler debug messages

debug_latency

644

0-1

0 (No)

Enable frame-drop debug messages

fdsr

444

0-1

0

FIFO Data Stream Resynchronization

gbuffers

444

2-32

8

Number of capture buffers

gbufsize

444

0x208000

Size of the capture buffers

reset_crop

444

0-1

1

Reset cropping parameters at open()

v4l2

644

0-1

1

Turn on/off stuff for testing

irq_iswitch

644

0-1

Undefined

Switch inputs in irq handler

combfilter

444

0-1

1 (Yes)

Switches on the Comb filter

lumafilter

444

0-1

0 (No)

Enables the Luma Notch filter

automute

444

0-1

1 (Yes)

Mute audio on bad/missing video signal

chroma_agc

444

0-1

0 (No)

Enables the AGC of chroma signal

adc_crush

444

0-1

1 (Yes)

Enables the luminance ADC crush

whitecrush_upper

444

0xCF

Sets the white crush upper value

whitecrush_lower

444

0x7F

Sets the white crush lower value

vcr_hack

444

0-1

0 (No)

Enables the VCR hack (improves sync on poor VCR tapes)

uv_ratio

444

50

Ratio between u and v gains

full_luma_range

444

0-1

0 (No)

Use the full luma range

coring

444

0 (None)

Set the luma coring level

Architecture-Specific

Parameter Name

Permissions

Value Ranges

Default

Description

bigendian

644

0-1

1 if architecture is big endian, else undefined

Byte order of the framebuffer

Device Parameters

Parameter Name

Permissions

Value Ranges

Default

Description

radio

444

0-1

0 (No)

Whether or not the device supports radio

video_nr

444

Video device numbers

radio_nr

444

Radio device numbers

vbi_nr

444

VBI device numbers

External Links

BTTV and related driver options -- An excellent, if somewhat dated page with useful BTTV kernel options is still hosted on the now defunct original project page at sourceforge.net

The BTTV HOWTO: how to configure and use a video tuner card based on the popular Bt848 and Bt878 chipsets within the Linux operating system.