Content deleted Content added
No edit summary |
|||
Line 18:
[[File:Linux Graphics Stack 2013.svg|thumb|right|500px|alt=Flowchart; see caption|Illustration of the Linux graphics stack]]
There are objections to binary-only drivers based on copyright, security, reliability and development concerns. As part of a wider campaign against [[binary blob]]s, [[OpenBSD]] lead developer [[Theo de Raadt]] said that with a binary driver there is "no way to fix it when it breaks (and it will break)"; when a product which relies on binary drivers is declared to be [[end-of-life (product)|end-of-life]] by the manufacturer, it is effectively "broken forever."<ref name=opencon-2006>{{cite web|author=Theo de Raadt|author-link=Theo de Raadt|date=2006-12-03 |title=Open Documentation for Hardware|work=Presentation slides from OpenCON 2006|url=http://www.openbsd.org/papers/opencon06-docs/index.html|access-date=2007-02-01 }}</ref> The project has also stated that binary drivers<ref>{{cite web|url=https://stackoverflow.com/questions/8804204/what-does-binary-means-in-device-driver|title=What does "binary" means in device driver?|access-date=November 14, 2017}}</ref> "hide bugs and workarounds for bugs",<ref>{{cite web|url = http://www.openbsd.org/lyrics.html#39|title = 3.9: "Blob!"|access-date = 2007-02-12|publisher=OpenBSD}}</ref> an observation which has been somewhat vindicated by flaws found in binary drivers (including an [[Exploit (computer security)|exploit]]able [[Software bug|bug]] in Nvidia's 3D drivers discovered in October 2006 by [[Rapid7]]). It is speculated that the bug has existed since 2004; Nvidia
Binary drivers often do not work with current versions of open-source software, and
In the [[Linux kernel]] development community, [[Linus Torvalds]] has made strong statements on the issue of binary-only modules: "I ''refuse'' to even consider tying my hands over some binary-only module ... I want people to know that when they use binary-only modules, it's ''their'' problem".<ref>{{cite web|url=https://lwn.net/1999/0211/a/lt-binary.html|title=a/lt-binary}}</ref> Another kernel developer, [[Greg Kroah-Hartman]], has said that a binary-only kernel module does not comply with the kernel's license (the [[GNU General Public License]]); it "just violates the GPL due to fun things like derivative works and linking and other stuff."<ref>{{cite web|url=http://www.kroah.com/log/linux/ols_2006_keynote.html|title=Myths, Lies, and Truths about the Linux kernel|first=Greg|last=Kroah-Hartman|publisher=linux kernel monkey log}}</ref> Writer and computer scientist [[Peter Gutmann (computer scientist)|Peter Gutmann]] has expressed concern that the [[digital rights management]] scheme in Microsoft's [[Windows Vista]] operating system may limit the availability of the documentation required to write open drivers, since it "requires that the operational details of the device be kept confidential."<ref name=vista-cost>{{cite journal |author=Peter Gutmann|date=2006-12-26 |title=A Cost Analysis of Windows Vista Content Protection|url=http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.html#oss|access-date=2007-01-28 |author-link=Peter Gutmann (computer scientist) }}</ref>
Line 38:
The [[desktop computer]] market was long dominated by PC hardware using the [[x86]]/[[x86-64]] instruction set and GPUs available for the PC. With three major competitors (Nvidia, AMD and Intel). The main competing factor was the price of hardware and raw performance in 3D computer games, which is greatly affected by the efficient translation of API calls into GPU opcodes. The display driver and the [[video decoder]] are inherent parts of the graphics card: hardware designed to assist in the calculations necessary for the decoding of video streams. As the market for PC hardware has dwindled, it seems unlikely that new competitors will enter this market and it is unclear how much more knowledge one company could gain by seeing the source code of other companies' drivers.
The mobile sector presents a different situation. The functional blocks (the [[application-specific integrated circuit]] display driver, 2- and 3D acceleration and video decoding and encoding) are separate [[semiconductor intellectual property]] (SIP) blocks on the chip, since hardware devices vary substantially; some [[portable media player]]s require a display driver that accelerates video decoding, but
During the second quarter of 2013 79.3 percent of [[smartphone]]s sold worldwide were running a version of [[Android (operating system)|Android]],<ref>{{cite web | url = https://techcrunch.com/2013/08/07/android-nears-80-market-share-in-global-smartphone-shipments-as-ios-and-blackberry-share-slides-per-idc/ | title = Android Nears 80% Market Share In Global Smartphone Shipments, As iOS And BlackBerry Share Slides, Per IDC| date = 7 August 2013}}</ref> and the Linux kernel dominates smartphones. Hardware developers have an incentive to deliver Linux drivers for their hardware but, due to competition, no incentive to make these drivers free and open-source. Additional problems are the Android-specific augmentations to the Linux kernel which have not been accepted in [[BitTorrent (software)|mainline]], such as the [[Atomic Display Framework]] (ADF).<ref>{{cite web |url=https://lwn.net/Articles/565422/ |title=Atomic Display Framework}}</ref> ADF is a feature of 3.10 AOSP kernels which provides a [[Direct Rendering Manager#DMA Buffer Sharing and PRIME|dma-buf]]-centric framework between Android's hwcomposer [[HAL (software)|HAL]] and the kernel driver. ADF significantly overlaps with the [[Direct Rendering Manager|DRM]]-[[Mode setting|KMS]] framework. ADF has not been accepted into mainline, but a different set of solutions addressing the same problems (known as [[atomic mode setting]]) is under development. Projects such as [[Hybris (software)|libhybris]] harness Android device drivers to run on Linux platforms other than Android.
|