个人工具

UbuntuHelp:UVC

来自Ubuntu中文

跳转至: 导航, 搜索

<<Include(Tag/NeedsExpansion)>> UVC stands for 'USB Video Class'. It defines video streaming functionality on the Universal Serial Bus. UVC compliant peripherals only need a generic driver; much like mass storage devices (USB flash disks, External disc enclosures, etc.) can be managed by a single driver because they conform to the USB Mass Storage specification.

UVC Linux Driver

The GNU/Linux UVC Driver page is at Linux USB Video Class device driver home (Supported Devices) and includes a list of supported devices. Instructions for downloading the driver are here Linux USB Video Class device driver home (Download). Only source code is available. Instructions for compiling the source code is included in this wiki.

UVC support in Ubuntu

9.04

In 9.04 the UVC module has been included which means that some webcams 'just work' but it is recommended you still download the source code at LinuxTV uvcvideo development repository. On the left sidebar, choose your preferred compressed archive (they all contain the same files). Then build the UVC module as shown here:

Build for 9.04

Make sure you have kernel header files. In Ubuntu 9.04 the header files package should be at least 2.6.28-11 or later. You can find out which version of Linux kernel you have by issuing the command:

uname -r

Then ensure you have the header files for building the UVC module with:

sudo apt-get install linux-headers-`uname -r`

Install for 9.04

Navigate to the 'uvcvideo-1b4c7a6b9d26' directory (or some similar name) containing the source. If you want to customize which drivers to compile, run:

make menuconfig

If you do not know what to do with the options that come up, just accept the defaults and exit by pressing ESC twice. To compile the drivers, run

make

then, to install the compiled drivers to the appropriate module directories, run

sudo make install

followed by

sudo depmod -a

After that you should not even need to plug your webcam in, although ensure you can see it by running:

lsusb

If it is there, then run:

sudo modprobe uvcvideo

And you should now be done! See below for other versions.

7.10 to 8.x

From 7.10 the UVC module has been included which means that some webcams 'just work' however UVC is still at an early stage and device support and bugfixes are being added all the time. It may well be necessary to update to the latest version to get your hardware to work, in particular Skype will only work properly if you have uvc version 166 or above, earlier driver versions freeze up after a minute or so with some cameras.

7.04 and earlier

UVC support is not included and you'll have to install it yourself.

Installing UVC

UVC has not released any 'snapshots' yet and has not been packaged and included in the Ubuntu repositories. There is a debian package located here but the best way at the moment is to grab the latest build from the LinuxTV uvcvideo development repository and compile it yourself.

Checkout from SVN (this source is deprecated)

This section describes the steps to download the sources (which are now deprecated) from the Subversion repository. The best place to get the drivers instead: LinuxTV uvcvideo development repository. <
>If you do not already have subversion installed get it with:

sudo apt-get install subversion

Then get that latest source from the repository with:

svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk

This will make the directory 'trunk' containing the source in your working directory

Build

Make sure you have kernel header files. In Ubuntu 7.10 and later, you need the header files package specific to your CPU architecture, for example, linux-headers-2.6.22-14-386 in addition to just linux-headers-2.6.22-14. You can do this with:

sudo apt-get install linux-headers-`uname -r`

Navigate to the 'trunk' directory containing the source and run:

make

Install

Ubuntu keeps the kernel module for UVC in /lib/modules/your kernel/ubuntu/media/usbvideo and the makefile has to be altered slightly to install to the correct directory. Open the the makefile in a text editor and change :

INSTALL_MOD_DIR	:= usb/media

to

INSTALL_MOD_DIR	:= ubuntu/media/usbvideo

then run

sudo make install

Update dependencies

sudo depmod -a

Insert Modules

Plug in your camera and enter the following command :

sudo modprobe uvcvideo

If you're running 7.10 this may complain that the module's already loaded. In that case unplug your camera and remove the old module with :

sudo modprobe -r uvcvideo

then insert the new one again as above.