Nouveau – benchmark 4


W kolejnym artykule poświęconym otwartym sterownikom do grafik na Linuksa, chciałbym się przyjrzeć projektowi nouveau, którego celem jest obsługa układów firmy NVIDIA. Tak jak pozostałe sterowniki open-source nouvea opiera się o DRI, a jako implementacje OpenGL wykorzystuje Gallium3D. Tworzony jest wyłącznie z wykorzystaniem inżynierii odwrotnej, bez jakiejkolwiek pomocy ze strony NVIDIA. W tym artykule skupimy się głównie na wydajności owych sterowników porównując je do zamkniętych odpowiedników wydawanych przez producenta. Jeżeli jesteś zainteresowany wydajnością niewspieranych kart ATI na otwartych sterownikach zapoznaj się z tym wpisem. Do testów wykorzystałem grafikę GIGABYTE GeForce 9600GT z 512MB RAM-u na pokładzie. Zgodnie ze specyfikacją producenta obsługuje ona OpenGL 3.3 oraz CUDA.

Pozostałe elementy komputera 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.6 dla następujących konfiguracji systemów:

Ubuntu 12.04 Alpha 1 + nouveau: Jest to wydanie Ubuntu LTS zaplanowane na kwiecień 2012 roku. Jednak już teraz możemy testować wersję Alpha. Ubuntu zostało zaktualizowane na dzień 22.12.2011. Z tego też dnia zostały pobrane i skompilowane z repozytoriów git najważniejsze elementy otwartego sterownika nouveau, czyli Mesa3D i libdrm. W procesie kompilacji zastosowałem llvm 3.0 i odblokowałem opatentowane technologie S3TC i Floating Point Textures.

 

Ubuntu 12.04 Alpha 1 + NVIDIA Driver: Ten sam przypadek co poprzednio, ale z zainstalowanymi zamkniętymi sterownikami NVIDIA 290.10.

 

 

 

 

Do przetestowania karty graficznej zastosowałem benchmarki jak poprzednio: Nexuiz, OpenArena, LightsMark.

Dodatkowo wykorzystałem benchmarki:

Vdrift – jako projekt gry zupełnie niezależny od silnika idTech.

Unigine Sanctuary – najpotężniejszy obecnie silnik grafiki 3D na Linuksa.

Wyniki:

Już na samym początku zostałem pozytywnie zaskoczony. Otwarte sterowniki w grze Nexuiz osiągają 56% wydajności sterowników własnościowych. W obu przypadkach przy tej konfiguracji sprzętowej gra jest całkowicie grywalna.

Kolejna gra oparta o idTech działa na otwartych sterownikach z 48% wydajności binarek od NVIDIA. Liczba klatek na sekundę jednak w obu przypadkach zapewnia aż nadto płynną rozgrywkę.

Podobnie jak to było w przypadku sterownika r300g nie udało się ukończyć Lightsmarka na nouveau. Benchmark zawsze przerywał się błędem sterownika. Jest to problem, który zapewne zostanie wkrótce wyeliminowany z Gallium3D, gdyż stabilne wersje Mesa zazwyczaj bez problemu dokańczają ten test. Zanim benchmark się przerywał otwarte sterowniki uzyskiwały średnio 70 FPS-ów, co stanowi 23% wyniku sterowników własnościowych.

Sytuacja  w przypadku gry Vdrift jest zaskakująca i maluje się zgoła odmiennie od poprzednich rezultatów. Tutaj nouveau jest górą i pozwala na generowanie grafiki ponad 3 razy szybciej niż własnościowe sterowniki NVIDIA. Zdrowy rozsądek podpowiada jednak, że jest to wina jakiegoś bugu lub wąskiego gardła w zamkniętych sterownikach i zostanie to wkrótce wyeliminowane.

Unigine jest najbardziej zaawansowanym silnikiem graficznym wydanym natywnie na Linuksa i potrafi zawstydzić nawet najpotężniejsze karty graficzne. W najłagodniejszym benchmarku opartym o ten silnik grafika GeForce 9600GT na zamkniętych sterownikach radzi sobie całkiem nieźle uzyskując 40,54 FPS. Natomiast ku mojemu zaskoczeniu nouveau obsługuje już wystarczająco dużo rozszerzeń OpenGL 3.0, żeby uruchomić owy silnik. Nic więcej pozytywnego nie można jednak w tym przypadku powiedzieć o tym sterowniku, gdyż osiąga on ledwie 1 klatkę na sekundę w przeprowadzonym teście i na pewno przyda mu się sporo optymalizacji.

Podsumowując: uważam, że otwarte sterowniki do kart graficznych NVIDIA spisują się zaskakująco dobrze. Potrafią uruchomić nawet najbardziej wymagające testy, a sprawdzane gry w danej konfiguracji sprzętowej działają płynnie i bez zarzutów. Szczególne wyrazy uznania należą się programistom, gdyż tworzą te sterowniki zupełnie bez pomocy firmy NVIDIA.

Trzeba jednak zaznaczyć, że otwarte sterowniki nie obsługują jeszcze nawet pełnej specyfikacji OpenGL 3.0, brak im prawidłowego zarządzania energią, nie obsługują jeszcze ani OpenCL, ani CUDA, ani akceleracji video z zastosowaniem VDPAU. Pomimo tego sterownik wyraźnie posuwa się do przodu, a programistom życzymy na Święta dalszych sukcesów w nadganianiu zaległości wobec zamkniętego odpowiednika.

Wszystkie wyniki zostały wrzucone na OpenBenchmarking.org. Bądźcie gotowi na rezultaty benchmarków kolejnych kart graficznych pod nadchodzące Ubuntu 12.04.


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.

4 komentarzy do “Nouveau – benchmark

  • Sinnel

    Mam pytanie nie do końca związane z tematem – ile mniej więcej wynosi okres wsparcia zamkniętego sterownika NVidii dla kart graficznych tej firmy ?

  • glewik

    Praktycznie gołym okiem widać rozwój otwartych sterowników. Jeszcze kilka miesięcy temu stwarzały czasami problemy prze samym wyświetlaniu pulpitu i jego efektów (KDE). Dziś są stabilne jak skała brak artefaktów i innych oznak niepożądanego działania.

  • Olbi

    Jedynym minusem Nouveau jest słaba obsługa zmiany taktowania kart graficznych w nowszych wersjach. Otwarte sterowniki dla Radeonów radzą sobie z tym całkiem nieźle, ostatnio sprawdzałem na moim HD 5750 i pięknie przechodził do trzech trybów pracy 🙂

  • mamu

    w końcu zmieniłem z powrotem z ATI (HD3850) na nvidia(GF9600GT) i zauważam różnicę … przede wszystkim w działaniu i wyglądzie(wrażenie większej wyrazistości) przy zamianie było trochę zabawy ale wpis w Xorg.conf przy driver „nvidia” dał radę … aczkolwiek wcześniej usunąłem nvidia-current i nvidia-settings zgodnie z zaleceniami oraz sterowniki ati