Předem bych chtěl upozornit, že návod jsem vytvářel pod Ubuntu 9.10 KK, takže nevím jestli postup bude stejný u nových či starších distribucí. Takže než začneme zkontrolujeme jestli je naše karta podporovaná touto technologii, to uděláme na Wikipedii pro VDPAU. Pokud tedy vlastníme jeden z čipů ze seznamu, tak stačí nahrát poslední verzi ovladače grafické karty ze stránek NVIDIA
Potřebný software
v terminálu spustíme příkazy
sudo apt-get update
sudo apt-get build-dep ffmpeg vlc
sudo apt-get install build-essential libtool automake git-core xcb xlibs-dev libdrm-dev
Získáme zdrojové kódy
Poté co máme systém připravený, získáme zbytek zdrojáků které jsou potřeba a to sekvencí
mkdir ~/vdpau_proj
cd ~/vdpau_proj
wget http://www.splitted-desktop.com/~gbeauchesne/libva/libva-latest.tar.gz
tar xvf libva-latest.tar.gz
wget http://www.splitted-desktop.com/~gbeauchesne/vdpau-video/vdpau-video-latest.tar.gz
tar xvf vdpau-video-latest.tar.gz
git clone git://git.ffmpeg.org/ffmpeg/
cd ffmpeg
git clone git://git.ffmpeg.org/libswscale/
cd ..
git clone git://git.videolan.org/vlc.git
Kompilace
Máme-li všechny potřebné zdrojáky a knihovny, mužeme zkompilovat jednotlivé projekty a to sekvencí. Pokud máme vícejádrový processor můžeme si kompilaci urychlit změnou příkazu „make
“ na „make -j pocetjader+1
„, což u dvoujádra znamená „make -j 3
“
Pro zkompilování libva (v adresáři libva)
for file in debian/patches/*.patch;do patch -p1 < $file;done
autoreconf -f -i
./configure
make
sudo make install
Pro zkompilování VDPAU backendu
./configure
make
sudo make instal
l
Malá přestávka od kompilací, teď spustíme příkaz
vainfo
Pokud výstup vypadá zhruba takto, tak je to dobré. Pokud nikoliv, tak pečlivě projdeme kompilační log a podíváme se jestli nebyly v průběhu překladu nějaké chyby a kompilační postup opakujeme.
libva: libva version 0.31.0-sds3
Xlib: extension "XFree86-DRI" missing on display ":0.0".
libva: va_getDriverName() returns 0
libva: Trying to open /home/thresh/sandbox/lib/va/nvidia_drv_video.so
libva: va_openDriver() returns 0
vainfo: VA API version: 0.31
vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA API - 0.5.2
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264High : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
Pro kompilaci ffmpeg následující
sudo cp libavcodec/vaapi.h /usr/local/include/libavcodec/vaapi.h
./configure --enable-vdpau --enable-shared --disable-static --enable-debug
make
sudo make install
A na konec kompilace VLC playeru
mkdir build
cd build
../configure --enable-libva
make
sudo make install
Spuštění
Po spuštění nějakého 720p či 1080p ve VLC playeru by mělo jít vidět značné odlehčení procesoru.
nedarilo se mi zkompilovat knihovnu VDAPU, pomohlo az nainstalovani balicku libvdpau-dev
snazim se na ubuntu karmic koala x64
zajimave, je to uz asi 2 mesice co jsem to rozdychal a bohuzel muj pocitac obsahuje vsecky knihovny, takze kdyz jsem sel ted podle tohoto clanku tak vse probehlo ok.. ja provedl instalaci taky na karmic x64
Já VDPAU zprovoznil jednodušeji, stačilo nainstalovat příslušné balíčky z tohoto PPA: https://launchpad.net/~nvidia-vdpau/+archive/ppa