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í.
Tento č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:
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:
Vý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).
29. 1. 2014 at 10:40
Nouveau uz je (alespon s moji kartou, ktere dlouho slusna podpora chybela – NVD9) pro bezne pouziti absolutne bezproblemove. Hry netusim, ty co me bavi se stejne pro PC nedelaji :).
30. 1. 2014 at 22:47
Zrovna si stavím PC a jako kartu chci R9 280x a teď čtu, že nic moc?! Co takhle akcelerace pomocí OpenGL – např. v GIMPu?
31. 1. 2014 at 09:21
Zřejmě myslíš OpenCL. Nikdy jsem to nezkoušel. V radeonsi by měla být nějaká základní podpora, ale nevím v jakém je stavu. Pod catalystem to asi bude fungovat bez problémů. Doporučuji pohledat na Internetu.
31. 1. 2014 at 18:25
Radeon (HD6950) s Catalysty (na Xfce) provozuju ve Fedore uz nejaky ten patek… VNC jsem pouzival mozna tak 1-2 roky zpatky a fungoval bez problemu, ale na konkretni nastaveni si vsak uz nevzpomenu (nic nestandardniho, vse z repozitaru). Konec Catalystu v rpmfusion je skoda, protoze to akorat prinasi starosti a v podstate je to show-stopper pro BFU. Catalysty maji hodne spatnou povest, ale az tak katastrofalni to nastesti neni (kdyz pominu nedavny bug v zarijovych catalystech). Co jsem vsak nikdy nebyl schopny poradne rozjet je akcelerace videa… mam zkompilovany libva-xvba driver, podle vainfo se tvari funkcni, ale snad nic se mi s nim nepodarilo akcelerovat. Mplayer prelozeny s podporou vaapi mi video vubec nezobrazil, zkousel jsem i relativne novy vdpau driver, ktery pouziva vaapi jako backend (libvdpau-va-gl), ale ani ten (zatim?) nefunguje poradne… pri zobrazeni videa se mi po obou monitorech zacali honit sileny artefakty a v horsim pripade zamrznul cely komp.
22. 2. 2014 at 00:30
Tak jsem si chtěl na nové PC nainstalovat Fedoru 20 a ani nenabootovalo Live… vždy se to zastavilo, těsně, než ten proužek dole doběhnul do konce. Tak jsem zase skončil s Ubuntu, které nabootovalo a nainstalovalo se. Sice byli nějaké problémy a musel jsem kouzlit dle tutoriálů a nahodit nejnovější Catalyst 14.1 beta, aby to korektně fungovalo. Grafika R9 270, i7 4770, mb GIGABYTE GA-Z87X-D3H, tak nevím, kde byla chyba…. Ještě, že tam šlo alespoň něco, protože Windows bych tam nechtěl. Tak snad příště, až Fedora 21, jestli už konečně půjde nainstalovat/spustit 🙂
25. 2. 2014 at 14:00
Toto se většinou stává, když vytvoříte LiveUSB špatným nástrojem, např. Unetbootin většinou nefunguje (jejich chyba, ne Fedory). Návod zde: https://fedoraproject.org/wiki/How_to_create_and_use_Live_USB
1. 3. 2014 at 23:55
Díky za info, dělal jsem to přesně tak jak píšete, na USB LiveCD (i DVD) přes Unetbootin v domnění, že je to OK. To jsem se myslím díval dokonce i na Fedoru, jak instalovat, ale jen jsem to projel očima a věřil Unetbootin a tak jsem měl za to že je asi Fedora v tomhle „nedodělek“. Každopádně moje chyba (já to říkám pořád, že chyba je většinou mezi klávesnicí a židlí, což platí i pro mě :-), poučení pro příště.