Bezplatný a otevřený ovladač grafického zařízení - Free and open-source graphics device driver
![]() | tento článek může být pro většinu čtenářů příliš technická na to, aby je pochopili. Prosím pomozte to vylepšit na aby to bylo srozumitelné pro neodborníky, aniž by byly odstraněny technické podrobnosti. (Listopad 2017) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) |

A bezplatný a otevřený ovladač grafického zařízení je softwarový zásobník který ovládá počítačový grafický hardware a podporuje grafické vykreslování aplikační programovací rozhraní (API) a je vydán pod bezplatný open source software licence. Grafika ovladače zařízení jsou napsány pro konkrétní hardware, aby fungoval v konkrétním jádro operačního systému a podporovat řadu API používaných aplikacemi pro přístup ke grafickému hardwaru. Mohou také řídit výstup na displej, pokud ovladač displeje je součástí grafického hardwaru. Většina bezplatných a open-source ovladačů grafických zařízení je vyvíjena Mesa projekt. Řidič je tvořen a překladač, a vykreslovací API a software, který spravuje přístup ke grafickému hardwaru.
Ovladače bez volně (a legálně) dostupného zdrojového kódu jsou obecně známé jako binární ovladače. Binární ovladače používané v kontextu operačních systémů, které jsou náchylné k neustálému vývoji a změnám (například Linux), vytvářejí problémy pro koncové uživatele a balík správci. Tyto problémy, které ovlivňují stabilitu, zabezpečení a výkon systému, jsou hlavním důvodem nezávislého vývoje bezplatných a otevřených ovladačů. Pokud není k dispozici žádná technická dokumentace, získá často znalost základního hardwaru reverzní inženýrství čistých prostor. Na základě tohoto porozumění mohou být ovladače zařízení psány a legálně publikovány pod jakýmkoli softwarová licence.
Ve výjimečných případech je zdrojový kód ovladače výrobce k dispozici na internetu bez znaku licence zdarma. To znamená, že kód lze studovat a změnit pro osobní použití, ale změněný (a obvykle původní) zdrojový kód nelze volně distribuovat. Řešení chyb v ovladači nelze snadno sdílet ve formě upravených verzí ovladače. Proto je užitečnost těchto ovladačů výrazně snížena ve srovnání s bezplatnými a otevřenými ovladači.
Problémy s proprietárními ovladači
Pohled vývojáře softwaru

Existují výhrady k binárním ovladačům založeným na autorských právech, zabezpečení, spolehlivosti a vývoji. Jako součást širší kampaně proti binární objekty BLOB, OpenBSD hlavní vývojář Theo de Raadt řekl, že s binárním ovladačem neexistuje „žádný způsob, jak to opravit, když se rozbije (a rozbije se)“; když je prohlášen produkt, který se spoléhá na binární ovladače konec života výrobcem je efektivně „navždy rozbitý“.[1] Projekt také uvedl, že binární ovladače[2] "skrýt chyby a řešení chyb",[3] pozorování, které bylo poněkud obhájeno chybami nalezenými v binárních ovladačích (včetně využitelný Chyba v 3D ovladačích Nvidia objevených v říjnu 2006 uživatelem Rapid7 ). Spekuluje se, že chyba existuje od roku 2004; Nvidia to popřela a tvrdila, že problém jim byl oznámen až v červenci 2006 a chyba z roku 2004 byla chybou v X.Org (ne v ovladači Nvidie).[4]
Binární ovladače často nepracují s aktuálními verzemi softwaru s otevřeným zdrojovým kódem a téměř nikdy nepodporují vývojové snímky softwaru s otevřeným zdrojovým kódem; obvykle není přímo možné, aby vývojář používal proprietární ovladače Nvidia nebo ATI se snímkem vývoje serveru X nebo snímkem vývoje jádra Linuxu. Funkce jako nastavení režimu jádra nemůže být přidán k binárním ovladačům nikým jiným než prodejci, což brání jejich zahrnutí, pokud prodejci chybí kapacita nebo zájem.
V Linuxové jádro rozvojová komunita, Linus Torvalds učinil silná prohlášení k otázce modulů pouze pro binární soubory: „I odmítnout dokonce zvážit svázání rukou nad nějakým binárním modulem ... Chci, aby lidé věděli, že když používají pouze binární moduly, je to jejich problém".[5] Další vývojář jádra, Greg Kroah-Hartman uvedl, že modul jádra pouze pro binární soubory není v souladu s licencí jádra (soubor GNU General Public License ); „pouze porušuje GPL kvůli zábavným věcem, jako jsou odvozená díla a odkazování a další věci.“[6] Spisovatel a počítačový vědec Peter Gutmann vyjádřil obavu, že správa digitálních práv schéma v Microsoftu Windows Vista operační systém může omezit dostupnost dokumentace potřebné k zápisu otevřených ovladačů, protože „vyžaduje zachování důvěrnosti provozních údajů o zařízení“.[7]
V případě binárních ovladačů existují námitky kvůli svobodný software filozofie, kvalita softwaru a bezpečnostní obavy.[8] V roce 2006 Greg Kroah-Hartman dospěl k závěru, že:
„Moduly jádra Linuxu s uzavřeným zdrojem jsou nelegální. To je vše, je to velmi jednoduché. Měl jsem tu smůlu, že jsem v průběhu let mluvil o tomto tématu s mnoha různými právníky IP a všichni, se kterými jsem mluvil, souhlasí že dnes neexistuje způsob, jak by kdokoli mohl vytvořit modul jádra Linuxu, který by mohl být uzavřeným zdrojem GPL kvůli zábavným věcem jako odvozená díla a propojení."[9]
Linuxové jádro nikdy neudržovalo stabilní jádro binární rozhraní aplikace.[10] Existují také obavy, které mohou obsahovat proprietární ovladače zadní vrátka, jako ten nalezený v Samsung Galaxy -series ovladače modemu.[11]
Pohled vývojáře hardwaru

