poniedziałek, 18 czerwca 2012

Nvidia to zło. Poważnie.

Ostatnia wypowiedź Linusa spowodowała skrajne opinie. Typowe: "Z Nvidią nigdy nie było problemów!", "U mnie działa!". Fajnie, trzeba tylko zwrócić uwagę o co Linus został zapytany.

Pytanie dotyczyło tworu o nazwie Nvidia Optimus. Optimus ma umożliwiać dynamiczne włączanie akceleratora Nvidii, gdy integra Intela okazuje się niewystarczająca. Gdyby liczyć na Nvidię do ten super/hiper Geforce zamontowany w notebooku okazałby się bezużytecznym klockiem, po prostu nigdy by się nie uruchomił. Nvidia w ogóle nie ma zamiaru wspierać Optimusa pod Linuksem

Dopiero ludzie od projektu Bumblebee, wkładając sporo wysiłku, ożywili GPU Nvidii. Co zrobili "zieloni"? Kompletnie nic. Nie dali sterownika ani dokumentacji. Społeczność znów musiała poradzić sobie samodzielnie, wykorzystując m.in. VirtualGL (nie ma fizycznego "przełącznika" między GPU Intela i Nvidii).

Przy okazji: binarne sterowniki Nvidii jak i AMD to również problem. Pewnie teraz co niektórzy się oburzą "mój Geforce działa idealnie na binarnych, wszystkie gry latają jak należy". Fajnie, tylko sterowniki Nvidii i AMD stoją na rozwoju podsystemu grafiki Linuksa. Chcecie wprowadzenia Waylanda w miejsce opasłych X-ów? Zapomnijcie, te sterowniki go nie wspierają, one nawet nie wspierają KMS.

Przyszłością jest Gallium3D i otwarte sterowniki dla AMD (R300g, R600g, RadeonSI), Nvidii (nouveau) i Intela. Małe, przejrzyste, współdzielące kod dla wielu producentów, systemów i API graficznych. AMD i Intel przykładają się do rozwoju otwartych sterowników: zatrudniają programistów, upubliczniają dokumentację. Nvidia nie robi nic. Oczywiście o ile można zrozumieć niechęć do otwarcia sterowników[1], to nieupublicznienie dokumentacji może być tylko wyrazem złej woli.

 [1] Nie jest tajemnicą, że producenci GPU oszukują by wpasować się w benchmarki. Takie "optymalizacje" trudne do wykrycia przez ludzkie oko, mogłyby znaleźć się w upublicznionych sterownikach. Tak samo jak rozwiązanie "pożyczone" od konkurencji. Petycję o otwarcie sterowników Nvidii napisano już dobrą dekadę temu, bezskutecznie.

Do kogo zwracają się użytkownicy mając problemy z kartą graficzną?  Do twórców dystrybucji. A ci, w przypadku sterowników binarnych nie mogą wiele zrobić. Potem zaczyna się płacz, a "ten Linux to zły, bo grafika mi nie działa". Nawet jeśli opiekunowie dystrybucji nie mogą nic zrobić, a za błąd odpowiedzialna jest całkowicie Nvidia.

Linus wspomniał o Tegrze. Bardzo słusznie. Nvidia nie dość, że sprzedaje Tegrę jako "czarną skrzynkę", to jeszcze próbuje przenieść swoje paskudne zagrywki z rynku PC. Znaczek "The Way it's Meant to be Played" miał sugerować, że będzie ona najlepiej działała na GPU Nvidii. I tak często było, ale nie za sprawą optymalizacji a podłożenia nogi konkurencji.
Pod Androidem Nvidia promuje Tegra Zone. Ot, żeby na układach konkurencji nie dało się pograć. 

Nvidia miała swoje 5 minut po upadku 3dfx-a, pierwszego producenta wydajnych układów wspierającego Linuksa. I jedynego, na którym Unreal Tournament wyglądał tak jak powinien:)
Jakieś 10 lat temu problem Nvidii tak opisywała dokumentacja MPlayera:
Nie podoba nam się fakt, że nVidia dostarcza wyłącznie sterowniki binarne (dla XFree86), które często zawierają błędy. Dostaliśmy wiele zgłoszeń na mplayer-users o ich błędach, marnej jakości, braku stabilności oraz słabym wsparciu dla użytkownika i eksperta. Wiele z tych problemów/kwestii pojawia się ciągle. nVidia skontaktowała się z nami ostatnio i stwierdziła, że te błędy nie istnieją, a przyczyną braku stabilności są wadliwe układy AGP, nie otrzymali również żadnych zgłoszeń o błędach w sterowniku (takich jak purpurowa linia). Jeżeli masz problem ze swoją kartą nVidia, radzimy zainstalować najnowszą wersję sterowników nVidia i/lub kupno nowej płyty głównej lub poprosić nVidię o otwarte sterowniki. W każdym razie, jeżeli używasz sterowników binarnych nVidia i stajesz przed problemami z nimi związanymi, bądź świadom, że nie otrzymasz zbyt dużej pomocy z naszej strony, ponieważ nie mamy dużej możliwości jej udzielenia. 
Owszem, od tamtej pory sporo się zmieniło, sterowniki uległy poprawie, wprowadzono vdpau. Gracze cieszyli się wsparciem S3TC (wymaganym m.in. przez UT2k3) niedostępnym przez długi czas dla otwartych sterowników (np. ATI). Nie zmieniło się jedno: polityka Nvidii.

2 komentarze:

  1. Jeśli polityka się nie zmieniła, to i tak Nvidia jest lepszą firmą, niż AMD (dawne AIT), które miało tendencję do porzucania wsparcia w linuksowych sterownikach binarnych dla kart, które można było kupić w sprzętach (nowych!) raptem dwa lata wcześniej, a otwartych sterowników też nie wspiera.
    A jeśli komuś zależy na naprawdę wydajnym 3D to wg mojej wiedzy nie bardzo są alternatywy między Nvidią a AMD.

    OdpowiedzUsuń
    Odpowiedzi
    1. Jak nie wspiera otwartych? Zatrudnienie dodatkowych pracowników do pisania R300g i R600g i RadeonSI i udostępnianie dokumentacji to co to jest?

      Ciekawostka: PowerXpress (odpowiednik Optimusa od AMD) jest wpierany zarówno przez binarne jak i otwarte sterowniki.


      kwh(nie chce mi się logować)

      Usuń