Hlavní navigace

AMD oznámilo změny ve vývoji ovladačů pro Linux. Začnou u řady R300

10. 10. 2014

Sdílet

 Autor: Redakce

Grafické karty pod operačním systémem Linux, toť téma, o kterém by se dalo psát možná ještě obšírněji, než ohledně majoritních Windows. Linuxové ovladače GPU jsou totiž poměrně komplexní záležitostí. Máte-li grafickou kartu Radeon, asi vás bude zajímat, že AMD v podpoře svých GPU chystá dalekosáhlé změny. Své plány na poli ovladačů pro Linux nyní firma prezentovala na XDC 2014 (vývojářské konferenci X.Org).

AMD pro Linux vydává oficiální ovladače Catalyst. Ovšem protože se jedná o uzavřený binární balík, je často problém je zprovoznit s nejčerstvějšími distribucemi (nebo verzemi X serveru) či vlastnoručně zkompilovaným jádrem. Komunita do nich nemůže přispívat vývojem nebo kontrolovat jejich kód a některým uživatelům vadí z ideologických důvodů. Proto existují ještě oddělené otevřené ovladače, které vyvíjí komunita (u Radeonů ale přispívá i AMD coby výrobce), jejichž vývoj je úzce napojen na vývoj jádra a integrace do systému je díky tomu mnohem hladší. Nevýhodou ale je, že kvůli složitosti dnešních GPU nemohou otevřené ovladače nabídnout plnou škálu funkcí a stejný výkon, jako oficiální ovladače.

Změny, které AMD chystá, se dotknou obou větví, jak otevřených ovladačů, tak balíku Catalyst. AMD předělá binární ovladač do formy modulu běžícího výhradně v uživatelském prostoru (zatímco stávající ovladač potřebuje jaderný modul), čímž by měly padnout největší problémy spojené s interakcí této binárky a jádra. Funkcionalita, která musí běžet v jaderném prostoru a je potřebná pro základní fungování karty, bude v nové generaci ovladačů plně otevřená a začleněná do jádra.

AMD oznámilo změny ve vývoji ovladačů pro Linux

Tato základní část ovladače bude v budoucnu společná pro binární i otevřené řešení. Schéma architektury můžete vidět na slajdech: společná otevřená část bude obnášet jaderný kód, libdrm a ovladač pro X Server. V uzavřené binární části naopak bude kód implementující akceleraci 3D grafiky přes OpenGL, rozhraní OpenCL pro výpočty a rozhraní multimediální akcelerace (tedy dekodér UVD a enkodér VCE). Open source ovladač si tyto součásti prostě nahradí vlastním otevřeným kódem. Z binárních Catalystů se tak stane značně menší balíček, který by navíc díky existenci v uživatelském prostoru neměl dělat problémy při aktualizaci jádra a jeho instalace bude jednodušší.

Komponenty grafického ovladače s plně otevřeným softwarem
Komponenty grafického ovladače s plně otevřeným softwarem

Binární komponenty budou mít na starosti jen implementaci rozhraní OpenGL, OpenCL a podporu multimédií
Binární komponenty budou mít na starosti jen implementaci rozhraní OpenGL, OpenCL a podporu multimédií

 

Nový otevřený ovladač: Amdgpu

K této částečné unifikaci ovšem nedojde u všech v současnosti podporovaných grafik, nýbrž jen u nových karet. Podle dostupných materiálů AMD s novým modelem začne u GPU generace „Pirate Islands“, která ale ještě není na trhu (snad by na ní mohly být založeny karty řady R300). Tyto nadcházející grafiky už nebude AMD podporovat ve stávajícím otevřeném ovladači Radeon, místo toho pro ně vytvoří nový základní ovladač Amdgpu. Ten bude onou základní vrstvou, nad níž bude možné použít jak binární řešení s plnou funkcionalitou, tak otevřenou alternativu.

Aktualizováno (14. 10. 2014):
Podle webu Phoronix (viz zde) nakonec pojede v novém modelu ovladačů už Radeon R9 285 (tedy karty s čipem Tonga).

AMD oznámilo změny ve vývoji ovladačů pro Linux

Amdgpu firma údajně založí na kódu stávajícího otevřeného ovladače, půjde ale spíše o fork, v němž dojde ke značným změnám. Stejně jako grafiky Pirate Islands a novější nebudou podporovány ve staré větvi ovladače, starší GPU zase nebudou mít podporu v nové větvi a poběží nadále s původní infrastrukturou.

 

Do nového systému ještě vnesou určitou složitost profesionální grafické karty FirePro. Velkou část jejich funkcí AMD implementuje do binární části ovladače, část vlastností pro ně specifických ale bude spadat do otevřených součástí celého systému, tedy do jaderného modulu a modulu pro X.Org. AMD upozorňuje, že u těchto součástí nemusí nutně dojít k začlenění přímo do hlavního stromu („tzv. upstreamu“) příslušných projektů. Tento kód tedy sice bude otevřený, možná ale bude vyžadovat patchování standardního jádra, ať už instalátorem ovladače nebo distribucí.

Do stejné architektury začlení AMD i ovladače pro profesionální karty FirePro
Do stejné architektury začlení AMD i ovladače pro profesionální karty FirePro

Nová architektura ovladače usnadní život distribucím a zjednoduší instalaci oficiálních binárních ovladačů. Kde naopak moc změn nečekejte, je v 3D akceleraci. Zde nadále zůstane rozštěp na otevřené a uzavřené ovladače jako dnes, kdy uzavřené ovladače zpravidla nabídnou vyšší výkon a ty otevřené za nimi budou zaostávat. Nezdá se ani, že by AMD hodlalo výhledově přejít na stoprocentně otevřené řešení (i když nová architektura by to usnadnila). Mezi těmito alternativami ale vznikne určitá „interoperabilita“ a bude snazší mezi nimi přecházet.

CS24

A v neposlední řadě se také otevírá cesta pro adaptaci oficiálních ovladačů pro nové alternativní grafické servery: tedy Wayland a Mir namísto X.Org. Jejich podporu by totiž mělo být možné realizovat v otevřené části, a nebude tedy třeba, aby se AMD „slitovalo“ a upravilo pro ně svou binární část.

Zdroje: Phoronix (1, 2)