Nedávno jsem si pořídil novou grafickou kartu od AMD a rozhodl jsem se sepsat své zkušenosti z jejího používání ve Fedoře. Ovladače grafických karet jsou jednou z posledních dlouhotrvajících bolístek moderního hardwaru pod Linuxem, a proto předpokládám, že by takovýto článek mohl zajímat širší skupinu lidí, zejména těch, kteří o pořízení podobného hardwaru v blízké budoucnosti uvažují.

radeon-graphicsTento článek je volným překladem zápisků, které jsem v angličtině uveřejnil na svém blogu (první zápis, druhý zápis). Moje zkušenosti se týkají konkrétně karty MSI Radeon R9 270 GAMING 2G, avšak měly by se obecně vztahovat na všechny karty s čipem z rodiny Southern Islands, kam tato karta spadá. Stejně by tudíž měly fungovat karty AMD Radeon HD7750 - HD7970, R7 240 - 250 a R9 270 - 280. Podrobnější dělení lze nalézt na Xorg wiki. Články na internetu naznačují, že karty se staršími čipy (R600 a výš) by aktuálně měly v Linuxu fungovat lépe (rychleji, stabilněji) než mnou popisovaná rodina karet, a karty s novějšími čipy (Sea Islands - HD7790, R7 260, R9 290) by měly fungovat podstatně hůře. A nyní se tedy již vrhněme na Southern Islands.

Snažil jsem se otestovat jak svobodný ovladač radeon (pro danou rodinu karet jeho varianta nazývaná RadeonSI), tak uzavřený ovladač catalyst, který AMD nabízí ke stažení na svých stránkách. Catalyst jsem testoval pouze na Fedoře 20, zatímco RadeonSI jsem testoval na Fedoře 20 a Fedoře Rawhide, což je nekonečná vývojová verze Fedory, ve které se objevují stále nové a aktuální verze softwaru. Usnadnilo mi to zkoušení změn, které se od vydání Fedory 20 ve svobodném ovladači mezitím odehrály. (Některé balíčky jsem si tam musel ručně aktualizovat a překompilovat pro získání absolutně čerstvého softwaru, takže v současné době neodpovídá můj zápis standardní instalaci Rawhidu, avšak potřebné změny by se měly promítnout do distribuce brzy.)

Svobodný ovladač RadeonSI

Tento ovladač používá Fedora na příslušných kartách jako výchozí. Popis jsem rozdělil do dvou sekcí: obecná funkčnost prostředí (používám GNOME) a hraní.

Pracovní prostředí

Úvodní zkušenost při práci v běžném grafickém prostředí je výborná. Vše funguje na jedničku, prostředí je plynulé, nejsou žádné problémy s běžnými úkony, jako je prohlížení internetu, přehrávání filmů či uspávání a probouzení počítače. Některé detaily jsem však po delším používání začal objevovat:

  • Vykreslování základních tvarů v prostředí GTK může být pomalejší. V době psaní původních anglických zápisků se mi u některých složitějších sešitů v LibreOffice Calc stávalo, že byl editor extrémně pomalý až nepoužitelný. Může za to chybějícípodporaakcelerace pro jisté grafické operace (využívající čáry a jiné základní prvky). Některé další aplikace byly taképostiženy. Nicméně vývojáři ovladače na problému zapracovali a v současné době jak ve Fedoře 20, tak v Rawhide nepozoruji jakékoliv zpomalení u žádné z běžně používaných aplikací, včetně velmi složitých sešitů v LibreOffice Calc.
  • Občas lze vidět drobné chybky při vykreslování. Zřídkavě se místo některého písmena (zejména na webových stránkách, ale i v jiných programech) místo jednoho konkrétního písmena zobrazí rozmazaný čtvereček (grafický artefakt). Není to žádný velký problém, nevidím to častěji než párkrát do měsíce a stačí označit text, aby se překreslil správně. Ovšem vypovídá to o tom, že chybky v kódu pro vykreslování ještě nějaké jsou.
  • Větrák karty jede rychleji než u uzavřeného ovladače. U svobodného ovladače zatím není implementována podpora pro pokročilejší správu rychlosti otáček větráku na kartě. Proto karta používá nastavení z výroby, kde je v mém případě bohužel natvrdo řečeno, že minimální rychlost otáček je 40% (počítáno z maximální rychlosti větráku), zatímco uzavřené ovladače zpomalí větrák v klidovém režimu až na 18%. Proto mi karta v počítači poněkud více hučí, než by musela. Toto je ovšem případ mé konkrétní karty; jiné karty (a jiní výrobci) mohou mít nastavené klidové otáčky jinak vysoko.

