r   e   k   l   a   m   a
r   e   k   l   a   m   a

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

Strona główna AktualnościOPROGRAMOWANIE

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

Pół roku temu, podczas Game Developers Conference 2014, przedstawiciele AMD ujawnili, że chcą wyjść naprzeciw potrzebom rosnącej społeczności linuksowych graczy. Firma, dla której Windows wciąż jest najważniejszą platformą systemową, zauważyła zainteresowanie 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 linuksowego sterownika według niespotykanego wcześniej modelu.

AMD uznało, że wykorzysta istniejący, otwarty sterownik DRM (Direct Rendering Manager) w jądrze Linuksa, nad nim uruchamiając w przestrzeni użytkownika swój zamknięty binarny sterownik. W ten sposób firma mogłaby wspierać zarówno rozwój otwartego Gallium3D, jak i zaoferować swojego Catalysta wszystkim tym, którzy potrzebują najwyższej wydajności w grach. Uprościłoby to znacząco instalowanie zamkniętego sterownika, zwykle nieobecnego w popularnych dystrybucjach ze względu na kwestie licencyjne. Jako że Linux nie ma stabilnego ABI (binarnego interfejsu), to dzisiaj przy instalowaniu zamkniętych sterowników konieczne jest wykorzystanie kompletnego środowiska kompilacyjnego, by zbudować specyficzny dla konkretnej wersji jądra pomost między jego interfejsami a binarnym sterownikiem. Gdyby Catalyst działał w warstwie użytkownika, to wszystko byłoby niepotrzebne, nie byłoby konieczności rekompilowania sterownika dla nowych wersji jądra.

r   e   k   l   a   m   a

Sprawa ucichła, aż do teraz. AMD ujawniło, że prace nad ujednoliconym 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 nazwie amdgpu, który będzie stał zarówno za otwartymi jak i własnościowymi komponentami stosu grafiki. To, co znamy dziś jako „Catalyst”, będzie samodzielnym, uruchamianym w przestrzeni uż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 we współpracy ze społecznością. W teorii takie podejście powinno pomóc także w wykorzystaniu Catalysta także w serwerach grafiki Wayland i Mir – wystarczy dopisać do tego niewielkiego bloba ich rozszerzenia.

Nowy sterownik nie będzie jednak działał z dziś dostępnym sprzętem. To projekt na przyszłość, dla nowych Radeonów z serii Rx 300 „Pirate Islands”, zapowiadanych na 2015 rok. Kolejne generacje 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ętowego dekodera wideo). Same procesory będą miały wspólne API, poprzez które będą mogły ładować i inicjalizować właściwe dla siebie moduły.

Czy z takim podejściem AMD zdoła zaskarbić sobie uznanie użytkowników Linuksa? Jeśli niczego po drodze nie zepsuje, to niewątpliwie tak. Wykorzystanie własnościowych sterowników grafiki w otwartym systemie to dla wielu deweloperów sprawa drażliwa, a dla użytkowników przede wszystkim kłopotliwa. Ci, którzy wzywają do kompletnego otwarcia blobów, pozwalających na uzyskanie pełnej wydajności i możliwości karty graficznej są jednak idealistami, nie rozumiejącymi ram prawnych, w których działają producenci. Zaawansowane rozwiązania 3D i wideo są bowiem obciążone licznymi patentami, licencjonowane bez prawa do swobodnego rozpowszechniania – i póki system patentowy nie ulegnie zmianie, nie ma co liczyć na zaawansowane, otwarte sterowniki. To co proponuje AMD nie jest nawet mniejszym złem, w ogóle nie jest złem. Deweloperzy Linuksa będą zadowoleni, że żaden blob nie zanieczyszcza 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ęciem Catalysta.

Pozostaje oczywiście pytanie, czy NVIDIA w ogóle zareaguje na tego typu zagranie konkurencji. Dziś użytkownicy Linuksa z GeForce mogą wybierać między otwartym, mało wydajnym, przysparzającym wciąż wiele kłopotów sterownikiem nouveau, a zamkniętym blobem Nvidii, który choć bardzo wydajny i stabilny, nie dla każdego jest do przyjęcia – i miewa swoje problemy z oprogramowaniem stron trzecich.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.