Instalacja VLC z VAAPI na Ubuntu

VAAPI (ang. Video Acceleration API) to otwarta biblioteka oprogramowania (libVA) i specyfikacja API. Umożliwia i zapewnia dostęp do kart graficznych (GPU) celem przyspieszenia przetwarzania wideo. VAAPI jest przeznaczone dla systemu X Window na Uniksopodobnych systemach operacyjnych (Linux, FreeBSD i Solaris). Przyspieszone przetwarzanie obejmuje zarówno dekodowanie wideo, kodowanie wideo, jak i rendering. Specyfikacja została zaprojektowana przez firmę Intel dla jej kart graficznych z serii GMA (Graphics Media Accelerator). Jednak VAAPI nie ogranicza się do kart graficznych Intela lub specjalnego sprzętu, inni producenci sprzętu mogą również swobodnie korzystać z VAAPI dla potrzeb sprzętowej akceleracji dekodowania wideo, co uczyniła firma ATI / AMD.

Jak wiadomo pod Linuksem najlepiej pracują karty nVidia, no ale skoro już kupiliśmy tą nieszczęsną kartę ATI / AMD wyciśnijmy z niej co się da. W tym wpisie przedstawię jak zmusić naszą kartę ATI / AMD do pomocy przy dekodowaniu materiałów video HD (ściślej mówiąc rozdzielczość nie ma tu właściwie znaczenia, ważne jak jakim kodekiem zakodowany jest materiał video – a chodzi nam mianowicie o H.264 / AVC).

Niniejszy wpis opisuje instalację VLC ze sprzętowym wsparciem dekodowania wideo VAAPI na Ubuntu 10.10 Maverick Meerkat z kartami ATI / AMD pracującymi na własnościowych sterownikach Catalyst / fglrx. W przypadku Ubuntu 11.04 Natty Narwhal występuje błąd, który jak do tej pory nie udało mi się rozwiązać, tak więc akceleracja VAAPI nie zdziała. Natomiast w przypadku Ubuntu 10.04 Lucid Lynx nie testowałem tego przepisu, jeśli akceleracja VAAPI nie zadziała, to polecam sprawdzony przeze mnie sposób Łukasza Klicha.

Instalacja sterowników Catalyst / fglrx

Pierwszą rzeczą jaką musimy zrobić to instalacja zamkniętych sterowników fglrx, zwanych oficjalnie Catalyst. Możemy to zrobić przy pomocy jednej z dwóch polecanych przeze mnie metod:

Instalacja z repozytoriów PPA

W tej metodzie skorzystamy z repozytoriów PPA X Updates. Zatem w konsoli / terminalu wykonujemy:

Podstawową zaletą tego rozwiązania jest to, że nie musimy martwić się o aktualizację, ale czasem bywa tak, że sterowniki w owym repozytorium uaktualniane są z opóźnieniem. W takim wypadku możemy skorzystać z alternatywnej metody.

Instalacja skryptem Kano

Skrypt ten oraz wiele innych niezwykle pożytecznych narzędzi dostępny jest tu. W konsoli / terminalu wykonujemy:

Po czym przechodzimy na terminal tekstowy i wykonujemy:

Ręczna instalacja sterowników

Ostatniej metody nie polecam, ale z kronikarskiego obowiązku odnotowują ją tu. Zatem wchodzimy na stronę ATI Catalyst™ Proprietary Display Driver – Linux x86 & Linux x86_64 i ściągamy najnowsza wersję, aktualnie jest to 11.2 Ewentualnie korzystamy z konsoli / terminala:

Niezależnie od wybranej metody instalacji sterowników, restartujemy system. Dla pewności możemy sprawdzić poprawność instalacji sterowników, wydając polecenie fglrxinfo.

Instalacja odtwarzacza VLC

Pora teraz na instalację odtwarzacza VLC. Tu również skorzystamy z repozytorium PPA obZen Video

W preferencjach VLC włączamy opcję Wykorzystaj przyspieszenie GPU (eksperymentalne).

VLC VAAPI

VLC VAAPI

Instalacja biblioteki xvba-video zapewniającej obsługę VAAPI

VLC wspiera sprzętowe wspomaganie odtwarzania video poprzez VAAPI, podczas gdy metoda akceleracji video zapewniona przez sterowniki Catalyst / fglrx to X-Video Bitstream Acceleration. Aby VLC mógł z niej skorzystać potrzebujemy jeszcze jedną bibliotekę xvba-video do ściągnięcia ze strony xvba-video – XvBA backend for VA API.

Uruchamiamy odtwarzacz w terminalu / konsoli poleceniem vlc. Otwieramy jakiś film zakodowany w H.264 / AVC. Jeśli nie mamy nic na podorędziu polecam ściągnąć wolny film stworzony w Blenderze – Sintel. I tu czeka nas niemiła niespodzianka:

VLC nie znajduje naszej świeżo zainstalowanej biblioteki. No cóż paczka od Splitted-Desktop Systems zawiera małą niedoróbkę, którą poprawimy wykonując:

Ponownie uruchamiamy VLC i… może się zdarzyć druga niemiła niespodzianka. Przy próbie odtworzenia filmu VLC zakończy działanie, wcześniej wypluwając następujący komunikat:

W chwili pisania tego artykułu najnowsza wersja xvba-video to 0.7.8 i właśnie ona powodowała u mnie naruszenie ochrony pamięci zainstalowanie teoretycznie niestabilnej wersji 0.7.8.pre2 rozwiązywało ten problem. Jeśli u Ciebie zdarzy się coś podobnego, wypróbuj po prostu starsze wersji biblioteki.

Teraz wszystko powinno być już dobrze, odpalamy vlc i wypatrujemy następującego komunikatu:

Jeśli go ujrzeliśmy, znaczy się że VAAPI działa, a procek ma trochę więcej czasu na inne zajęcia.

Brak możliwości komentowania.