Content deleted Content added
m Fixing archives for YouTube videos (WP:Link_Rot, WP:CEFC#Pre-emptive_archiving, phab:T294880) |
m Random page patrol with AutoWikiBrowser, typo(s) fixed: October 24, 2012 → October 24, 2012, |
||
Line 1:
{{Multiple issues|
{{Technical|date=November 2017}}
{{
}}
{{short description|Software stack controlling computer-graphics hardware and supporting graphics-rendering APIs under a free and open-source software license}}
[[File:Linux kernel and OpenGL video games.svg|thumb|300px|alt=Flowchart with Tux, the Linux penguin|Data and instructions are sent to the [[Graphics processing unit|GPU]] for processing. The rendered results are stored in a [[framebuffer]], whose content is scanned by the [[display controller]] and sent to the screen.]]
A '''free and open-source graphics device driver''' is a [[software stack]] which controls [[Graphics hardware|computer-graphics hardware]] and supports [[Rendering (computer graphics)|graphics-rendering]] [[application programming interface]]s (APIs) and is released under a [[free and open-source software]] license. Graphics [[device driver]]s are written for specific hardware to work within a specific [[operating system kernel]] and to support a range of APIs used by applications to access the graphics hardware. They may also control output to the display if the [[display driver]] is part of the graphics hardware. Most free and open-source graphics device drivers are developed by the [[Mesa (computer graphics)|Mesa]] project. The driver is made up of a [[compiler]], a [[List of rendering APIs|rendering API]], and software which manages access to the graphics hardware.
Line 243 ⟶ 246:
[[File:Mesa_layers_of_crap_2016.svg|thumb|alt=Software diagram|The Mesa driver for VideoCore4, VC4, was written from scratch by Broadcom's Eric Anholt.<ref>{{cite web|url=http://anholt.livejournal.com/44239.html?nojs=1 |title=New Job at Broadcom |author=Anholt, Eric |date=2014-06-17 |url-status=dead |archive-url=https://web.archive.org/web/20150407031941/http://anholt.livejournal.com/44239.html?nojs=1 |archive-date=2015-04-07 }}</ref>]]
[[Broadcom]] develops and designs the [[VideoCore]] GPU series as part of their [[System on a chip|SoCs]]. Since it is used by the [[Raspberry Pi]], there has been considerable interest in a FOSS driver for VideoCore.<ref>{{cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=MTA1MTc|title=Phoronix on the Raspberry Pi GPU}}</ref> The Raspberry Pi Foundation, in co-operation with Broadcom, announced on October 24, 2012, that they open-sourced "all the ARM (CPU) code that drives the GPU".{{citation needed|date=November 2017}} However, the announcement was misleading; according to the author of the reverse-engineered Lima driver, the newly open-sourced components only allowed message-passing between the ARM CPU and VideoCore but offered little insight into Videocore and little additional programability.<ref>{{cite web|url=https://www.raspberrypi.org/blog/open-source-arm-userspace/#comment-34981|title=Open Source ARM userland - Raspberry Pi|date=24 October 2012}}</ref> The Videocore GPU runs an [[Real-time operating system|RTOS]] which handles the processing; video acceleration is done with RTOS firmware coded for its proprietary GPU, and the firmware was not open-sourced on that date.<ref>{{cite web|url=http://www.raspberrypi.org/archives/2221|title=Open Source ARM userland - Raspberry Pi|date=24 October 2012}}</ref> Since there was neither a [[toolchain]] targeting the proprietary GPU nor a documented [[instruction set]], no advantage could be taken if the firmware source code became available. The Videocoreiv project<ref>{{cite web|url=https://github.com/hermanhermitage/videocoreiv/wiki/VideoCore-IV---BCM2835-Overview|title=hermanhermitage/videocoreiv|website=[[GitHub]]}}</ref> attempted to document the VideoCore GPUs.
On February 28, 2014 (the Raspberry Pi's second anniversary), Broadcom and the Raspberry Pi Foundation announced the release of full documentation for the VideoCore IV graphics core and a complete source release of the graphics stack under a [[3-clause BSD license]].<ref name=2thbirthday>{{cite web|url=https://arstechnica.com/information-technology/2014/02/raspberry-pi-marks-2nd-birthday-with-plan-for-open-source-graphics-driver/|title=Raspberry Pi marks 2nd birthday with plan for open source graphics driver|date=28 February 2014}}</ref><ref name="openvideocore">{{cite web|url=https://www.raspberrypi.org/blog/a-birthday-present-from-broadcom/|title=A birthday present from Broadcom - Raspberry Pi|date=28 February 2014|publisher=Raspberry Pi Foundation|first=Eben|last=Upton|access-date=8 July 2019}}</ref> The free-license 3D graphics code was committed to Mesa on 29 August 2014,<ref>{{cite web |url=http://cgit.freedesktop.org/mesa/mesa/commit/?id=1850d0a1cbf044dc4d29b7a9ede2c634f667d853 |title=vc4: Initial skeleton driver import |publisher=The Mesa 3D Graphics Library |date=2014-08-09}}</ref> and first appeared on Mesa's 10.3 release.
|