Niewspierane Radeony – raport z placu boju 21


Ostatnio zamieszczony przeze mnie artykuł Otwarte sterowniki do kart graficznych na Linuksa (budowa i działanie) wywołał dyskusję na temat obsługi niewspieranych kart ATI Radeon przez otwarte sterowniki. Powtarzała się opinia o dużo wydajniejszej pracy starych kart ATI na Catalystach, kiedy były jeszcze wspierane, niż na otwartych sterownikach obecnie. Jak jest naprawdę? Postanowiłem to sprawdzić. W tym celu wygrzebałem z szafy starą kartę graficzną Asus Radeon X300 ze 128MB RAM-u na pokładzie. Układ obsługuje OpenGL 2.1. Jest to najstarsza karta z generacji Xpress i zupełnie nie nadaje się do grania we współczesne gry (wyniki zapewne byłyby ciekawsze dla np. X1950). Wydaje mi się jednak, że nadaje się do porównania jakości sterowników, szczególnie że działa na ciągle aktywnie rozwijanym otwartym sterowniku r300.

Reszta blaszaka wykorzystanego do testów, to:

  • Procesor: Intel Core 2 6300 @ 1.87GHz (2 rdzenie)
  • Płyta główna: Gigabyte 965P-DS3
  • Chipset: Intel 82P965/G965 + ICH8/R
  • Pamięć: 6144MB DDR2
  • Dysk: 1000GB SAMSUNG HD103SJ
  • Monitor: P19-2

Wydajność karty graficznej przetestowałem przy pomocy Phoronix Test Suite 3.4 na następujących systemach:

Ubuny 8.04.4 + Catalyst 9.3: Czy ktoś jeszcze pamięta „Dzielną Czaplę”? Jest to wydanie Ubuntu, na którym można jeszcze zainstalować stare Catalysty wspierające układy Legacy. Do testów zainstalowałem na systemie najnowsze zamknięte sterowniki, które jeszcze wspierały moją kartę, czyli Catalyst 9.3.

 

Ubuntu 10.04.3: Na tej obecnie popularnej wersji Ubuntu LTS nie da się już zainstalować zamkniętych sterowników do grafiki X300. Otwarte sterowniki odpowiedzialne za OpenGL opierają się na Mesa3D 7.7.1, a sterownik r300 używa jeszcze klasycznej Mesa zamiast Gallium3D i nazywany jest powszechnie r300c. Warto zwrócić uwagę, że na tym sterowniku karta graficzna obsługuje jedynie specyfikację OpenGL 1.5. Do testów użyłem świeżo zainstalowanej wersji systemu i nic nie zmieniałem w samych sterownikach.

Ubuntu 12.04 Alpha 1: Nadchodzące wydanie LTS Ubuntu jest jeszcze we wczesnej fazie rozwoju, ale już teraz możemy podejrzeć, czego powinniśmy się spodziewać. Póki co 12.04 korzysta z Mesa 7.11, tak jak Ubuntu 11.10. Z tego powodu na potrzebę tych testów skompilowałem na tę platformę Mesa 7.12-dev prosto z repozytoriów git projektu. Warto też wspomnieć, że w procesie kompilacji odblokowałem opatentowane technologie S3TC i Floating Point Textures. W procesie kompilacji zastosowałem llvm 3.0, które zaledwie kilka dni temu zostało opublikowane przez Apple. W tej wersji sterownik do mojej karty oparty jest już o nowoczesną architekturę Gallium3D i nazywany jest powszechnie r300g.

Do przetestowania karty graficznej zastosowałem następujące benchmarki:

Nexuiz: Gra ta niedawno sforkowana do Xonotic korzysta z silnika DarkPlaces, wywodzącego się z idTecha znanego między innymi z Quake. Gra silnie wykorzystuje Shadery.

OpenArena: Jest to gra korzystająca z silnika pochodzącego od idTech3, który był stosowany między innymi w Quake 3. Test ten obciąża kartę graficzną w niewielkim stopniu, a przez to powinien generować wysokie rezultaty.

