Template:3rd party drivers

From LinuxTVWiki
Revision as of 20:53, 12 December 2013 by Sundtek (talk | contribs) (don't mess up Sundtek with Kernel driver disadvantages, it's totally different than nvidia drivers too so naming it in the same context is just wrong.)
Jump to navigation Jump to search

Why you SHOULD NOT want a device with 3rd party KERNEL drivers:

Sometimes a manufacturer forks v4l-dvb all on their own and writes a driver for their device so they can claim Linux support. That's great and all, but sadly, you will sooner or later end up in tears.

Sometimes there is another v4l-dvb fork, think multiproto, em28xx-new or s2-liplianin. These either get merged into v4l-dvb or are eventually forgotten. Sometimes a user has written a patch for a particular device, but the patch for whatever reason is not incorporated in v4l-dvb. And sometimes the manufacturer creates their own closed-source driver, like nVidia does for graphics chips.

Whatever the cause, all these are not part of v4l-dvb. Sooner or later the user or manufacturer might stop supporting these, but the Linux kernel will move on. When that happens, you have a few options:

1. Stick with your current kernel for ever and ever. Not recommended.
2. Create and submit a patch for v4l-dvb to support the device that does get incorporated in v4l-dvb. Unless you're a programmer, you may not be able to.
3. Hire someone else to do that. May be expensive.
4. Buy a new device. Oh, you probably shouldn't have bought this one in the first place.

You can contact the Linux-Media Mailing List (LMML) and see if perhaps there is a developer who would be willing to borrow your device to create support for it. No guarantees though.

In the end, you should (sadly) generally not buy these.

While 3rd party Kernel drivers can easily suffer discontinued support since the Linux kernel keeps evolving and the internal Kernel API changes. Drivers based on application level do not have that restriction these will just work since they are independent of various Linux kernel versions and do not require any recompilation (eg. Sundtek is doing this approach and supports nearly any Linux). Independent drivers are only possible for USB (regularly since 2.6.15), PCI/e drivers can be done on application level using VFIO nowadays.