Když aplikace, jako je 3D herní engine nebo a Software pro 3D počítačovou grafiku výpočty bočníku z CPU na GPU, obvykle používají speciální API, jako je OpenGL nebo Direct3D a neoslovujte hardware přímo. Protože všechno překlad (z volání API na GPU opcodes ) provádí ovladač zařízení, obsahuje odborné znalosti a je předmětem optimalizace. Vzhledem k historii rigidnosti vývoje proprietárních ovladačů došlo k nedávnému nárůstu počtu ovladačů zařízení podporovaných komunitou pro stolní a mobilní GPU. Organizace bezplatného a otevřeného hardwaru, jako je FOSSi, LowRISC a další, by také měly prospěch z vývoje otevřeného grafického hardwarového standardu. To by pak poskytlo výrobcům počítačů, fandům apod. Úplnou bezplatnou platformu pro vývoj výpočetního hardwaru a souvisejících zařízení.
The stolní počítač trhu dlouho dominoval počítačový hardware využívající x86 /x86-64 instrukční sada a GPU dostupné pro PC. Se třemi hlavními konkurenty (Nvidia, AMD a Intel). Hlavním konkurenčním faktorem byla cena hardwaru a hrubý výkon ve 3D počítačových hrách, který je do značné míry ovlivněn efektivním překladem volání API do opokódů GPU. Ovladač displeje a video dekodér jsou neodmyslitelnou součástí grafické karty: hardware navržený pro pomoc při výpočtech nezbytných pro dekódování video streamů. Vzhledem k tomu, že se trh s hardwarem pro PC zmenšoval, je nepravděpodobné, že na tento trh vstoupí noví konkurenti, a není jasné, kolik dalších znalostí by mohla jedna společnost získat viděním zdrojového kódu ovladačů jiných společností.
Mobilní sektor představuje jinou situaci. Funkční bloky ( aplikačně specifický integrovaný obvod ovladač zobrazení, 2- a 3D akcelerace a dekódování a kódování videa) jsou oddělené polovodičové duševní vlastnictví (SIP) bloky na čipu, protože hardwarová zařízení se podstatně liší; nějaký přenosné přehrávače médií vyžadují ovladač zobrazení, který zrychluje dekódování videa, ale nevyžadují 3D zrychlení. Cílem vývoje není jen hrubý 3D výkon, ale také systémová integrace, spotřeba energie a 2D funkce. Existuje také přístup, který opouští tradiční metodu (Vsync ) aktualizace displeje a lepší využití vzorek a podržte technologie ke snížení spotřeby energie.
Během druhého čtvrtletí roku 2013 79,3 procenta chytré telefony prodávané po celém světě používaly verzi Android,[12] a linuxové jádro dominuje smartphonům. Vývojáři hardwaru mají motivaci dodávat ovladače pro svůj hardware pro Linux, ale kvůli konkurenci nejsou motivováni k tomu, aby tyto ovladače byly zdarma a open-source. Dalšími problémy jsou rozšíření pro jádro Linux specifické pro Android, které nebyly přijaty hlavní linie, tak jako Atomový rámec zobrazení (ADF).[13] ADF je funkce jádra 3.10 AOSP, která poskytuje a dma-buf -centrický rámec mezi hwcomposerem Androidu HAL a ovladač jádra. ADF se významně překrývá s DRM -KMS rámec. ADF nebyl přijat do hlavní řady, ale odlišná sada řešení řešících stejné problémy (známá jako nastavení atomového režimu ) je ve vývoji. Projekty jako libhybris využít ovladače zařízení Android pro provoz na jiných platformách Linux než Android.
Porovnání výkonu

Phoronix, který porovnává bezplatné ovladače, je zdrojem pro testování v reálném světě:
- 19. března 2011[15]
- 31. března 2013[16]
- Srovnání FOSS a proprietárních ovladačů z 29. dubna 2013[17]
- Srovnání proprietárních ovladačů pro Windows 8.1 a Linux ze dne 27. října 2013[18]
- Srovnání ovladačů FOSS v systému Linux ze dne 25. ledna 2014[19]
- Srovnání proprietárních ovladačů v systému Linux ze dne 27. ledna 2014[20]
- Porovnání 19. Března 2014 Ubuntu s bezplatným a otevřeným ovladačem grafického zařízení distribuovaným jako součást Mesa 3D, který překonává Mac OS X 10.9.2 při hraní OpenGL -na základě Xonotický na 2013 MacBook air.[21]
- Porovnání z ledna 2017 naznačilo rozdíl v síle mezi řidičem Mesa Nouveau a NVidia a Keplerem a Maxwellem. Aby Maxwell v Nouveau zvýšil úroveň na Kepler, je nutné opětovné blokování. Mezera v Mesa existuje o 30 až 50% v základní efektivitě ovladače proti Nvidia ve všech čipech.[22]
- Porovnání z února 2017 ukázalo, že Mesa 17.1dev byl stejný nebo lepší než ovladač AMD GPU 16,60 v OpenGL a o 20 - 30 procent nižší v Vulkan.[23]
- Porovnání z března 2017 naznačilo vylepšení Mesa pro RadeonSI mezi verzemi 11.1 a 17.1.[24]
- Porovnání z června 2017 Windows 10 Radeon Software vs. Ubuntu 17.04 + Linux 4.12 + Mesa 17.2-dev -> Výsledek Mesa Radeonsi na stejné úrovni [25]
- Porovnání v říjnu 2017 RadeonSI / RADV Mesa 17.3 + AMDGPU DC vs. proprietární herní výkon NVIDIA 387.12 Linux -> Výsledek: Nvidia jasná v čele [26]
- 2018-02: Porovnání Mesa 12 až 18 s AMD R580 a R9 Fury pro testy OpenGL a Vulkan [27]
- 2018-06: Porovnání Mesa 18.2 versus ovladač Nvidia 396 s kartami Nvidia GeForce 680 a vyšší [28]
- 2018-07: Porovnání Mesa RadeonSI 18.0, 18.1, 18.2 a RadV s kartami Radeon RX [29]
- 2018-10: Porovnání AMD Closed Driver 18.40, AMDVLK a Mesa RadeonSI 18.2, 18.3 [30]
- 2018-11: Porovnání 25 karet AMD a Nvidia s Mesa 19.0dev a NVIDIA Driver 415 [31]
- 2019-01: Porovnání Linux 5.0 + Mesa 19.0dev + AMD RX Card a NVIDIA GeForce Driver 415 s Nvidia Cards [32]
- 2019-01: Porovnání Mesa 18.2, 18.3, 19.0dev RadeonSI / RADV s kartami AMD RX [33]
- 2019-05: Srovnání Mesa 19.2 AMD Polaris, Vega a Nvidia [34]
- 2019-12: Porovnání Mesa 18.2.8 až 20.0dev pro RadeonSI s Radeon RX 580 a RX Vega 64 [35]
To je neobvyklé pro časopisy o videohrách reportovat testovací testy na Linuxu. Benchmarky na Phoronix mají omezený rozsah, primárně testování her, které jsou k dispozici na Linuxu a podporují automatizované srovnávání.[36]
Softwarová architektura


