Porównanie sterowników do kart graficznych
Z openSUSE wiki
Na dobre sterowniki możemy liczyć w przypadku 3 producentów kart graficznych: ATI, Intela i Nvidii. Artykuł ma za zadanie zebrać w jednym miejscu wady i zalety każdego wyboru.
Spis treści |
Otwartość kodu
W przypadku sterowników otwarty dostęp do ich kodu ma dużo większe znaczenie niż przy zwykłej aplikacji. Dotyczy to nie tylko chętnych do ich rozwijania programistów, ale również końcowych użytkowników.
Zamknięte sterowniki muszą być przystosowywane do każdego kolejnego wydania jądra Linuksa, każdego wydania X Server-a oraz każdego wydania podsystemu X.Org. Niestety często ma miejsce sytuacja, gdy producent nie nadąża z przystosowywaniem sterownika i na pewien czas użytkownicy stają przed wyborem między brakiem akceleracji, a zostaniem przy starej wersji programowania. Zdarza się, że w przypadku starszego sprzętu producenci szczególnie mocno zwlekają z aktualiacją sterowników lub wręcz porzucają wsparcie dla danej grupy modeli (ATI).
Kłopoty występują również ze wsparciem. O ile dla otwartych sterowników istnieje wiele miejsc gdzie można zgłaszać błędy, pytać o szczegóły i prosić o pomoc, to w przypadku zamkniętych często nie ma jak się skontaktować z odpowiednimi osobami.
Porównanie sterowników
ATI
Posiadacze kart firmy ATI przez lata cierpieli ze względu na słabą jakość sterownika fglrx, który u wielu ludzi wyrobił złą opinię utrzymującą się często do dziś. Szczęśliwie firma ATI została przejęta przez AMD, która zaprezentowała zupełnie inne podejście do Linuksa. Jeszcze za czasów ATI (i z jej niewielką pomocą) powstały otwarte sterowniki obsługujące wczesne serie Radeonów. Obecnie rozwój nadal trwa, obsługa starych kart jej poprawiana, a nowych dodawana. AMD na stałe zatrudnia kilku programistów zajmujących się typowo Linuksowymi sterownikami.
ATI Catalyst (fglrx)
Są to zamknięte sterowniki 2D i 3D dostarczane przez ATI. Po przejęciu przez AMD sterownik został znacznie usprawniony. Usunięto wiele poważniejszych błędów, dodano obsługę AIGLX, rozszerzono obsługę sprzętu o najnowsze modele (łącznie z CrossFire), zautomatyzowano przebudowywanie sterownika po aktualizacji systemu (jądra), poprawiono współpracę z Wine oraz pozwolono grom na zmianę rozdzielczości. Ich obecny stan można uznać za całkiem stabilny. Przez pewien czas trwały prace nad dodaniem obsługi UVD2, co miało pozwolić na odciążenie procesora przy dekodowaniu filmów, jednak nie zostało to dokończone.
radeon i radeonhd (DDX)
Te otwarte sterowniki 2D zapewniają wspólnie dla wszystkich kart do R7xx włącznie pełną obsługę trybów pracy, detekcję monitorów, akcelerację 2D i sprzętowe skalowanie filmów (Xv). Dla nowszych serii (Evergreen) wsparcie jest powoli dodawane, na razie brakuje jakiejkolwiek akceleracji. Zestawienie możliwości znajduje się na wiki X.Org osobno dla radeon i radeonhd.
radeon (KMS)
Sterownik KMS (2D) ma na celu zastąpienie sterowników DDX poprzez przeniesienie ich funkcjonalności do jądra systemu. Zapewni to większą stabilność, wydajność i zwiększy możliwości. Można powiedzieć, że w KMS znajdziemy to co najlepsze z obu sterowników: radeon i radeonhd. W jądrze 2.6.34 funkcjonalność powinna być już porównywalna ze sterownikami DDX.
radeon, r200, r300, r600 (Mesa)
Jest to zbiór sterowników 3D dla wszystkich rodzin kart ATI z wyłączeniem najnowszej serii Evergreen. Wyjaśnienia wymaga, że sterownik r300 jest odpowiedzialny za akcelerację na kartach r3xx-r5xx, a sterownik r6xx na r6xx-r7xx. Wszystkie posiadają zarządzanie pamięcią i poza r600 oferują stabilne i dobre wsparcie dla akceleracji 3D. Niewątpliwie nie jest ono aż tak wydajne jak to w przypadku fglrx, ale uruchomienie efektów pulpitu czy gier na nieco mniejszych detalach nie powinno sprawić problemów. Nieco gorzej jest ze sterownikiem r600, który jest stosunkowo młody i nie da się z jego pomocą uruchomić jeszcze wszystkich gier. Poza pojedynczymi błędami posiada kłopoty z obsługą skompresowanych tekstur oraz grami uruchamianymi przez Wine. Na szczęście prace nad nim nadal trwają i z czasem powinien stać się zamiennikiem zamkniętego fglrx.
Intel
Polityka Intela od dawna i w dodatku w wielu dziedzinach jest bardzo przyjazna Linuksowi. Dla wszystkich kart istnieje tylko otwarty sterownik, który jest aktywnie rozwijany i poprawiany. Intel ma również duży wkład w rozwój uniwerslanych narzędzi i programów, które są przydatne innym sterownikom. Posiadacze tych kart niezależnie od modelu (wspierane są zarówno stare karty jak i nowsze, np. X4500) mogą liczyć na dobrze działające sterowniki zarowno akceleracji 2D jak i 3D, uniwersalną obsługę monitorów, wspomaganie wyświetlania filmów i wydajne zarządanie pamięcią (GEM, ang. Graphics Execution Manager). Wdrożona została również obsługa KMS (Kernel Mode Setting), która sprawniej zarządza pracą karty graficznej i powinna być dostępna w openSUSE 11.3.
Nvidia
Nvidia
Nvidia od dawna dostarcza bardzo dobrych sterowników do swoich kart graficznych. Praktycznie we wszystkich zastosowaniach dobrze spełniają swoją rolę - działa zarówno standardowa akceleracja (2D i 3D) jak i AIGLX oraz wspomaganie odtwarzania i dekodowania video. Jedynie w niektórych sytuacjach i modelach sterowniki sprawiają kłopot przy podłączaniu dotakowych wyświetlaczy (brak wykrywania trybów, rozdzielczości). Niestety źródła sterownika nie są dostępne i właściwie jest to jedyna poważna wada.
Nouveau
Nouveau to projekt mający na celu stworzenie otwartych sterowników dla kart Nvidii. Na chwilę obecną posiada dobrą obsługę wyświetlaczy i akceleracji 2D oraz skalowania video (wszystko bazuje na KMS). Nie posiada niestety wsparcia dla zarządzania energią, dekodowania video czy przesyłania dźwięku przez HDMI. Istnieje również sterownik 3D, jednak jest on na razie mocno eksperymentalny. Można próbować uruchomić na nim efekty pulpitu i część gier, jednak różnica w wydajności jest wyraźna. Na stronie projektu można śledzić aktualny status.

