r   e   k   l   a   m   a
r   e   k   l   a   m   a

Nie będzie sprzętowej akceleracji wideo w Chrome na Linuksa: winna „niska jakość sterowników”

Strona główna AktualnościOPROGRAMOWANIE

O niskiej jakości sterowników graficznych na Linuksa mówiło się już dawno temu, ale wydawać się mogło, że postępy w pracach tak nad otwartymi sterownikami intel, radeon i nouveau, jak i własnościowymi fglrx i nvidia doprowadziły do sytuacji, w której być może nie zawsze dorównywały one wydajnością własnościowym sterownikom dla Windows, ale uzyskały przynajmniej wystarczającą stabilność, by zapewnić sprzętową akcelerację grafiki dla wszelkiego oprogramowania. Najwyraźniej tak jednak nie jest, nawet dla rozkochanego w Linuksie Google'a. Programiści tej firmy, usprawiedliwiając się niską jakością sterowników graficznych i mnogością linuksowych dystrybucji, poinformowali że rezygnują z planów włączenia akceleracji wideo w Chrome/Chromium dla „Pingwina”.

W połowie 2012 roku Google wprowadziło do linuksowego Chrome oraz ChromeOS-a własny interfejs programowania dla sprzętowej akceleracji wideo o nazwie VAVDA, przeznaczony dla intelowych procesorów Sandy Bridge i nowszych. Pozwalał on na odciążenie CPU przy odtwarzaniu wideo zarówno we Flashu jak i w HTML5 i najwyraźniej był przerobioną nieco wersją interfejsu VA-API, opracowanego kilka lat wcześniej przez Intela z myślą o opensource'owych sterownikach tej firmy. Uruchomienie przeglądarki z nowym API wymagało podania przy starcie flagi –enable-vaapi, była to więc technologia niestabilna, eksperymentalna. Szybko pojawiły się zgłoszenia pierwszych usterek powodowanych przez VAVDA – i pomimo kolejnych łatek, sytuacja nie uległa jakiejś znaczącej poprawie.

Najwyraźniej niewiele się zmieniło. Wprowadzone niedawno zmiany w Chromium doprowadziły do przeniesienia kodu kontrolującego sprzętowo wspomagane wideo na czarną listę procesorów graficznych. Oznacza to, że domyślnie sprzętowej akceleracji wideo w linuksowym Chrome nie będzie, chyba że użytkownik „siłowo” wyłączy czarną listę, godząc się z potencjalną niestabilnością oprogramowania.

r   e   k   l   a   m   a

Inni deweloperzy Chromium chcą jednak posunąć się jeszcze dalej. Ami Fischman przypomniał, że wielu użytkowników wyłącza sobie czarne listy, bo chciałoby korzystać z zablokowanej funkcjonalności, a gdy przeglądarka zaczyna się sypać, po prostu zapominają, co zrobili wcześniej i tracą czas na bezowocne próby restabilizacji Chrome. Włączenie sprzętowej akceleracji wideo do czarnej listy GPU doprowadzić by miało do sytuacji, w której pojawi się w Sieci pełno blogowych wpisów o tym, jak to łatwo włączyć sprzętową akcelerację grafiki w Chrome na Linuksie – i ostateczny efekt dla użytkowników będzie gorszy (awarie przeglądarki) niż był wcześniej (stabilne, software'owe renderowanie wideo H.264).

Fischman przypomniał też, że w Chrome nie chodzi o to, by permanentnie zapewniać eksperymentalne, testowe funkcje, które nigdy nie osiągną dojrzałości. Dlatego lepiej byłoby cały ten mechanizm z Chrome usunąć. Poparł go inny deweloper, Jorge Lucangeli Obes, który określił zajmowanie się GPU na Linuksie koszmarem i uznał, że włączenie sprzętowej akceleracji może nastąpić dopiero po ustaleniu, jak zrobić to bez szkodzenia stabilności aplikacji.

Pojawiła się w trakcie dyskusji jeszcze jedna, kompromisowa propozycja: wprowadzenia białej listy oficjalnie wspieranych przez Chrome dekoderów wideo w GPU, ale i ją Fischman odrzucił, mimo że ułatwiłaby życie deweloperom ChromeOS-a. Zbyt wiele jest bowiem różnych sterowników, dystrybucji i sprzętu, by ogarnąć tę kwestię – i wśród deweloperów Chromium nie widać nadziei, by udało się to zmienić.

Stanowisko to jednak nie do końca przekonuje. Nie można zapomnieć, że Mozilla dobrze sobie poradziła z implementacją białych list – Firefox na opensource'owych sterownikach dla GPU Nvidii i AMD ładnie sobie radzi ze sprzętową akceleracją, tak dla grafiki 3D, jak i wideo (nawet we Flashu).

Problem tkwi więc chyba bardziej w rozwiązaniach Intela, niż w Linuksie – Nvidia dostarcza od lat znakomity interfejs VDPAU, który bezbłędnie sobie radzi ze sprzętową akceleracją wideo (o czym dobrze wiedzą wszyscy użytkownicy linuksowych komputerków HTPC z odtwarzaczem XBMC). Co więcej, implementacja VDPAU niebawem zadebiutuje w opensource'owych sterownikach radeon i nouveau. Czemu więc Google uparcie skupia się na własnościowym API Intela – czy tylko dlatego, że układy Chipzilli dominują na rynku tanich komputerów pod ChromeOS-a?

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.