Bezplatné a otevřené ovladače jsou primárně vyvíjeny pro a pro Linux vývojáři linuxových jader, nadšenci programování třetích stran a zaměstnanci společností jako např Pokročilá mikro zařízení. Každý řidič má pět částí:
- Součást linuxového jádra DRM
- Součást linuxového jádra Ovladač KMS (dále jen řadič displeje Řidič)
- Komponenta libDRM v uživatelském prostoru (souhrnná knihovna pro systémová volání DRM, kterou by měl používat pouze Mesa 3D)
- A Mesa 3D komponenta uživatelského prostoru. Tato součást je specifická pro hardware; provádí se na CPU a překládá příkazy OpenGL například do strojového kódu pro GPU. Protože je ovladač zařízení rozdělen, seřaďování je možné. Mesa 3D je jediná bezplatná a open-source implementace OpenGL, OpenGL ES, OpenVG, GLX, EGL a OpenCL. V červenci 2014 většina komponent vyhovovala Gallium3D Specifikace. Plně funkční State Tracker pro Direct3D verze 9 je napsána v C a je napsán neudržovaný sledovač pro Direct3D verze 10 a 11 C ++.[37] Víno má Direct3D verze 9. Další komponenta Wine překládá volání Direct3D na volání OpenGL a pracuje s OpenGL.
- Závislé na zařízení X (DDX), další ovladač 2D grafického zařízení pro X.Org Server
The DRM je jádro -charakteristický. A VESA ovladač je obecně k dispozici pro jakýkoli operační systém. Ovladač VESA podporuje většinu grafických karet bez akcelerace a při rozlišení displeje omezeném na sadu naprogramovanou ve videu BIOS výrobcem.[38]
Dějiny
Grafický zásobník Linuxu se vyvinul a obešel jej Základní protokol X Window System.
2D ovladače v X server
Veškerý přístup prochází přes Správce přímého vykreslování
V linuxovém jádře 3.12 jsou uzly vykreslení sloučeny a nastavení režimu oddělit. Wayland implementuje přímé vykreslování EGL.
Zdarma a open-source ovladače
ATI a AMD
Radeon

AMD proprietární ovladač, AMD Catalyst pro jejich Radeon, je k dispozici pro Microsoft Windows a Linux (dříve fglrx). Aktuální verzi lze stáhnout ze stránek AMD a některé distribuce Linuxu ji obsahují ve svých úložištích. Je v procesu nahrazování hybridním ovladačem AMDGPU-PRO kombinujícím otevřené jádro, multimediální ovladače X a Mesa s uzavřenými ovladači OpenGL, OpenCL a Vulkan odvozenými od Catalyst.
Ovladače FOSS pro ATI -AMD GPU jsou vyvíjeny pod názvem Radeon (xf86-video-ati nebo xserver-xorg-video-radeon). Stále musí načíst vlastní mikrokód do GPU, aby umožnily hardwarovou akceleraci.[39][ověření se nezdařilo ]
Radeon 3D kód je podle technologie GPU rozdělen do šesti ovladačů: klasické ovladače Radeon, R200 a R300 a R300G, R600G a Radeonsi Gallium3D Řidiči:
- Radeon podporuje R100 série.
- R200 podporuje R200 série.
- R300g podporuje pre-jednotný shader model mikroarchitektury: R300, R400 a R500.
- R600g podporuje všechny TeraScale (VLIW5 / 4) GPU založené na: R600, R700, HD 5000 (vždyzelená) a HD 6000 (Severní ostrovy).
- Radeonsi podporuje všechny Další grafické jádro GPU založené na: HD 7000, HD 8000 a Rx 200 (Jižní ostrovy, mořské ostrovy a vulkánské ostrovy).
K dispozici je aktuální matice funkcí,[40] a existuje podpora pro Stroj na kódování videa[41] a Sjednocený video dekodér.[42][43] Bezplatné a open-source ovladače grafických zařízení Radeon nejsou reverzně konstruovány, ale jsou založeny na dokumentaci vydané AMD bez požadavku podepsat dohoda o zachování mlčenlivosti (NDA).[44][45][46] Dokumentace začala být postupně uvolňována v roce 2007.[47][48][49] To je na rozdíl od hlavního konkurenta AMD v grafické oblasti, Nvidia, který má proprietární ovladač podobný AMD Catalyst ale neposkytuje žádnou podporu iniciativám volné grafiky.[50]
Kromě poskytnutí potřebné dokumentace přispívají zaměstnanci AMD kódem na podporu jejich hardwaru a funkcí.[41]
Všechny komponenty ovladače grafického zařízení Radeon jsou vyvíjeny hlavními přispěvateli a zainteresovanými stranami po celém světě. V roce 2011 model r300g v některých případech předčil Catalyst.
AMDGPU
V roce 2014 Konference vývojářů her, AMD oznámila, že zkoumají změnu strategie, která by znovu založila část uživatelského prostoru Catalyst na bezplatném a otevřeném zdroji DRM modul jádra místo jejich proprietárního jádra kapka.[51]
Vydání nového modulu jádra AMDGPU a zásobníku bylo oznámeno na mailing listu dri-devel v dubnu 2015.[52] Ačkoli AMDGPU podporuje pouze oficiálně GCN 1.2 a novější grafické karty,[53] experimentální podporu grafických karet GCN 1.0 a 1.1 (které jsou oficiálně podporovány pouze ovladačem Radeon) lze povolit pomocí parametru jádra.[54][55] Oddělený libdrm, libdrm-amdgpu, byl zahrnut od libdrm 2.4.63.[56]
Radeonsi 3D kód uvedený v předchozím odstavci Radeon se také používá s amdgpu; 3D ovladač má zadní konce pro Radeon i amdgpu.
Nvidia

