Otwarte sterowniki grafiki nie dla Maxwelli. NVIDIA zapomniała o obietnicach składanych deweloperom
Ryzyko stworzenia złośliwego oprogramowania zapisującego się wBIOS-ie, czy proceder podrabiania kart graficznych, któreprzedstawiają słabszy procesor jako mocniejszą jednostkę, były dlaNvidii na tyle groźne, że firma zdecydowała się na wprowadzenie wrazz debiutem mikroarchitektury Maxwell cyfrowego podpisywania obrazówfirmware. Kij ma jednak dwa końce: utrudnienie życia fałszerzom itwórcom złośliwego oprogramowania to także spore utrudnienie życiatwórcom otwartych sterowników i odcięcie się od tych użytkownikówLinuksa, którzy nie chcą korzystać z własnościowego oprogramowania.
16.04.2015 16:13
Niskajakość własnościowych sterowników AMD na Linuksie oznacza, że ciwszyscy, którzy chcieliby zająć się nie tylko poważną pracą na tymsystemie, ale też pograć (np. w jedną z ponad tysiąca gier dostępnychna platformie Steam), wybierają przeważnie Nvidię. Nieprzypadkowo:wydajny i energooszczędny sprzęt po prostu spełnia oczekiwania,działając na Linuksie równie dobrze, a czasem i lepiej, niż naWindows. Słynne „Fuck you” wypowiedziane pod adresem„zielonych” przez Linusa Torvaldsa na pewno nie byłospowodowane niedostatkami w tej kwestii.
Tak jest jednak tylko wtedy, kiedy korzystamy ze sterownikówwłasnościowych. Dla tych, którzy nie chcą, albo z różnych przyczynnie mogą brudzić linuksowych jąder binarnymi blobami Nvidii pozostajekorzystać z domyślnych linuksowych sterowników nouveau, tworzonychprzez społeczność metodami odwrotnej inżynierii i udostępnianych nalicencji MIT. Ich wydajność jest niższa, zakres obsługiwanych funkcjiograniczony, ale dla wielu osób wystarcza. Od 2014 roku, kiedy toudało się opanować podwyższanie częstotliwości zegara GPU pouruchomieniu systemu, nouveau w zasadzie wystarcza do typowychzastosowań. Co najważniejsze, sterownik ten jest dostępny wpraktycznie każdej linuksowej dystrybucji już na starcie, więc odjakości jego działania zależą pierwsze wrażenie użytkowników sprzętuz czipem Nvidii.
Sam fakt, że deweloperom nouveau udało się osiągnąć aż tyle budziszacunek – w przeciwieństwie do AMD, NVIDIA nie oferujeniezależnym deweloperom praktycznie żadnej dokumentacji na tematswoich procesorów graficznych. Stworzyli oni cały zestaw narzędzipozwalających na śledzenie zachowania kart Nvidii pod kontroląwłasnościowych sterowników, zgłaszania przez użytkownikówkonfiguracji sprzętowych i ekstrakcji firmware z pamięci karty. W tensposób udało się okiełznać karty w mikroarchitekturze Fermi i Kepler,pozwalając na wykorzystanie możliwości grafiki 3D bez koniecznościdotykania binarnego blobu.
Z Maxwellem sytuacja okazała się znacznie trudniejsza. GPU wymagapodpisanego firmware. NVIDIA co prawda zapowiedziała, że dostarczydeweloperom nouveau odpowiednie podpisane obrazy – ale nazapowiedziach się skończyło. W ciągu ostatniego roku nie otrzymalioni niczego. Ben Skeggs, przygotowując łatki dla nouveau dla Linuksa4.1 poskarżyłsię na tę sytuację. Od Linuksa 3.19 otwarty sterownik obsługujeMaxwelle, ale jedynie na bardzo podstawowym poziomie –pozwalając jedynie ustawić rozdzielczość wyświetlania, bezjakiekolwiek akceleracji sprzętowej. W 4.1 raczej nie będzie lepiej,gdyż programiście brakuje mikrokodu zmiany kontekstu. Skeggsprzyznaje, że poświęcił wiele czasu na próby obejścia wymoguzastosowania podpisanego firmware, ale nie dał rady. Zastosowanezabezpieczenia daleko wykraczają poza to, co byłoby niezbędne doochrony hosta przed złośliwym oprogramowaniem. Nowy sprzęt Nvidii,jak podkreśla programista, jest po prostu bardzo nieprzyjazny dlaotwartego oprogramowania.
Najlepiej byłoby oczywiście polecić w tej sytuacji użytkownikomLinuksa głosowanie portfelem i wybieranie produktów konkurencji, alew tej konkretnej sytuacji byłoby to tylko mydlenie oczu. Na Linuksiedo bardziej poważnych i niepoważnych zastosowań NVIDIA po prostu niema dziś konkurencji – Catalysty pozostawiają wciąż wiele dożyczenia, a nowy ujednolicony model sterowników AMD będzie działałtylko na sprzęcie, którego jeszcze nie ma. Intel też nie jest tuodpowiedzią, większości popularnych zamkniętych gier nawet nieuruchomi się na otwartych sterownikach „niebieskich”, ate które ruszą, raczej wydajnością nie zachwycą (zwykle otwartylinuksowy sterownik Intela osiąga wyniki o 20-30% gorsze niżwłasnościowy sterownik dla Windows). Tu bardziej jest koniecznekolejne potrząśnięcie Nvidią, tak jak swego czasu zrobił to LinusTorvalds. Regularne dostarczanie podpisanego firmware, nawet niesamego mikrokodu, pozwoliłoby zapewnić wsparcie nouveau dla Maxwellina poziomie wystarczającym do takich typowych zastosowań. Do graniabowiem i tak się będzie wybierało oficjalne sterowniki własnościowe.