tvtime

Common error messages

  1. Errors about RTC, the Linux real time clock device
  2. Video card memory errors

Capture card problems

  1. Channels black-and-white and numbers off-by-one
  2. Too few buffers with bttv before kernel 2.4.21
  3. bttv takes a long time to load
  4. Audio problems with Prolink PixelView cards
  5. Poor performance with the rivatv driver
  6. Unable to tune to channels using the bttv, saa7134 or cx88 drivers

Video card problems

  1. No YUY2 with the Radeon FireGL drivers
  2. Corrupted YUY2 video with EPIA onboard video
  3. Terrible XVIDEO performance with Radeon cards and XFree86 4.3
  4. Poor performance with SiS driver in XFree86 4.2.1 and earlier
  5. XVIDEO always-on-top with some Radeon cards
  6. Corrupted image borders on NVIDIA cards in overscan modes
  7. No XVIDEO support on pre-GeForce NVIDIA cards with the "nv" driver
  8. Problems with NVIDIA TNT and TNT2 cards
  9. XVIDEO initialization problem with the savage driver

Driver conflicts

  1. Using overlay mode in xawtv or zapping causes system instabilities
  2. apm driver known to cause frame drops
  3. ntfs driver known to cause frame drops

Common error messages

1. Errors about RTC, the Linux real time clock device

Enhanced Real Time Clock support in your kernel can help applications like tvtime improve the smoothness of their output. The kernel module that provides this feature is called rtc, and it is compiled and installed by default on most Linux distributions.

This feature will improve the quality of tvtime's output, but is NOT required for tvtime to operate.

Reasons why tvtime might not be able to use /dev/rtc include:

  1. Your user does not have read/write access to the device file /dev/rtc.
  2. You compiled your own kernel and forgot to enable the RTC device.
  3. Your user does not have the rights to get high resolution timers.

If your user does not have sufficient priviledge, the RTC device cannot be used for high-resolution timers. To solve this, you can do one of the following:

  1. Run tvtime as root.
  2. Set the tvtime executable SUID root using this command:
    chmod u+s /usr/bin/tvtime.
  3. Allow user processes the ability to use high resolution timers by running this command as root every time your machine boots:
    sysctl -w dev.rtc.max-user-freq=1024

2. Video card memory errors

tvtime uses the XVIDEO extension, which allocates video card memory. We have experienced some problems where the X server fails to provide enough video card memory for tvtime to use it. This can happen if your video card is old and simply doesn't have enough memory to hold the framebuffer and tvtime at once. However, there are also bugs in X servers and X drivers that can cause this.

If your distribution is using the Xorg X server and you are seeing these errors, please comment on Xorg bug 474.

Capture card problems

1. Channels black-and-white and numbers off-by-one

The tuner driver defaults to detecting a PAL tuner on many NTSC capture cards, a notable example being the ATI TV Wonder cards. This causes all of the cable frequencies to be out of alignment, channel numbers are off-by-one and slightly detuned. To fix this, the tuner type must be told explicitly when loading your capture driver. For example, with the bttv driver use the following:

    modprobe bttv tuner=2

You may have to first remove the bttv module if it is already loaded. To make this change automatic, in your /etc/modules.conf file, add the following line:

    options bttv tuner=2

This will ensure that whenever the tuner module is loaded, it will use the correct tuner for this card. If this does not fix the problem please post a bug report on the tvtime bugs page.

In older versions of bttv, this module option could also be passed to the tuner module. This method is deprecated in newer 2.6 kernels, and so you must pass the parameter to the capture driver itself.

To attack this problem, we believe that the tuner module must be fixed to correctly detect the difference in tuner, as so many users are affected by this problem. To help with this, please follow up on tvtime bug 711428.

2. Too few buffers with bttv before kernel 2.4.21

The popular bttv capture driver only provided applications with two buffers by default in versions shipped with kernels before 2.4.21. Our advanced deinterlacing algorithms require a longer history of past input frames in order to predict motion in the video stream.

To give applications more buffers, use this option when loading the bttv driver:

    modprobe bttv gbuffers=4

To make this change automatic, add the following in your /etc/modules.conf file:

    options bttv gbuffers=4

3. bttv takes a long time to load

On some cards without a tuner, bttv can take a long time to load (a few minutes). If you see this problem, try using this option in your modules.conf file for loading the i2c-algo-bit module:

    options i2c-algo-bit bit_test=1

If that does not help, please post a bug report.

4. Audio problems with Prolink PixelView cards

The bttv driver seems to misdetect Prolink Pixelview cards pretty badly. There are five Prolink cards listed in CARDLIST for the bttv driver:

  card=16 - Prolink Pixelview PlayTV (bt878)
  card=37 - Prolink PixelView PlayTV pro
  card=50 - Prolink PV-BT878P+4E /
            PixelView PlayTV PAK /
            Lenco MXTV-9578 CP
  card=70 - Prolink Pixelview PV-BT878P+ (Rev.4C)
  card=72 - Prolink Pixelview PV-BT878P+9B
            (PlayTV Pro rev.9B FM+NICAM)

The bttv driver cannot seem to autodetect these cards correctly. We have found that cards which should use card=70 but are instead loaded using card=72 are causing audio mute/unmute to fail randomly, or even be inverted, resulting in no audio or just snippets of audio. To avoid this, please make sure you are using the correct variant of this card. Specifically, the rev 9D of the newer Pixelview cards should use card=70 and not card=72.

5. Poor performance with the rivatv capture driver

By default, the rivatv the driver copies frames from video memory into system memory, which can harm performance. Performance can be improved by using DMA to transfer the frames, however, this option only works when using the open-source "nv" driver in X, not with the NVIDIA binary drivers.

You can turn on dma support as follows in your modules.conf file:

    options rivatv dma=1

6. Unable to tune to channels using the bttv, saa7134 or cx88 drivers

The bttv, saa7134, and cx88 drivers each support a wide variety of cards which all use the same chip. In particular, these cards differ in what tuner they use, how many inputs they have, and how it is configured.

Often, these drivers cannot autodetect the