Nvidia vlastní ovladač, Ovladač Nvidia GeForce pro GeForce, je k dispozici pro Windows XP x86 -x86-64 a později, Linux x86-x86-64-ARMv7-A, OS X 10.5 a později, Solaris x86-x86-64 a FreeBSD x86 / x86-64. Aktuální verzi lze stáhnout z Internetu a některé distribuce Linuxu ji obsahují ve svých úložištích. 4. října 2013 beta Ovladač Nvidia GeForce 331.13 podporuje EGL rozhraní, umožňující podporu pro Wayland ve spojení s tímto ovladačem.[57][58]
Bezplatný a otevřený ovladač Nvidia se jmenuje nv.[59] Je omezený (podporuje pouze 2D zrychlení) a Matthew Garrett, Dirk Hohndel a další označili jeho zdrojový kód za matoucí.[60][61][62] Nvidia se rozhodla zastarat nv, nepřidala podporu pro Fermi nebo novější GPU a DisplayPort, v březnu 2010.[63]
V prosinci 2009 Nvidia oznámila, že nebude podporovat bezplatné grafické iniciativy.[50] Dne 23. září 2013 společnost oznámila, že vydá určitou dokumentaci svých GPU.[64]
Nouveau je založen téměř výhradně na informacích získaných prostřednictvím reverzní inženýrství. Tento projekt si klade za cíl vytvořit 3D akceleraci pro X.Org/Wayland použitím Gallium3D.[65] 26. března 2012, Nouveau's DRM komponenta byla označena jako stabilní a povýšena z pracovní oblasti linuxového jádra.[66] Nouveau podporuje Tesla - (a dříve), Fermi -, Kepler - a Maxwell GPU na bázi.[67] Dne 31. ledna 2014 se zaměstnanec společnosti Nvidia Alexandre Courbot dopustil rozsáhlé sady oprav, která přidává počáteční podporu pro GK20A (Tegra K1 ) do Nouveau.[68] V červnu 2014 Codethink údajně provozoval a Wayland -na základě Weston sazeč s Linuxové jádro 3,15, pomocí EGL a "100% otevřený zdroj grafického ovladače" na a Tegra K1.[69] K dispozici je matice funkcí.[70] V červenci 2014 Nouveau nebyl schopen překonat ovladač Nvidia GeForce kvůli chybějící podpoře přetaktování. Tegra-re je projekt, který pracuje na zpětném inženýrství nVidia VLIW -na základě Tegra řada GPU, které předcházely Tegra K1.[71]
Nvidia distribuuje proprietární ovladače zařízení pro Tegra prostřednictvím OEM a jako součást své vývojové sady pro Linux pro Tegra (dříve L4T).[72] Nvidia a partner, Avionický design, v dubnu 2012 pracovali na odeslání Grate (bezplatné a open-source ovladače pro Tegra) před hlavním jádrem Linuxu.[73][74]Spoluzakladatel a generální ředitel společnosti stanovil plán procesorů Tegra s Ubuntu Unity v roce 2013 Konference o technologii GPU.[75]
Ovladač Unified Memory společnosti Nvidia (nvidia-uvm.ko), který implementuje správu paměti pro GPU Pascal a Volta na Linuxu, je licencován MIT. Zdrojový kód je k dispozici ke stažení ovladačů Nvidia Linux v systémech podporujících nvidia-uvm.ko.
Intel
Intel má za sebou historii výroby (nebo uvedení do provozu) ovladačů open-source pro své grafické čipy, s výjimkou jejich Na základě PowerVR bramborové hranolky.[76] Jejich ovladač 2D X.Org se nazývá xf86-video-intel. Ovladač pro nastavení režimu jádra v linuxovém jádře nepoužívá video BIOS pro přepínání režimy videa; protože některé BIOSy mají omezený rozsah režimů, poskytuje spolehlivější přístup k těm podporovaným grafickými kartami Intel.
Společnost pracovala na optimalizaci jejich bezplatných Linux ovladače pro výkon blížící se jejich Okna protějšky, zejména na Sandy Bridge a novější hardware, kde optimalizace výkonu umožnila ovladači Intel překonat své vlastní ovladače Windows v určitých úlohách, v roce 2011.[77][78][79] Některá vylepšení výkonu mohou také těžit uživatelům starších hardware.[80]
Podpora Intel's LLC (Last Level Cache, L4-Cache, Crystalwell a Iris Pro) byl přidán do linuxového jádra 3.12,[81][82] a společnost má 20 až 30 vývojářů Linuxové grafiky na plný úvazek.[83]
Matrox
Matrox vyvíjí a vyrábí Matrox Mystique, Parhelia, G200, G400 a G550. Ačkoli společnost poskytuje zdarma a open-source ovladače pro své čipové sady, které jsou starší než G550; čipové sady novější než G550 jsou podporovány ovladačem uzavřeného zdroje.
Grafika S3
Grafika S3 rozvíjí S3 Trio, ViRGE, Savage a Chrome, podporováno OpenChrome.[84]
Držení paží
Držení paží je báječný polovodičová společnost, která licencuje polovodičová jádra duševního vlastnictví. Ačkoli oni jsou známí pro licencování Sada instrukcí ARM a CPU na základě toho také vyvíjejí a licencují Mali série GPU. 21. ledna 2012 Phoronix hlásil, že Luc Verhaegen řídil pokus o reverzní inženýrství zaměřený na sérii GPU Arm Holdings Mali (konkrétně verze Mali-200 a Mali-400). Projekt zpětného inženýrství, známý jako Lima, byl představen na FOSDEM 4. února 2012.[85][86] 2. února 2013 demonstroval Verhaegen Aréna Quake III v režimu timedemo, běžící nad řidičem Limy.[87] V květnu 2018 zveřejnil vývojář v Limě ovladač pro zahrnutí do linuxového jádra.[88] Od května 2019 je ovladač Lima součástí hlavního jádra Linuxu.[89]
Panfrost je snaha řidiče obráceného inženýrství pro GPU Mali Txxx (Midgard) a Gxx (Bifrost). Představujeme Panfrost přednáška byla představena na X.Org Developer's Conference 2018. Od května 2019 je ovladač Panfrost součástí hlavního jádra Linuxu.[90]
Společnost ARM neuvedla žádný záměr poskytovat podporu pro svůj hardware pro akceleraci grafiky licencovaný na základě bezplatné a otevřené licence. Zaměstnanci ARM však zaslali opravy jádra Linuxu na podporu jejich ARM HDLCD řadič displeje a Mali DP500, DP550 a DP650 SIP bloky v prosinci 2015 a dubnu 2016.[91][92]
Představivost Technologies
Představivost Technologies je báječná polovodičová společnost, která vyvíjí a licencuje polovodičová jádra duševního vlastnictví, mezi nimiž jsou PowerVR GPU. Intel vyrobil řadu Na základě PowerVR GPU. PowerVR GPU jsou široce používány v mobilních zařízeních SoC. Společnost neposkytuje ovladač FOSS ani veřejnou dokumentaci pro PowerVR. Vzhledem k širokému použití ve vestavěných zařízeních je Free Software Foundation vložil zpětné inženýrství ovladače PowerVR na svůj seznam prioritních projektů.[93]
Vivante
Vivante Corporation je báječná polovodičová společnost, která licencuje polovodičová jádra duševního vlastnictví a vyvíjí řadu GPU GCxxxx. Proprietární ovladač Linuxu s uzavřeným zdrojovým kódem Vivante se skládá z částí jádra a uživatelského prostoru. Přestože je komponenta jádra open-source (GPL ), komponenty uživatelského prostoru - skládající se z implementací GLES (2) a knihovny HAL - nejsou; obsahují hlavní část logiky ovladače.
Wladimir J. van der Laan našel a zdokumentoval stavové bity, příkazový proud a shader ISA studiem fungování blobů, zkoumáním a manipulací s výpisy příkazového proudu. Ovladač Etnaviv Gallium3D se píše na základě této dokumentace. Van der Laanova práce byla inspirována řidičem Limy a projekt přinesl funkční, ale neoptimalizovaný ovladač Gallium3D LLVM. Ovladač Etnaviv má v některých srovnávacích testech lepší výkon než proprietární kód Vivante a podporuje řady Vivante GC400, GC800, GC1000, GC2000, GC3000 a GC7000.[94] V lednu 2017 byl do společnosti přidán Etnaviv Mesa s podporou OpenGL ES 2.0 i Desktop OpenGL 2.1.[95]
Qualcomm
Qualcomm rozvíjí Adreno (dříve ATI Imageon ) mobilní řady GPU a zahrnuje je jako součást jejich Mobilní SoC série Snapdragon. Phoronix a Slashdot v roce 2012 uvedl, že Rob Clark, inspirovaný řidičem Limy, pracoval na ovladačích reverzního inženýrství pro GPU řady Adreno.[96][97] V odkazovaném příspěvku na blogu Clark napsal, že se projektu věnoval ve svém volném čase a že platforma Qualcomm byla jeho jediným životaschopným cílem pro práci na otevřené 3D grafice. Jeho zaměstnavatelé (Texas Instruments a Linaro ) byly přidruženy k Fantazie PowerVR a ARM Mali jádra, která by byla jeho primárními cíli; měl funkční příkazové toky pro podporu 2D a zdálo se, že 3D příkazy mají stejné vlastnosti.[98] Kód ovladače byl zveřejněn dne Gitorious "freedreno",[99]a byl přesunut do Mesa.[100][101] V roce 2012 byl dokončen pracovní shader assembler;[102]demonstrační verze byly vyvinuty pro mapování textury[103] a stínování phong,[104] Clark předvedl, že Freedreno provozuje desktopové skládání XBMC přehrávač médií a Aréna Quake III na FOSDEM 2. února 2013.[105]
V srpnu 2013 byla jádrová součást freedreno (ovladač MSM) přijata do hlavní řady a je k dispozici v linuxovém jádře 3.12 a novějším.[106] The Ovladač DDX získal podporu pro server-managed deskriptory souborů vyžadující X.Org Server verze 1.16 a vyšší v červenci 2014.[107] V lednu 2016 ovladač Mesa Gallium3D získal podporu pro Adreno 430;[108] v listopadu téhož roku řidič přidal podporu pro řadu Adreno 500.[109] Freedreno lze použít na zařízeních, jako jsou 96Boards Dragonboard 410c a Nexus 7 (2013) v tradičních linuxových distribucích (jako Debian a Fedora ) a dále Android.
Broadcom

