Introduction
============

The main development site and GIT repository for these
drivers is https://linuxtv.org.

The DVB mailing list linux-dvb is hosted at vger. Please see
http://vger.kernel.org/vger-lists.html#linux-media for details.

There are also some other old lists hosted at https://linuxtv.org/lists.php. Please check the archive https://linuxtv.org/pipermail/linux-dvb/.

The media subsystem Wiki is hosted at https://linuxtv.org/wiki/.
Please check it before asking newbie questions on the list.

API documentation is documented at the Kernel. You'll also find useful
documentation at: https://linuxtv.org/docs.php.

You may also find useful material at https://linuxtv.org/downloads/.

In order to get firmware from proprietary drivers, there's a script at
the kernel tree, at scripts/get_dvb_firmware.
