Using The Imaging Source Video Devices on Linux
This page explains how to use devices manufactured by The Imaging Source on the Linux operating system.
Please note that unicap is developed and maintained independently of The Imaging Source. Support questions should be directed to the Support Forums. This page is for your information only and the information provided might be incorrect. Please contact the camera vendor for an official statement on the Linux support of their cameras.
unicap is licensed under the terms and conditions of the GPL license. As a consequence, you are not allowed to use the library in any kind of closed source software.
unicap and video-4-linux ( and libdc1394 )
unicap is a library for an interface-independend access to video capture devices. video-4-linux and libdc1394 are two interfaces to video capture devices which are used by many existing applications.
Not all devices manufactured by The Imaging Source support either video-4-linux or libdc1394. If you have an application requiring support for one of those interfaces, please check the end of this document for information on the interfaces available for your device.
Information on Specific Devices
The Imaging Source USB CCD Cameras ( AU/BU Series )
These cameras are UVC compliant but they have a vendor specific interface class specified in the USB descriptors. Due to this, the uvcvideo driver does not detect these cameras.
To make the uvcvideo driver detect these cameras, a patch has to be applied ( available for download below ). The patch has been submitted to the uvcvideo maintainer and will be included in a future kernel version. With the patch applied, the cameras will be accessible via the video-4-linux-2 interface and thus can be used by unicap or any other application. Please see the end of this page for instructions on how to patch the uvcvideo driver.
The Imaging Source USB CMOS Cameras ( AUC/BUC Series )
These cameras are not UVC compliant but the protocol they use is similar to UVC. Due to chipset restrictions, the camera requires several unclean hacks to the UVC implementation to function. For the WVGA ( Dxx 21UC03 ) cameras, a special UVC compliant firmware with limited functionality is available.
unicap supports the USB CMOS cameras via a custom usbdevfs driver. This driver provides most of the functionality of the The Imaging Source windows drivers.
To be able to use these cameras with the video-4-linux-2 interface, the uvcvideo driver can be patched to detect these cameras and to work around some of the issues. The required patch is available for download below. Please see the end of this page for instructions on how to patch the uvcvideo driver. This patch will not go into the mainlaine kernel because of the ugliness of required hacks.
With the patch applied, the WVGA CMOS ( Dxx21UC03 cameras ) will provide streaming video with the color formats BY8 and Y800 ( ie. RAW Bayer and Monochrome ) images. To get a color image from these cameras, the application needs to process the image data ( debayering ). ucview is able to do this with the "Debayer plugin".
Limitations of The Imaging Source CMOS cameras with the uvcvideo driver
- The 5 megapixel CMOS (Dxx72UC02) cameras will currently output a distorted image only, unless the camera was previously configured for full resolution with unicaps euvccam_cpi driver. This is a firmware issue that will be resolved with one of the next firmware versions.
- The 5 megapixel CMOS (Dxx72UC02) cameras offer a "pixel clock" control to change the frame rate. This control is exported by uvcvideo when the patch is applied but it will not show any effect. This is currently investigated.
- The WVGA CMOS (Dxx21UC03) cameras currently only output 30 frames per second. Ability to change the frame rate will be included in a future patch ( and will probably require a firmware update ).
- Region-of-Interest functionality is not available ( or only with a small subset of selectable resolutions ).
The Imaging Source GigE Vision Cameras
A unicap driver for this camera is currently being worked on.
The Imaging Source Video Converters
The DFG/USB2-lt video converter is not supported by any Linux driver and support is not planned.
The DFG/1394-1e video converter is supported by unicap and should require no additional installation step despite a working IEEE1394 ( Firewire ) setup which is present in all recent Linux distributions.
The Imaging Source Firewire Cameras
All The Imaging Source Firewire cameras are supported by unicap and should require no additional installation.
The cameras should also work fine with the libdc1394 library. Please note that since unicap does not use libdc1394, the libdc1394 compatibility of the cameras is not tested and neither The Imaging Source nor unicap-imaging can give software support for this library. Please refer to the libdc1394 project homepage for support options.
How To Patch uvcvideo
Please note: The use of the media_build branch in production environment is not recommended by its maintainers. Be aware that you may break your system installation by running the instructions below. Test the updated installation extensively before using it in a production environment.
To update and patch uvcvideo with a running kernel ( eg. the kernel provided by your distribution ), you can use the media_build.git repository from linuxtv.org. To use this repository, follow the instructions here: media_build.git repository.
After cloning the repository, download and apply one of the
patches below. To apply the patch, run the following commands:
cd media_build cd linux patch -p1 < uvcvideo_add_tis_cmos.patchThen rebuild the driver by running "make" in the media_build directory. As a last step run "make install" ( you may need to be root to do this ).
The driver will need to be reinstalled after a kernel update. You may need to remove the file "v4l/.version" before recompiling/reinstalling the patched driver after a kernel update.
For support on the driver installation, please go to the forums.
Supported Devices List
The list shows which devices are supported by unicap and/or directly via either video-4-linux or libdc1394.
|uvcvideo_add_tis_ccd.patch [1 kB, patch]|
|uvcvideo_add_tis_cmos.patch [11 kB, patch]|