Broadcom vyvíjí a navrhuje VideoCore Série GPU jako součást jejich SoC. Protože je používán Raspberry Pi, o ovladač FOSS pro VideoCore byl značný zájem.[111] Nadace Raspberry Pi ve spolupráci se společností Broadcom 24. října 2012 oznámila, že otevřeně získává „veškerý kód ARM (CPU), který řídí GPU“.[Citace je zapotřebí ] Oznámení však bylo zavádějící; podle autora ovladače Lima s reverzním inženýrstvím umožňovaly nově otevřené komponenty pouze předávání zpráv mezi CPU ARM a VideoCore, ale nabízely malý přehled o Videocore a malou dodatečnou programovatelnost.[112] Grafický procesor Videocore běží RTOS který zpracovává zpracování; akcelerace videa se provádí pomocí firmwaru RTOS kódovaného pro jeho vlastní GPU a firmware k tomuto datu nebyl otevřený.[113] Protože tam nebyl ani jeden řetězec nástrojů cílení na proprietární GPU ani zdokumentované instrukční sada, pokud by byl k dispozici zdrojový kód firmwaru, nebylo by možné využít žádnou výhodu. Projekt Videocoreiv[114] se pokusil dokumentovat grafické procesory VideoCore.
28. února 2014 (druhé výročí Raspberry Pi) společnost Broadcom a nadace Raspberry Pi oznámily vydání úplné dokumentace pro grafické jádro VideoCore IV a úplné vydání zdroje grafického zásobníku pod Licence 3-klauzule BSD.[115][116] Bezplatný 3D grafický kód byl společnosti Mesa přidělen dne 29. srpna 2014,[117] a poprvé se objevil ve verzi 10.3 od Mesa.
Ostatní prodejci
Ačkoli Silikonové integrované systémy a VIA Technologies vyjádřili omezený zájem o ovladače s otevřeným zdrojovým kódem, oba vydali zdrojový kód, který byl integrován do X.Org vývojáři FOSS.[62] V červenci 2008 společnost VIA otevřela dokumentaci svých produktů s cílem zlepšit její image v komunitách Linux a open-source.[118] Společnosti se nepodařilo spolupracovat s komunitou open-source na zajištění dokumentace a práce DRM ovladač, takže očekávání podpory Linuxu zůstávají nenaplněna.[119] 6. ledna 2011 bylo oznámeno, že VIA již nemá zájem o podporu bezplatných grafických iniciativ.[120]
DisplayLink oznámil open-source projekt Libdlo,[121] s cílem přinést jejich podporu USB grafika technologie do Linux a další platformy. Jeho kód je k dispozici pod LGPL licence,[122] ale nebyl integrován do X.Org Řidič. Podpora grafiky DisplayLink je k dispozici prostřednictvím ovladače udlfb jádra (s fbdev) v hlavní řadě a ovladače udl / drm, který byl v březnu 2012 k dispozici pouze ve stromu drm-next.
Dodavatelé, kteří nesouvisejí s hardwarem, mohou také pomoci iniciativám s bezplatnou grafikou. červená čepice má dva zaměstnance na plný úvazek (David Airlie a Jérôme Glisse) pracující na softwaru Radeon,[123] a Projekt Fedora sponzoruje událost Fedora Graphics Test Week před uvedením jejich nového Linuxová distribuce verze k testování bezplatných grafických ovladačů.[124] Mezi další společnosti, které poskytly vývoj nebo podporu, patří Novell a VMware.
Otevřené hardwarové projekty


