Uwielbiam nazywać pomieszczenia wyposażone w sprzęt radzący sobie płynnie z wideo w rozdzielczości Full HD salami kinowymi. To też teraz czynię z racji posiadania nowej karty graficznej (szóstej chyba w mojej historii PC-ta midi-tower) :> . Po tym, jak oddałem na gwarancji GeForce'a 7600 GS, zamówiłem kolejną kartę – ATI Radeona HD 4650, wyposażonego w 512MB pamięci, na złączu AGP.
Wydaje się to wszystko takie proste i niesamowite. Błąd. Wprawdzie linuksowe sterowniki Catalyst dostarczają API XvBA, jednak brak jest biblioteki do obsługi tegoż. Dlatego też należy skorzystać z libVA od FreeDesktop, a to cudo potrzebuje zaplecza xvba-video. Na tym nie koniec. Jeszcze odtwarzacz multimedialny, z którego będziemy korzystać, musi libVA obsługiwać.
Łatki, zależności – to wszystko dalej nie wydaje Ci się straszne? Spróbuj samodzielnie dojść, skąd co pobrać, które łatki zastosować itp. Życzę powodzenia. Mnie to zajęło pół dnia (włącznie z oczekiwaniem na pobranie się sterowników, zależności, na koniec kompilacji, z obiadem, kolacją i wieczornym prysznicem). Skoro jednak mnie się udało, i Tobie się może udać. Po to w końcu piszę ten miniprzewodnik
.
libVA
Cudowną bibliotekę, integrującą różne zaplecza (XvBA od AMD, VDPAU od nVidii) musimy pobrać nie z repozytorium (np. repozytorium VLC dla openSUSE 11.2 zawiera libVA z oficjalnego źródła FreeDesktop, w wersji 1.0.1), a przynajmniej nie z żadnego przeznaczonego dla naszego systemu (chyba, że jest się użytkownikiem Ubuntu). Wewnątrz tego katalogu znajdziemy pakiety DEB libva1 i libva-dev. Pierwszy z nich zawiera samą skompilowaną bibliotekę, a drugi pliki deweloperskie wymagane do kompilacji czegoś, co libVA wymaga (u nas będzie to MPlayer).
Pakiety można łatwo rozpakować za pomocą Arka albo File-Rollera. Wewnątrz data.tar.gz znajdziemy tradycyjne drzewo katalogów. Najprostsze, co możemy zrobić, to poprzenosić pliki do odpowiednich katalogów w uruchomionym systemie. Można spróbować też alienem skonwertować DEB do RPM. Nie wiem, czy działa, nie próbowałem. B. możliwe, że coś takiego się uda.
Usiłowałem też znaleźć rozpiskę pakietu ze wszystkimi aplikowanymi łatkami, ale to chyba działa inaczej, więc nie będę się kusił o własny pakiet. Może później, jak się będę b. nudził.
xvba-video
Skoro mamy bibliotekę, przyda nam się jeszcze zaplecze. Z odpowiedniego katalogu na serwerze producenta wybieramy najnowszą wersję dla naszej architektury procesora, a po pobraniu przenosimy bibliotekę i niezbędne dowiązanie do odpowiedniego katalogu. Nudne, prawda
?
MPlayer
Mając wszystko, co niezbędne, możemy przystąpić do kompilacji odtwarzacza. W tym celu pobieramy pełną paczkę (źródło + łatki) z innego katalogu na serwerze tego samego producenta. Będziemy jeszcze potrzebować pakietów deweloperskich. W openSUSE sprawę załatwi jedna komenda: zypper si -d MPlayer (musimy mieć zainstalowane repozytorium Packman, w którym oryginalny MPlayer występuje). Paczkę rozpakowujemy i uruchamiamy załączony skrypt, który zajmie się wszystkim za nas. Wszystko powinno wykonać się bez błędów. Ewentualne braki bibliotek trzeba uzupełnić dowiązaniami, ale to chyba nie jest wielki problem
.
Nie zamieszczam zrzutów ekranu z prostej przyczyny – tryb tekstowy nie jest na nich atrakcyjny, a pełnoekranowe wideo wysokiej rozdzielczości… Zaraz, zakończenie mi się posypało. Przecież jeżeli ktoś dopiero zakupił nowy monitor, kartę, czy telewizor, mógł jeszcze nie widzieć wideo 1920×1080 w pełnej krasie… W każdym razie życzę udanych seansów, zagryzanych prażoną kukurydzą
.
PS Jak tak spojrzeć, wydawało mi się to bardziej straszne, gdy zabierałem się za pisanie…
Aktualizacja. Wygląda na to, że libVA w wersji 0.31.0-sds6 kompatybilna jest tylko z xvba-video w wersji 0.6.11 i jest to sprawdzona kombinacja. xvba 0.6.12 czy 0.7.1 wywołują błędy narzędzia vainfo.

A użytkownicy Totema poczekają:
https://bugzilla.gnome.org/show_bug.cgi?id=561225
Fakt. Sven Arvidsson jednak słusznie wytknął deweloperom, że nawet biblioteka GStreamer, którą wykorzystuje Totem, będzie lada moment miała obsługę uniwersalnego VA-API w głównym drzewie (bo łatkami się podzielą, poprawią i włączą).
Deweloperzy są jak widać opieszali pod względem implementacji elementarnych funkcji, jakie użytkownikom z pewnością by się przydały. Co jak co, ale wykorzystywanie sprzętowych możliwości nie powinno czekać w kolejce za… Chwila, za czym? Od dawna w Totemie nie było większych zmian. Ba, nawet mniejszych. Wytykają mu ponadto, że jako składowa GNOME, jest niezgodny z HIG :> .
PS Deweloper nie wie nawet jak nazywa się to, czego nie chce zaimplementować (XvBA vs. XBMC).
Orientujesz się może jak to wygląd w przypadku VLC Media Player?
VLC chyba już „upstream” ma obsługę libVA (były o tym artykuły zdaje się) i w ten sposób używa XvBA lub VDPAU. W ustawieniach wiem tyle, że trzeba zaznaczyć sprzętowe przyspieszenie.
Osobiście nie uruchamiałem VLC, bo ciągnie za sobą libVA od FreeDesktop, a ta nie śmiga z xvba-video.