Hi tech@ It seems that this question comes up frequently enough that people might be tired of answering it.
Not sure if this is the right spot in the FAQ to put this, or even if this is something that people want included in there at all. Rejections, corrections and bikeshedding welcome. Cheers, Todd Index: faq12.html =================================================================== RCS file: /cvs/www/faq/faq12.html,v retrieving revision 1.117 diff -u -p -u -p -r1.117 faq12.html --- faq12.html 25 May 2015 03:48:24 -0000 1.117 +++ faq12.html 6 Jun 2015 15:17:36 -0000 @@ -41,6 +41,7 @@ Questions</font></h1> <li><a href="#ami">12.1.7 - My ami(4) card will only support one logical disk!</a> <li><a href="#cryptohw">12.1.8 - How do I activate my crypto accelerator card?</a> + <li><a href="#blobs">12.1.9 - Does OpenBSD include any binary-only device drivers (blobs)?</a> </ul> <li><a href="#alpha">12.2 - DEC Alpha </a> <li><a href="#amd64">12.3 - AMD 64</a> @@ -280,6 +281,41 @@ much or all of the benefit of offloading tasks. Your results may vary widely depending on the task you have to accomplish. + +<h3 id="blobs">12.1.9 - Does OpenBSD include any binary-only device drivers (blobs)?</h3> + +No. The source code for all of the device drivers in the OpenBSD kernel is +available in <a href="http://www.openbsd.org/anoncvs.html">CVS</a>. OpenBSD has +rejected binary device drivers (a.k.a. blobs) for many years, and this was even +the subject of the <a href="http://www.openbsd.org/lyrics.html#39">3.9 release song</a>, +which was released in 2006. + +<p> +Some people are confused about the distinction between device drivers, +which run in the kernel, and firmware, which runs on the many hardware +parts that collectively make up your computer. Devices such as hard +disks, network cards, and even CPUs generally contain firmware that runs on the device +itself and transforms the physical collection of transistors and +wires into something that acts like a hard disk, network card or CPU. +This firmware is usually included with the device itself on a ROM chip. +In some cases the vendor does not include the firmware with the device, +and expects the firmware to be loaded onto the device at run time by the +operating system. For these cases, OpenBSD can load the firmware onto the device +and includes the +<a href="http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/fw_update.1">fw_update(1)</a> +utility, which can fetch non-free firmware from the Internet if the vendor has +made it available. + +<p> +Before posting to the mailing lists and objecting to binary firmware, +please remember that firmware does not run in the kernel (and is therefore not a +part of the operating system), and if it is not loaded onto the device at run +time, then that usually means that it was loaded from ROM when the device was +powered on. Users who wish to use only hardware which has freely available +firmware source code are encouraged to seek out and buy only that hardware. If +OpenBSD does not yet support that hardware, then users can submit new device drivers +or patches to the <a href="http://www.openbsd.org/faq/faq2.html#MailLists">tech</a> +mailing list. <h2 id="alpha">12.2 - DEC Alpha</h2> [nothing yet]