Cílem projektu VGA je vytvořit nízkorozpočtový open-source VGA -kompatibilní grafická karta.[125]The Otevřete grafický projekt si klade za cíl vytvořit GPU s otevřeným hardwarem. Open Graphics Device v1 má duální výstupy DVI-I a 100kolíkový konektor IDC. V září 2010 bylo zpřístupněno prvních 25 desek OGD1 pro žádost o grant a nákup.[126] The Milkymist systém na čipu, zaměřený na vestavěnou grafiku místo stolních počítačů, podporuje výstup VGA, omezený shader vrcholů a jednotku 2D texturování.[127]
Nyuzi,[128] experimentální procesor GPGPU, obsahuje syntetizovatelný design hardwaru napsaný v Systém Verilog emulátor instrukční sady, LLVM kompilátor C-C ++, softwarové knihovny a testy a zkoumá paralelní software a hardware. Může běžet na Terasic DE2-115 pole programovatelné brány prkno.[129][130]
Pokud projekt používá FPGA, má obecně částečně (nebo úplně) uzavřený zdrojový řetězec nástrojů. V současné době je k dispozici několik řetězců nástrojů s otevřeným zdrojovým kódem pro mřížové FPGA (zejména pro desky iCE40 a ECP5), které využívají Project IceStorm,[131] a Trellis,[132] resp. Existuje také větší a trvalé úsilí o vytvoření „GCC FPGA“ s názvem SymbiFlow[133] který zahrnuje výše zmíněné nástroje FPGA a ranou fázi open-source nástrojů pro FPGA založené na Xilinx.
Viz také
- 3D počítačová grafika
- Buňka (mikroprocesor)
- Infrastruktura přímého vykreslování (DRI)
- Intel GMA
- Otevřete grafický projekt
Reference
- ^ Theo de Raadt (2006-12-03). „Otevřená dokumentace pro hardware“. Prezentační snímky z OpenCONu 2006. Citováno 2007-02-01.
- ^ „Co znamená„ binární “v ovladači zařízení?“. Citováno 14. listopadu 2017.
- ^ "3.9:" Blob!"". OpenBSD. Citováno 2007-02-12.
- ^ „Linux - Jak ovlivní Rapid7 Advisory R7-0025 ovladač NVIDIA Unix?“.
- ^ „a / lt-binární“.
- ^ Kroah-Hartman, Greg. „Mýty, lži a pravdy o linuxovém jádře“. protokol opice linuxového jádra.
- ^ Peter Gutmann (2006-12-26). „Analýza nákladů na ochranu obsahu systému Windows Vista“. Citováno 2007-01-28. Citovat deník vyžaduje
| deník =
(Pomoc) - ^ Linux Weekly News, 14. srpna 2006: X.org, distributoři a vlastní moduly
- ^ Greg Kroah-Hartman (2006). „Mýty, lži a pravdy o linuxovém jádře“. Linuxové sympozium.
- ^ "Rozhraní ovladače jádra Linuxu". Archivovány od originál dne 04.11.2013. Citováno 2014-03-04.
- ^ „SamsungGalaxyBackdoor“. 2014-02-04.
- ^ „Android má 80% podíl na trhu globálních dodávek smartphonů, jelikož iOS a BlackBerry sdílí snímky, na IDC“.
- ^ „Atomic Display Framework“.
- ^ „free3d.org FAQ“.
Je glxgears přesným měřítkem 3D výkonu? Ne, je to naštvaný několika způsoby.
- ^ „Na low-end GPU urychluje Nouveau minulost ovladače NVIDIA“. Citováno 15. listopadu 2017.
- ^ „Výkon Nouveau OpenGL se blíží ovladači NVIDIA“. Citováno 15. listopadu 2017.
- ^ „Porovnání 15-Way Open vs. Closed Source NVIDIA / AMD Linux GPU“. Citováno 15. listopadu 2017.
- ^ „Ubuntu Linux Herní výkon většinou na stejné úrovni jako Windows 8.1“. Citováno 15. listopadu 2017.
- ^ „Porovnání 25-way Open-Source Linux Graphics Card“. Citováno 15. listopadu 2017.
- ^ „Porovnání 24-Way AMD Radeon vs. NVIDIA GeForce Linux Graphics Card“. Citováno 15. listopadu 2017.
- ^ „Ubuntu 14.04 překonává OS X 10.9 na MacBooku Air 2013“. Phoronix. 2014-03-19. Citováno 2014-03-19.
- ^ „Nouveau Maxwell: Mesa 17.0 + Linux 4.10 vs. NVIDIA's Linux Driver“. Citováno 15. listopadu 2017.
- ^ „Výkon RADV Mesa 17.1-dev vs. AMDGPU-PRO 16.60“. Citováno 15. listopadu 2017.
- ^ „Jak se výkon RadeonSI OpenGL vyvinul z Mesa 11.1 na Mesa 17.1 Git“. Citováno 15. listopadu 2017.
- ^ „Windows 10 Radeon Software vs. Ubuntu 17.04 + Linux 4.12 + Mesa 17.2-dev - Phoronix“. www.phoronix.com.
- ^ „Herní výkon RadeonSI / RADV Mesa 17.3 + AMDGPU DC vs. NVIDIA 387.12 Linux - Phoronix“. www.phoronix.com.
- ^ „Mesa 12.0 to Mesa 18.0 Benchmarks Show The OpenGL / Vulkan Radeon Evolution - Phoronix“. www.phoronix.com.
- ^ https://www.phoronix.com/scan.php?page=article&item=nouveau-summer-2018&num=1
- ^ https://www.phoronix.com/scan.php?page=article&item=mesa182-4-july&num=1
- ^ https://www.phoronix.com/scan.php?page=article&item=radeon-software-1840&num=1
- ^ https://www.phoronix.com/scan.php?page=article&item=gcn10-tww2-radv&num=1
- ^ https://www.phoronix.com/scan.php?page=article&item=gaming-eojan-2019&num=1
- ^ https://www.phoronix.com/scan.php?page=article&item=mesa190-rad-jan&num=1
- ^ https://www.phoronix.com/scan.php?page=article&item=linux52-mesa192-high&num=1
- ^ https://www.phoronix.com/scan.php?page=article&item=radv-radeonsi-19&num=1
- ^ „Důležitost srovnávací automatizace a proč nesnáším ruční spuštění Linuxových her“. Phoronix. 2016-06-04. Citováno 2016-06-04.
- ^ „Sledovač stavu Direct3D 9“. Archivováno z původního dne 20. července 2013. Citováno 15. listopadu 2017.
- ^ „Rejstřík / doc / dokumentace / fb /“. Citováno 15. listopadu 2017.
- ^ Podrobnosti o balíčku Debianu firmware-linux-nonfree ve stabilní verzi Debian.org
- ^ „Funkce Radeon“. Citováno 15. listopadu 2017.
- ^ A b "počáteční podpora VCE v linuxovém jádře a v ovladači Mesa".
- ^ „drm-next-3.15 18. února“.
- ^ „drm-next-3.15 4. března“.
- ^ „Příručky pro vývojáře AMD“. Archivovány od originál dne 16. 7. 2013.
- ^ „Dokumentace poskytovaná společností AMD“.
- ^ "Seznam 3D dokumentace AMD". Archivovány od originál dne 07.10.2013.
- ^ „AMD otevírá grafické specifikace“. LWN.net. 2007-09-05. Citováno 2014-07-15.
- ^ „AMD: Specifikace GPU bez NDA!“. 2007-09-10. Citováno 2014-07-15.
- ^ David Airlie (2007-09-13). „AMD mi předává specifikace na CD“. Archivovány od originál dne 22.10.2012. Citováno 2014-07-15.
- ^ A b „Nvidia's Response To recent Nouveau Work“. Phoronix. 2009-12-14.
- ^ „AMD zkoumá novou strategii ovladače Linux“. 2014-03-22. Citováno 2014-03-23.
- ^ „Počáteční vydání ovladače AMDGPU“. 2015-04-20. Citováno 2016-04-26.
- ^ „AMD jde vpřed s jednotnou strategií ovladačů Linux, nový ovladač jádra“. Phoronix.
- ^ „Dokumentace ovladače AMDGPU“. Freedesktop.org.
- ^ „AMD uvolňuje počáteční podporu ovladačů AMDGPU pro GPU GCN 1.0 / Southern Islands“. Phoronix.
- ^ "libdrm 2.4.63". 2015-08-14.
- ^ „Podpora EGL na 32bitových platformách“. 2013-10-04. Citováno 2014-07-15.
- ^ "lib32-nvidia-utils 340.24-1 seznam souborů". 2014-07-15.
- ^ „Stránka ovladače X.org nv“. 2013-05-20.
- ^ „Nášivka od Dirka Hohndela“. 1998-11-18. Archivovány od originál dne 01.02.2014. Citováno 2014-07-15.
... na rozdíl od tak zmateného kódu. Podle našich standardů to nepovažujeme za svobodný software
- ^ „Nouveau - Komunita a minulost, současný a budoucí vývoj“ (PDF). 2011-09-13. Citováno 2014-07-15.
- ^ A b David M. Airlie (19. 7. 2006). „Grafické ovladače s otevřeným zdrojovým kódem - nezabíjejí koťata“ (PDF). Proceedings of the Linux Symposium Volume One. Ottawa, Ontario, Kanada. Archivovány od originál (PDF) dne 02.02.2007. Citováno 2007-01-28.
- ^ „Nvidia odmítá“ NV"". Phoronix. 2010-03-26.
- ^ „Nvidia nabízí vydání veřejné dokumentace o určitých aspektech svých GPU“. 2013-09-23. Citováno 2013-09-24.
- ^ „Nouveau: Zrychlený ovladač Open Source pro karty nVidia“.
- ^ „Řidič Nouveau absolvuje inscenaci“. LWN.net. 2012-03-23.
- ^ "Inženýrské názvy pro Nvidia".
- ^ „drm / nouveau: počáteční podpora pro GK20A (Tegra K1)“. 2014-01-31.
- ^ „Codethink dostane NVIDIA Jetson TK1 běžící na Linuxu 3.15, Wayland“. Phoronix. 2014-06-12.
- ^ „Matice funkcí ovladače Nouveau“. Citováno 16. listopadu 2017.
- ^ "Tegra-re". Citováno 16. listopadu 2017.
- ^ „Linux pro archiv Tegra“. Citováno 16. listopadu 2017.
- ^ Mayo, Jon (2012-04-20). „[RFC 0/4] Přidat podporu NVIDIA Tegra DRM“. dri-devel (Poštovní seznam). Citováno 2012-08-21.
- ^ Larabel, Michael (11.04.2012). „Tipy pro ovladače NVIDIA Tegra 2 DRM / KMS nahoru“. Phoronix Media. Citováno 2012-08-21.
- ^ „GTC 2013: NVIDIA's Tegra Roadmap (6 of 11)“. Youtube. Citováno 2013-07-10.
- ^ Přehled výrobců grafických karet a jejich spolupráce s Ubuntu Ubuntu Gamer, 10. ledna 2011 (článek Luke Benstead); (kopie článku )
- ^ „Vyšší výkon vychází z Intel Linux SNB“. Phoronix. 2011-03-22. Citováno 2011-03-23.
- ^ „Intel Sandy Bridge Performance Goes Again“. Phoronix. 2011-03-31. Citováno 2011-03-31.
- ^ „Ovladač Intel SNB Linux může spustit ovladač Windows“. Phoronix. 2011-05-23. Citováno 2011-05-23.
- ^ „Historický pohled na výkon grafiky Intel Ironlake“. Phoronix. 2011-05-25. Citováno 2011-05-25.
- ^ „drm / i915: Ve výchozím nastavení používat eLLC / LLC, pokud je k dispozici“.
- ^ „drm / i915: Použít mezipaměť pro zápis pro rovinu zobrazení na Iris“.
- ^ „Intel má 20 ~ 30 vývojářů grafiky Linux na plný úvazek“. 2013-02-02.
- ^ „OpenChrome“. Citováno 16. listopadu 2017.
- ^ phoronix (6. února 2012). „Phoronix.com - FOSDEM 2012 - Open-source ARM Mali“ - přes YouTube.
- ^ Phoronix, 21. ledna 2012: Ovladač Mali GPU s otevřeným zdrojem a zpětným inženýrstvím
- ^ „Quake 3 Arena timedemo nad řidičem lima!“. Archivovány od originál dne 02.02.2013.
- ^ „Ovladač Lima DRM [LWN.net]“. lwn.net.
- ^ drm / lima: ovladač pro ARM Mali4xx GPU}
- ^ drm / panfrost: Přidejte počáteční ovladač panfrostu
- ^ "drm: Přidat podporu pro řadič displeje ARM HDLCD". Seznam adresářů jádra Linuxu. 2015-12-11.
- ^ „Počáteční podpora pro řadič displeje ARM Mali“. Seznam adresářů jádra Linuxu. 2016-04-01.
- ^ Free Software Foundation, 25. dubna 2005: Svobodné softwarové projekty s vysokou prioritou
- ^ „laanwj / etna_viv“.
- ^ "etnaviv: ovladač galia pro GPU Vivante".
- ^ Michael Larabel (14. dubna 2012). „Open-source grafický ovladač pro Snapdragon“. Phoronix. Citováno 15. dubna 2012.
- ^ Soulskill (14. dubna 2012). „Ovladač GPU Qualcomm s otevřeným zdrojem publikován“. Slashdot. Citováno 15. dubna 2012.
- ^ Rob Clark (14. dubna 2012). „Bojovat proti binárním blobům!“. Linaro. Citováno 15. dubna 2012.
- ^ Freedreno, 15. dubna 2012 Archivováno 24. října 2012 v Wayback Machine
- ^ "Mesa/Gallium3D Gets Its First ARM SoC GPU Driver - Phoronix".
- ^ http://lists.freedesktop.org/archives/mesa-commit/2013-March/042190.html
- ^ Rob Clark (29 July 2012). "freedreno update: first renders shader assembler!". Citováno 16. srpna 2012.
- ^ Rob Clark (5 August 2012). "textured cube (fullscreen!)". Citováno 16. srpna 2012.
- ^ Rob Clark (15 August 2012). "Open Source lolscat!". Citováno 16. srpna 2012.
- ^ "Open ARM GPU drivers – Freedreno". FOSDEM. 2013-02-02. Citováno 2014-07-15.
- ^ "Merge the MSM driver from Rob Clark". kernel.org. 2013-08-28. Citováno 2014-06-04.
- ^ "xf86-video-freedreno 1.2.0". freedesktop.org. 2014-07-14.
- ^ "Add support for adreno 430". Citováno 15. listopadu 2017.
- ^ "Index Mesa-Mesa". Citováno 15. listopadu 2017.
- ^ Anholt, Eric (2014-06-17). "New Job at Broadcom". Archivovány od originál on 2015-04-07.
- ^ "Phoronix on the Raspberry Pi GPU".
- ^ "Open Source ARM userland - Raspberry Pi". 24 October 2012.
- ^ "Open Source ARM userland - Raspberry Pi". 24 October 2012.
- ^ „hermanhermitage / videocoreiv“.
- ^ „Raspberry Pi oslavuje 2. narozeniny plánem pro grafický ovladač open source“.
- ^ Upton, Eben (28 February 2014). "A birthday present from Broadcom - Raspberry Pi". Raspberry Pi Foundation. Citováno 8. července 2019.
- ^ "vc4: Počáteční import ovladače kostry". 3D grafická knihovna Mesa. 09.08.2014.
- ^ Michael Larabel (2008-07-26). "VIA Publishes Three Programming Guides". Phoronix. Citováno 2008-08-04.
- ^ Michael Larabel (2009-11-21). "VIA's Linux TODO List... Maybe Look Forward To 2011?". Phoronix. Citováno 2009-12-30.
- ^ VIA's Open Linux Graphics Driver Has Been Defenestrated Phoronix, January 06, 2011 (Article by Michael Larabel )
- ^ "Libdlo". Citováno 16. listopadu 2017.
- ^ "DisplayLink Releases Linux Source Code for its USB Graphics Processors" (Tisková zpráva). DisplayLink. 2009-05-15. Citováno 2009-05-15.
- ^ AMD's Hiring Another Open-Source Driver Developer Phoronix, December 11, 2010 (Article by Michael Larabel )
- ^ It's Fedora Graphics Test Week Phoronix, February 22, 2011 (Article by Michael Larabel )
- ^ "Home of Project VGA, the low budget, open source, VGA compatible video card". 090503 wacco.mveas.com
- ^ "Linux Fund: OGD1". Open Graphics Project. 2010-09-23. Citováno 2011-11-04.
- ^ Bourdeauducq, Sebastien (June 2010). "A performance-driven SoC architecture for video synthesis" (PDF). Archivovány od originál (PDF) dne 2011-07-27. Citováno 2010-11-05.
- ^ "Nyuzi is an experimental GPGPU processor".
- ^ "SOC Test Environment".
- ^ "Running on Terasic DE2-115 FPGA board".
- ^ "Project IceStorm Homepage".
- ^ "Project Trellis Repository".
- ^ "SymbiFlow Homepage".
externí odkazy
- Linux graphics drivers from Intel
- Best Graphics Card For Linux
- NVIDIA's Unix drivers portal page
- Project VGA
- Direct3D 9 state tracker on Gallium3D
- d3d1x: add new Direct3D 10/11 COM state tracker for Gallium
- Freedreno homepage
- Freedreno/Gallium update
- Testovací sada Phoronix
- Status updates for three graphics drivers (Nouveau, amdgpu and Etnaviv) LWN.net 2015