Stop using Video4Linux version 1

Goal description

Video4Linux version 1 (V4L1) was obsoleted in the kernel by version 2 (V4L2) some years ago and newer video capture drivers do not support V4L1. Applications should all be using V4L2. There is a library (libv4l) that can aid in converting applications that were written for V4L1. Fedora has patched a number of applications to use this.

See Fedora's better webcam support goal.

Current status

There is a cross-distribution overview of applications.

In Debian, I started with the list of packages found with: grep-aptavail -FDescription -sPackage -i -e 'webcam|v4l' | sort

You could also search for a V4L1 API call like VIDIOCGCAP: http://codesearch.debian.net/search?q=%5CbVIDIOCGCAP

Package

API

Comment

aatv

Uses V4L1 -#569094

arista

False positive?

came

Used V4L1 - removed

cameramonitor

Uses other programs

camorama

Uses V4L1 - #569089

camserv

Uses V4L1 - #569097

camstream

Uses V4L1 - fixed to use libv4l1

camstream-doc

False positive

cheese

gstreamer

chromium-browser

src:dov4l

?V4L1

src:dv4l

?V4L1

Preloadable library to access ?FireWire devices.

dvsource

Uses dvgrab

src:feh

f

False positive

empathy

V4L2

ekiga

libpt / opal

firmware-ivtv

False positive

fswebcam

V4L2

Carries a patch to correct videodev includes

gambas3

V4L2

gegl

V4L1

Code is deactivated by configure.ac check for (now non-existing) videodev.h

gem

libv4l1

gkrellkam

f

False positive

gmotionlive

f

False positive

gqcam

r

Uses V4L1 - #569099

gspca

r

V4L driver - removed from archive in #519463

hal

V4L2

italc

V4L2

this code is inside of an embedded copy of x11vnc

kdetv

r

Uses V4L2, removed

kdenetwork

libv4l2

kmplayer

r

removed

kradio

r

Uses V4L1 but only for radio, removed

[[src:libdecodeqr]

opencv

libexplain

f

This library tries to explain syscall error reasons. V4L API is not used actively

src:libmimic

f

False positive

libv4l-ruby1.8

Uses V4L1 - removed

libvideo-capture-v4l-perl

Used V4L1 - fixed to use libv4l1

libvideo-ivtv-perl

Specific to ivtv

src:libwebcam

V4L2

libphone

libv4l2

luvcview

libv4l2

Carries a patch for videodev2.h and libv4l2

lynkeos.app

libav

src:minbif

f

False positive. Might use libpidgin for V4L access

mjpegtools

V4L2

configure.ac checks only for videodev.h presence. Todo: file bug with patch

motion

V4L2

mplayer

V4L2

mplayer2

V4L2

network-manager

f

False positive

ov51x-jpeg-source

r

V4L driver - dead upstream, removed from testing due to #530805

peercast-geekast

r

? - removed in 569836

player

libv4l1

ptlib

libv4l2

qc-usb-source

V4L1 driver, superseded by in-tree gspca_stv06xx driver (V4L2 port) - #524112

qc-usb-utils

Specific to qc-usb

src:sane-backends

libv4l1

setpwc

Specific to pwc (?)

src:telak

f

False positive

telico

libv4l1

transcode

V4L2

src:uvccapture

V4L2

Carries a patch to include videodev2.h instead of videodev.h

src:v4l2ucp

V4L2

Carries a patch for videodev2.h

src:v4l-utils

V4L2

Provides translation layer from V4L1 to V4L2 and corrects upside down Webcams

src:vgrabbj

libv4l1

#569092

src:webcamd

v4lctl

Uses v4lctl binary from xawtv

webcam-server

r

Used V4L1 - removed

wine

libv4l1

Loaded via dlopen

src:xawtv

libv4l2

Uses V4L1 - #644761

xine-lib-1.2

libv4l2

src:xfce4-radio-plugin

V4L2

xserver-xorg-video-v4l

V4L1

Uses V4L1 - #569103

src:zbar

libv4l2

Carries a patch for libv4l support

zvbi

V4L2

How to help

Next Milestone