Zmíněné problémy považuji za spíše kosmetické. Pro klasickou práci si myslím, že uvedená karta funguje se svobodným ovladačem na jedničku.

Hraní

Hraní bývalo na svobodných ovladačích vždy otázkou kompromisu. Nejinak tomu je v současné době. Nejdůležitější poznatky jsou tyto:

  • Automatická správa napájení není aktivní ve Fedoře 20. Karta jede neustále na nejnižší rychlostní profil a nezrychluje, ani když by to bylo potřeba. Při běžné práci to nijak nevadí, karta je i na nejnižší rychlost dostatečně výkonná, ovšem u her to způsobuje velmi výrazný propad ve výkonu. Toto však platí pouze pro Fedoru 20, ve Fedoře Rawhide již je kernel 3.13, který automatickou správu napájení zapíná. Hry tam tedy již pojedou naplno. Kernel 3.13 se pravděpodobně dostane časem i do Fedory 20. Do té doby se dá přidat na příkazový řádek kernelu položka radeon.dpm=1, pokud na kartě chcete hrát.
  • Je podporovaná pouze stará verze standardu OpenGL. Čím novější verzi OpenGL vaše karta a ovladač podporují, tím pokročilejší funkce ve vykreslování může hra využívat. Ačkoliv aktuální verze OpenGL je 4.4 (a karta ji samozřejmě podporuje), ovladač radeonsi podporuje pod Fedorou 20 pouze OpenGL 2.1 a pod Fedorou Rawhide pak OpenGL 3.1/3.0. Nepříjemným důsledkem je fakt, že velké množství her (hlavně moderních) se kvůli zastaralé podpoře OpenGL odmítne spustit. Ve Fedoře 20 se na mnou testovaném vzorku her cca třetina až polovina vůbec nespustila. Ve Fedoře Rawhide se naopak drtivá většina rozjela, takže situace se v poslední době velice výrazně zlepšila. Stále jsem našel pár her, které nefungovaly vůbec, ale nemohu s jistotou tvrdit, zda to bylo způsobeno zastaralou podporou OpenGL, či jinými problémy s ovladačem.
  • Výkon není na úrovni uzavřeného ovladače. Pro starší hry má svobodný ovladač výkon dostatečný, ovšem u náročných her z posledních let (např. Dota 2, Killing Floor, Left 4 Dead 2, Team Fortress 2) je citelně pomalejší. U těchto her je nutné snížit kvalitu zobrazení. Výjimečně je výkon nízký nehledě na nastavenou kvalitu (Dota 2). Zřídka se také vyskytují pády hry či zatuhnutí celého počítače.

Jak je zřejmé, náruživého hráče zřejmě svobodný ovladač nepotěší. Na příležitostné hraní postačuje, a situace se rapidně zlepšuje v nejnovější verzi ovladače.

Uzavřený ovladač Catalyst

Tento ovladač je nabízen firmou AMD na jejích stránkách. Některé distribuce umožňují jeho snadnou instalaci, ve Fedoře tomu tak není. Což mě přivádí k prvnímu problému:

  • Catalyst již není dostupný v RPMFusion. Dříve býval tento ovladač k dispozici ve známém repozitáři RPMFusion, což znamenalo snazší instalaci a automatické aktualizace. Správce tohoto balíčku se to však rozhodl zabalit (není ta čeština krásná?) a přestal se o něj starat. Tudíž jste nyní odkázaní na instalátor ze stránek AMD, což opět zvyšuje laťku pro uživatele.

Pracovní prostředí

Špatnými zprávami budeme pokračovat:

  • GNOME ve Fedoře 20 s Catalystem nefunguje. GNOME a mnoho přidružených aplikací vyžaduje ve Fedoře 20 knihovnu, která není distribuována spolu s uzavřeným ovladačem. Následkem toho se toto prostředí ani aplikace nespustí. Ve Fedoře Rawhide jsem Catalyst nezkoušel, ale situace bude totožná. Stejně tak jsem nezkoušel KDE, ale dle diskuzí na internetu se to něj vztahuje taky. Tento problém bohužel znamená naprostou stopku pro drtivou většinu uživatelů a nezbývá čekat, než s tím AMD něco udělá. Mně se za pomocí černé magie, voodoo panenek ve tvaru vývojářů Catalystu a spousty špendlíků povedlo problém obejít a Catalyst s GNOME vyzkoušet, ovšem výsledný systém nebyl v dlouhodobě udržovatelném stavu a nikomu to nedoporučuji.
  • Přepínání mezi hrou a plochou hapruje. Mnoho her podporuje přepnutí z hry na pracovní plochu. S Catalystem se při Alt+Tab sice zobrazí přepínací dialog, ale přepnutí nefunguje bez kliknutí myší (nelze použít pouze klávesnici). V některých hrách se vyskytují i horší problémy, jako např. že pak hra přestane reagovat na klávesnicový vstup úplně. Přepínání tudíž není bezproblémové (v porovnání se svobodným ovladačem), ovšem vcelku použitelné je.
  • Počítač nelze ovládat přes VNC. Pokud používáte VNC pro vzdálené ovládání své plochy z jiného počítače, s uzavřeným ovladačem na to můžete zapomenout. Obraz se odmítá překreslovat, takže ačkoliv vaše klávesnice a myš jsou funkční, vidíte pouze statický obrázek. Pro úplnost dodávám, že jsem zkoušel pouze integrovaný VNC server v GNOME, možná to s jiným serverem může fungovat jinak.

