Archived:LinuxTV Drivers

From LinuxTVWiki
Revision as of 21:54, 13 September 2004 by Holger (talk | contribs)
Jump to navigation Jump to search

please review this text and insert the information at some better places... thanks!!


We host a public CVS for drivers for various DVB PCI cards. During time there were various branches and attempts to restructure the driver and DVB API. The following list gives a short overview:

The main DVB driver is in the CVS module "DVB". There also exists a module named "dvb-kernel" which contains the most important drivers from the DVB module repackaged for inclusion in the Linux 2.5 kernel. Then there is also an old "margi" module which has been merged into DVB.

dvb-kernel includes a new saa7146 driver written by Michael Hunold, which allows sharing between analog TV cards and DVB cards. He also wrote a V4L2 based driver for the Siemens-Nixdorf 'Multimedia eXtension board' which is included there. While being at it he also split the old av7110 driver into two distinct drivers for the av7110-less Budget cards, and one for the full-featured cards. Florian Schirmer contributed a driver for Bt8xx based DVB cards based on the work done by Peter Hettkamp for the Pinnacle PCTV card in the NEWSTRUCT branch.

The main development work is currently being done in dvb-kernel, because this is the driver that goes into the 2.5/2.6 Linux kernel. dvb-kernel can also be compiled for the Linux 2.4 kernel.

The "DVB" CVS module originally contained the driver source up to the siemens_dvb-0.9.4 release. We then decided to restructure the driver sources in order to make it easier to support different hardware without having to copy common code. Therefor the NEWSTRUCT branch was created. Around this time we also made some modifications to the frontend API.

Later, when NEWSTRUCT was deemed stable enough, it was merged into the trunk of the CVS version tree ("HEAD"). Development on NEWSTRUCT was then abandoned.

Before we sent the DVB driver to Alan Cox for inclusion in the Linux 2.5 kernel, we decided to clean up some inconsistencies in the naming of various types in the API header files. This was done in both dvb-kernel and DVB. include/linux/dvb/version.h now defines DVB_API_VERSION == 3.

All in all, today there are now several relevant CVS lines:

DVB: Stable driver for 2.4 kernel users. dvb-kernel: Current development driver. dvb-apps: The standalone package of test utilities. dvb-kernel-v4: The upcoming v4 API implementation.

There may still some bits and pieces in both the NEWSTRUCT branch and the old DVB line from a year-or-so ago, which are missing from current DVB or dvb-kernel. Also, some drivers from DVB must be ported to dvb-kernel at some time.