LightsMark: To benchmark intensywnie testujący OpenGL 2.1. Silnie obciąża większość możliwości tej specyfikacji, co pomaga wykrywać tzw. wąskie gardła.

A oto wyniki:

I tutaj olbrzymie zaskoczenie. Chociaż gra w każdym przypadku generowała za mało klatek na sekundę, żeby być grywalną, to jednak działała prawie dwa razy szybciej na Gallium3D niż na zamkniętych Catalystach. Na Ubuntu 10.04 gra nie chciała się uruchomić.


W grze OpenArean Catalysty wyciągały ok. 40 klatek na sekundę. Niestety gra często przerywała się w związku z błędem w sterownikach i pomimo wielu prób nie udało się mi dostarczyć zbenchmarkowanych rezultatów. Ubuntu 12.04 działało około 50% szybciej niż Ubuntu 10.04. Ubuntu 10.04 działało ok. 4x wolniej od Ubuntu 8.04 na Catalystach, a Ubuntu 12.04 około 2,6x wolniej.


Catalysty wyciągnęły 10,3 klatki na sekundę w LightsMarku. Na Ubuntu 10.04 nie dało się uruchomić benchmarka, a na Ubuntu 12.04 Alpha 1, benchmark zawsze przerywał się w tym samym miejscu z błędem (cóż jest to dopiero oprogramowanie jakości alpha). Zanim jednak do tego dochodziło to licznik FPSów pokazywał średnio 7. To wynik gorszy od Catalystów o 30%.

Ubuntu 12.04 zapowiada się na piekielnie ciekawy system dla właścicieli niewspieranych Radeonów. Najnowsze otwarte sterowniki doganiają, a czasami przeganiają wydajnością stare Catalysty, a przy tym oferują dużo bogatszą funkcjonalność. W ciągu prawie połowy roku, która pozostała do wydania Ubuntu 12.04 jeszcze wiele może się zmienić w otwartych sterownikach. Miejmy nadzieję, że wraz z najbliższym LTS, nikt już nie będzie narzekał na niską wydajność otwartych sterowników.

Wszystkie wyniki są do obejrzenia uploadowane na OpenBenchmarking.

Napiszcie w komentarzach jakie i czego benchmarki chcielibyście jeszcze zobaczyć.


Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