Co se týká pracovního prostředí, zejm. GNOME, je tedy Catalyst kvůli prvnímu zmíněnému problému zcela nepoužitelný. Pro jiné distribuce to nemusí platit, záleží na tom, jakým způsobem byly balíčky zkompilovány. I pokud se vás tento problém netýká, tak se minimálně v GNOME připravte na další drobné potíže; víceméně se však ovladač jeví jako funkční (musím ovšem dodat, že jsem měl s Catalystem jen krátkodobou zkušenost).

Hraní

Zde se karta obrací. Uzavřený ovladač má velmi dobrý výkon (i když údajně mu do jeho výkonu ve Windows ještě trochu schází) a většina her s ním funguje zcela bez problémů. V několika případech jsem se však setkal s grafickými artefakty (např. problikávající čáry), případně s mini-lagy (hra jede celkově rychle, avšak co chvilku sebou trochu škubne a poposkočí). Ovladač tedy není perfektní, ale povětšinou funguje dobře.

Testy her

Při mém testování jsem vyzkoušel poměrně velké množství her. Všechny byly pouštěny přes herní platformu Steam. Vytvořil jsem tabulku, kde pro jednotlivé hry můžete vidět, jak dobře fungovaly pod kterým ovladačem, takže si můžete vytvořit hrubou představu o typické funkčnosti. Dokument je dostupný zde:

Tabulka funkčnosti her (.ods)

Dále jsem využil nástroje Phoronix Test Suite a provedl jsem nějaké testy výkonu. Většina obsažených herních testů jsou svobodné hry, ve kterých ovladač RadeonSI podává velmi dobrý výkon. V komerčních hrách jsem měl ovšem pocit, že je výkonový rozdíl poněkud větší (u nich jsem však měření neprováděl). Pokud v některých výsledcích chybí určitá položka, znamená to, že test spadl nebo nešel dokončit v rozumném čase. U některých her je potřeba brát s rezervou výsledky, které se pohybují kolem 60 snímků za vteřinu - v tom případě zřejmě nefungovalo vypnutí vertikální synchronizace. Výsledky můžete vidět zde:

radeon-phoronix-test-suiteVýsledky testů Phoronix Test Suite

Závěr

Doufám, že vám tento článek alespoň částečně pomohl při případném výběru vaší budoucí grafické karty (či notebooku obsahující konkrétní grafický čip atp). Grafické karty AMD spadající do rodiny Southern Islands jsou se svobodným ovladačem velmi funkční pro klasickou práci, a diskutabilní pro hraní. Uzavřený ovladač to má přesně naopak. Zejména ve svobodném ovladači se ale poslední dobou odehrávají velké kroky kupředu, a tudíž je zde naděje, že za rok bude svému uzavřenému protějšku šlapat na paty i v oblasti výkonu a podpory her.

Pokud byste zvažovali nákup grafické karty jiného výrobce, pro běžné pracovní využití mohu ze své zkušenosti z celého srdce doporučit integrované karty Intel, které jsou v Linuxu nejvíce bezproblémové, a taktéž plně otevřené. Karty Nvidia má naopak smysl používat pouze s uzavřeným ovladačem, protože tomu svobodnému schází velké množství funkcí a často na něm dobře nefunguje ani běžné grafické prostředí.

Mám pocit, že nedávný vývoj na poli svobodných ovladačů pro karty AMD přináší do linuxového světa příjemnou možnost stojící napůl cesty mezi těmito směry - dobrou funkčnost a rozumný herní výkon bez nutnosti používat uzavřené a často problematické ovladače. Pro ideální zážitek to samozřejmě bude chtít některou z velmi čerstvých distribucí (např. Fedoru 21, která by snad mohla vyjít koncem léta, nebo pro odvážnější Fedoru Rawhide dostupnou kdykoliv). A v neposlední řadě také doufám, že AMD ve zvolené cestě vytrvá a vyplatí se jí (a třeba otevře oči i dalším).