Czerwone na Linuksie lepsze niż zielone? Nowy model sterowników AMD to spełnienie marzeń

Na linuksowe sterowniki graficzne dla kart Radeon narzekano odsamego ich pierwszego wydania. Przez wiele lat to zamkniętesterowniki od Nvidii wyznaczały standard jakości – i pod kątemudostępnianych przez nie interfejsów optymalizowano oprogramowanie,dla nich tworzono mechanizmy sprzętowej akceleracji. W ostatnichlatach dużo się jednak zmieniło. AMD z jednej strony wspomagałojak mogło prace nad otwartym sterownikiem radeon/gallium3d,prowadząc do sytuacji, w której nadaje się on już nawet do graniaw wiele gier, z drugiej strony ulepszało swój zamknięty sterownikfglrx/catalyst, tak że choć wciąż ustępuje on rozwiązaniomNvidii, to na pewno nie jest tak zły, jak był w minionych latach. Wprzyszłości fglrx może zaś być jeszcze lepszy, może nawet staćsię najlepszym zamkniętym sterownikiem grafiki dla Linuksa, zasprawą opracowywanej przez AMD radykalnej zmiany architektury.

09.10.2014 12:23

Pół roku temu, podczas Game Developers Conference 2014,przedstawiciele AMD ujawnili, że chcą wyjść naprzeciw potrzebomrosnącej społeczności linuksowych graczy. Firma, dla którejWindows wciąż jest najważniejszą platformą systemową, zauważyłazainteresowanie Linuksem wśród konsumentów, szczególnie za sprawąSteam OS-a i zapowiadanych przez Valve komputerków Steam Machines,początkowo wspierających tylko GPU „zielonej” konkurencji.Odpowiedzią „czerwonych” miało być przebudowanie linuksowegosterownika według niespotykanego wcześniej modelu.

Obraz

AMD uznało, że wykorzysta istniejący, otwarty sterownik DRM(Direct Rendering Manager) w jądrze Linuksa, nad nim uruchamiając wprzestrzeni użytkownika swój zamknięty binarny sterownik. W tensposób firma mogłaby wspierać zarówno rozwój otwartegoGallium3D, jak i zaoferować swojego Catalysta wszystkim tym, którzypotrzebują najwyższej wydajności w grach. Uprościłoby toznacząco instalowanie zamkniętego sterownika, zwykle nieobecnego wpopularnych dystrybucjach ze względu na kwestie licencyjne. Jako żeLinux nie ma stabilnego ABI (binarnego interfejsu), to dzisiaj przyinstalowaniu zamkniętych sterowników konieczne jest wykorzystaniekompletnego środowiska kompilacyjnego, by zbudować specyficzny dlakonkretnej wersji jądra pomost między jego interfejsami a binarnymsterownikiem. Gdyby Catalyst działał w warstwie użytkownika, towszystko byłoby niepotrzebne, nie byłoby koniecznościrekompilowania sterownika dla nowych wersji jądra.

Sprawa ucichła, aż do teraz. AMD ujawniło, że prace nadujednoliconym modelem sterowników dla Linuksa postępują naprzód,choć ostatecznie będzie to wyglądało wszystko nieco inaczej.Firma przygotowuje na bazie radeona/gallium nowy sterownik o nazwieamdgpu, który będzie stał zarówno za otwartymi jak iwłasnościowymi komponentami stosu grafiki. To, co znamy dziś jako„Catalyst”, będzie samodzielnym, uruchamianym w przestrzeniużytkownika blobem, zajmującym się OpenGL i OpenCL/compute.Wszystkie elementy składające się na DRM i jego bibliotekęlibdrm, a także sterownik dla X.org, będą otwarte i rozwijane wewspółpracy ze społecznością. W teorii takie podejście powinnopomóc także w wykorzystaniu Catalysta także w serwerach grafikiWayland i Mir – wystarczy dopisać do tego niewielkiego bloba ichrozszerzenia.

Nowy sterownik nie będzie jednak działał z dziś dostępnymsprzętem. To projekt na przyszłość, dla nowych Radeonów z seriiRx 300 „Pirate Islands”, zapowiadanych na 2015 rok. Kolejnegeneracje GPU nie będą miały problemów z jego wykorzystaniem,gdyż sterownik skupiać się ma nie tyle na rodzinach procesorów,co wersjach modułów z dodatkowymi funkcjami (np. sprzętowegodekodera wideo). Same procesory będą miały wspólne API, poprzezktóre będą mogły ładować i inicjalizować właściwe dla siebiemoduły.

Czy z takim podejściem AMD zdoła zaskarbić sobie uznanieużytkowników Linuksa? Jeśli niczego po drodze nie zepsuje, toniewątpliwie tak. Wykorzystanie własnościowych sterownikówgrafiki w otwartym systemie to dla wielu deweloperów sprawadrażliwa, a dla użytkowników przede wszystkim kłopotliwa. Ci,którzy wzywają do kompletnego otwarcia blobów, pozwalających nauzyskanie pełnej wydajności i możliwości karty graficznej sąjednak idealistami, nie rozumiejącymi ram prawnych, w którychdziałają producenci. Zaawansowane rozwiązania 3D i wideo sąbowiem obciążone licznymi patentami, licencjonowane bez prawa doswobodnego rozpowszechniania – i póki system patentowy nie ulegniezmianie, nie ma co liczyć na zaawansowane, otwarte sterowniki. To coproponuje AMD nie jest nawet mniejszym złem, w ogóle nie jest złem.Deweloperzy Linuksa będą zadowoleni, że żaden blob niezanieczyszcza im jądra, zwolennicy Open Source uzyskają niezłąwydajność z otwartych komponentów sterownika, a ci, którzy chcąścigać się na FPS-y, po prostu doinstalują jednym kliknięciemCatalysta.

Pozostaje oczywiście pytanie, czy NVIDIA w ogóle zareaguje natego typu zagranie konkurencji. Dziś użytkownicy Linuksa z GeForcemogą wybierać między otwartym, mało wydajnym, przysparzającymwciąż wiele kłopotów sterownikiem nouveau, a zamkniętym blobemNvidii, który choć bardzo wydajny i stabilny, nie dla każdego jestdo przyjęcia – i miewa swoje problemy z oprogramowaniem strontrzecich.

Programy

Zobacz więcej
Wybrane dla Ciebie
Komentarze (54)