21 komentarzy do “Niewspierane Radeony – raport z placu boju

  • klaster

    ja powiem ze zamkniete tez sa niedopracowane, mam fusion i wersja 11.03 bodzjze dziala a wersja 11.11 juz rozwala na ubuntu calkowicie i mowie totaj tylko o zamknietych wiec jak na otwarte to i tak dobrze ze dzialaja. To wszstko mowi jak AMD dba ouzytkonikow i kto jest najwaznieszy. Niestety stery na Linux’a schodza na nizsza lade z niskim priorytetem poprawy.

  • Mesiu

    „Z tego powodu na potrzebę tych testów skompilowałem na tę platformę Mesa 7.12-dev prosto z repozytoriów git projektu. Warto też wspomnieć, że w procesie kompilacji odblokowałem opatentowane technologie S3TC i Floating Point Textures. W procesie kompilacji zastosowałem llvm 3.0, które zaledwie kilka dni temu zostało opublikowane przez Apple.”
    Podaj proszę linijkę do kompilacji, bo też jestem posiadaczem jednej z kart na tym chipie i po twoim artykule już mam na dysku Lubuntu 12.04 alpha, trzeba je tylko zainstalować 😀

    A swoją drogą, w momencie gdy nagle w 2009 roku AMD odcięło użytkowników starszych kart od nowych wydań sterowników, od razu moje nastawienie do tej firmy bardzo podupadło, dlatego proponuję innym zawsze nVidię lub w ostateczności intela, jeśli zależy wam na nieco dłuższym wsparciu, przynajmniej nie obudzicie się zbyt prędko z informacją o zakończeniu wsparcia dla waszego sprzętu.

  • makson Autor wpisu

    Mesiu kompilacja MESA nie jest sprawą prostą. Jeżeli chcesz mieć w miarę aktualne zrzuty z repozytoriów git Mesa z odblokowanymi opatentowanymi technologiami, to proponuję połączenie Ubuntu 11.10 i tego repozytorium:
    https://launchpad.net/~oibaf/+archive/graphics-drivers/

    Pamiętaj jednak 2 rzeczy:
    1) Nie polecam Mesa-git, ani Ubuntu 12.04 alpha do niczego innego niż testowanie (ze względu na brak stabilności).
    2) Poza Mesa na otwarty sterownik składa się też jądro i xorg.

  • Jusko

    Fajnie – artykuł akurat dla mnie 🙂 Wszystko byłoby OK, tylko nie umiem wytłumaczyć sobie pewnych rzeczy:

    – Mobility Radeon 7500. Spoko – karta stara, nie ma co się dziwić. Jak jednak wytłumaczyć sobie fakt, że pod Windows mogę grać na tym śmiało w Mafię, GTA III, BloodRayne, Unreal Tournament 2004, Unreal II czy Half-Life 2 – ba, DOOM 3 nawet odpaliłem 😀 No ale o płynności mowy nie było 😉 A pod Linuksem Unreal Tournament 99 musi mieć redukowaną grafikę i detale, przy czym zastanawiam się, czy cokolwiek na tym pójdzie. W przypadku lapka z tą kartą mogę pod Linuksem o graniu zapomnieć nawet w proste gierki 3D, bo nie ma sensu (a Wine odpada na samym starcie). Myślałem, że skoro karta stara, otwarte drivery istnieją długo no to wsparcie będzie fajne – niestety to myślenie się nie sprawdziło – może naciągane maksymalnie 40% z możliwości driverów pod Windows, ale bardziej 30. Nawet Unreal z 1998 przycina i wyświetla źle grafikę, gdzie pod Windows mogę grać w niego z podpakowanymi teksturami S3TC. Fakt – nikt już raczej nie wspiera driverów do karty, ale nawet najstarsze działają dla Windy 90% lepiej niż obecne otwarte pod Linuksem.

    – Radeon XPress 1250, integra w blaszaku. Pod Windows DOOM 3, Quake 4, Prey i pochodne doomowate, Half-Life 2, Need for Speed: Most Wanted, UT 2004. Na szybko tyle przykładów działających bez problemu. Pod Linuksem mogę zapomnieć o jakimkolwiek działaniu/znośnym działaniu któregokolwiek z tytułów. Za czasów Catalystów bez problemu przeszedłem pod Cedegą Most Wanted. Dziś mogę zapomnieć o graniu pod Linuksem na otwartym sterowniku – max 60% jakości z Windows. Niektóre rzeczy działają, niektóre nie, inne działają kiepsko. Pod Catalystami Cold War demo dla Linuksa śmigało super, na otwartych widzę tylko wszystko zamiast tekstur, w kolorach szarych lub brązowych. Jedyny plus to taki, że na Catalystach nie ruszał Postal 2, na otwartych tak, lecz gierka kiepska, więc pocieszenie marne.

    Dlatego też fajnie w testach widzieć, że niby jest szybciej, ale dlaczego działa to jak działa :-/ Mówię oczywiście o sterowniku dostarczanym jak jest, po prostu paczka spływająca do repo, a po aktualizacji do komputera.

  • Mesiu

    Dlatego zdarłem już na dysk obrazku Lubuntu 12.04 i planuję instalację jak tylko znajdę sobie chwilkę czasu 😀 O stabilność się nie obawiam, korzystałem już z debiana experimental i jakoś się dało. Proszę tylko o linikę do kompilacji mesa-dev, bo to ostatnia rzecz układanki jakiej mi brakuje 🙂

  • makson Autor wpisu

    Kompilacja MESA i wymiana sterowników, to nie jedna linijka polecenia, a materiał na spory poradnik. Jeżeli będzie zapotrzebowanie na taki poradnik, to mogę przygotować ewentualnie odpowiednie HOW TO na forum.
    Pozdrawiam

  • Jusko

    Kompilacja Mesa i how-to do tego byłoby przydatne. Fakt – sam robiłem to kiedyś aby być na bieżąco ze sterownikiem, kiedy RadeonHd istniał i był rozwijany. Niemniej trochę czasu minęło (2009 rok) i nie pamiętam już nawet jak zmusić system, aby korzystał z drivera skompilowanego w /home 😉 Tym bardziej można napisać poradnik, ponieważ okres rozwoju 'radeona’ nie jest najszybszy i bywają momenty, gdy od jednej aktualizacji sterownika do drugiej mija długi odstęp czasu (a tak na bieżąco z nowinkami). Przydatne też dla userów wersji LTS lub innych z długim wsparciem distr, gdzie paczki oraz driver są zamrożone, a więc stoją w miejscu z jakością.

  • Jusko

    Kurczaczek, zapomniałem zapytać – Makson, czy u Ciebie występuje również z problem z migającym ekranem na otwartym sterowniku, kiedy próbujesz coś działać z Wine? Ktoś już o tym w sieci pisał, jednak u mnie dopisanie klucza w rejestrze Wine nic nie dało, a poza tym – syzyfowa praca biorąc pod uwagę, gdy pracuje się z PlayOnLinux lub CrossOver, gdzie wszystko jest na osobnym prefiksie (a więc osobnym rejestrem?). Jest to naprawdę uciążliwe dla wzroku, kiedy instalując coś non stop ekran tak się zachowuje.

    Wygląda to tak: http://tinypic.com/player.php?v=sx10eq&s=5

  • makson Autor wpisu

    Mesiu i Justko
    W takim razie spróbuję odpowiedni poradnik napisać w weekend (chociaż nie obiecuję, że znajdę na to teraz czas).

    Justko
    Żadnego migania nie zauważyłem, ale też nigdy tej karty z wine nie kombinowałem.

    Nie liczyłbym też na gwałtowny wzrost wydajności R100/R200. Tutaj będziemy już mieli do czynienia tylko ze zmianami kosmetycznymi.

  • shevchenko1987

    Sam posiadam na laptopie kartę AMD Mobility Radeon HD 5650 i muszę powiedzieć, że wydajnościowo podczas zwykłej pracy otwarte przeganiają Catalysty (Nie mówię o grach, bo tam jest odwrotnie!). Problem leży użyciu energii i grzaniu się układu, który ciągle pracuje na najwyższym taktowaniu. Można zastosować komendy, które to taktowanie zmniejszają, ale spada wtedy wydajność, a i chłodzenie wtedy też pozostawia wiele do życzenia. Co do użycia energii to jest ono o 50% wyższe niż na własnościowych sterownikach producenta. Czekam na dzień kiedy otwarte sterowniki będą oferować nie tylko wydajność, ale i spokojną cichą pracę na moim laptopie.

  • elkanguro

    No cóż, na ubuntu 8.04 grałem bez problemów w IMO najlepszego shootera Chromium B.S.U. Niestety na 10.04 jest kiepsko. Brak płynności uniemożliwia precyzyjną grę i odbiera jakąkolwiek przyjemność z gry. Karta to Radeon X200M. Może na 12.04 będzie lepiej, ale poczekam do oficjalnego wydania.

  • Jusko

    Znalazłem dziwną zależność – dwa lata temu w tym samym okresie testowałem Irukandji i działało OK. Dzisiaj ledwo co gra się uruchamia, a sprzęt ten sam 🙂

  • BroKenik

    Dla mnie nieporozumieniem jest, żeby ATI/AMD nie mogło udostępnić specyfikacji bądź otworzyć sterownika skoro te karty nie są już produkowane od dawna.