Δημοσιεύτηκε: 13 Μάιος 2014, 14:17
από Learner
Το VDPAU(Video Decode and Presentation API for Unix) είναι μια ΕΛ/ΛΑΚ βιβλιοθήκη(libvdpau) που σχεδιάστηκε αρχικά από την Nvidia για τις κάρτες της σειράς GeForce 8 και νεότερες. Η συγκεκριμένη βιβλιοθήκη επιτρέπει το λεγόμενο Hardware Acceleration μέσω της GPU(Graphics Processing Unit).

Το θέμα ανοίγεται στην ενότητα Ubuntu+1 διότι αφορά το πειραματικό πακέτο, ονόματι libvdpau-va-gl ή libvdpau-va-gl1



Για το VDPAU σε σχέση με τον nouveau, δείτε εδώ.



Το hardware που μπορεί να δουλέψει σωστά με την συγκεκριμένη βιβλιοθήκη, σύμφωνα με την σελίδα της Intel, είναι:
  • Intel® GMA X4500HD.
  • Intel® HD Graphics (in Intel® 2010 Core™ i7/i5/i3 processor family).
  • Intel® HD Graphics 2000/3000 (in 2nd Generation Intel® Core™ i7/i5/i3 Processor family).
  • Intel® HD Graphics 2500/4000 (in 3nd Generation Intel® Core™ i7/i5/i3 Processor family).

Το πακέτο αυτό στοχεύει σε κάρτες γραφικών (ή πιο συγκεκριμένα chipstets) που δεν έχουν κάποιο δικό τους τέτοιο API. Αν δούμε στην διαδρομή(για 64bit συστήματα)
Κώδικας: Επιλογή όλων
ls /usr/lib/x86_64-linux-gnu/vdpau/

θα δούμε βιβλιοθήκες για nouveau (ή και για radeon), όχι όμως για Intel.

Το libvdpau-va-gl1 είναι ένας οδηγός VDPAU με το backend OpenGL/VAAPI.
Όπως γράφει και στο descritpion του πακέτου
Many applications can use VDPAU to accelerate portions of the video
decoding process and video post-processing to the GPU video
hardware. Unfortunately, there is no such library for many graphic
chipsets. Some applications also support VA-API but many of them,
including Adobe Flash Player, don't.
This library proposes a generic VDPAU library. It uses OpenGL under
the hood to accelerate drawing and scaling and VA-API (if available)
to accelerate video decoding.


Ενεργοποίηση σε κάρτες γραφικών Intel
Εγκαθιστούμε τα παρακάτω πακέτα
Κώδικας: Επιλογή όλων
sudo apt-get install mesa-vdpau-drivers vdpauinfo vdpau-va-driver libvdpau-va-gl1 dpkg-dev libva-intel-vaapi-driver


Αφού εγκατασταθούν σωστά, πλέον έχουμε διαθέσιμες τις απαραίτητες βιβλιοθήκες, καθώς και ένα configuration αρχείο μέσα στην διαδρομή /etc/X11/Xsession.d/ ονόματι 20vdpau-va-gl. Αν διαβάσετε το αρχείο θα δείτε πως όλα είναι comment (με άλλα λόγια το αρχείο δεν είναι προς ανάγνωση από τον Χ - δεν φορτώνεται).

Όπως προαναφέραμε το πακέτο είναι ακόμη σε πειραματική μορφή. Τώρα όμως που έχουμε τα απαραίτητα εγκατεστημένα, μπορούμε να το δοκιμάσουμε.
Ανοίγουμε ένα τερματικό και δίνουμε
Κώδικας: Επιλογή όλων
export VDPAU_DRIVER=va_gl
firefox

με αυτόν τον τρόπο θα ανοίξουμε την εφαρμογή firefox με hardware acceleration και καλό θα είναι να πάμε π.χ. στο youtube να προσπαθήσουμε να δούμε ένα βίντεο. Εκεί θα παρατηρήσουμε στο τερματικό τα παρακάτω μηνύματα
Μορφοποιημένος Κώδικας: Επιλογή όλων
libva info: VA-API version 0.35.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_35
libva info: va_openDriver() returns 0

αυτό που μας ενδιαφέρει εδώ, είναι το: va_openDriver() returns 0 . Αν γυρίσει άλλη τιμή, π.χ -1 (va_openDriver() returns -1) , τότε κάτι δεν πήγε καλά και δεν φορτώθηκε η βιβλιοθήκη που έπρεπε ή δεν βρέθηκε...κλπ.

Το ίδιο πείραμα μπορείτε να κάνετε και με άλλες εφαρμογές που σχετίζονται με αναπαραγωγή βίντεο.. π.χ
Κώδικας: Επιλογή όλων
export VDPAU_DRIVER=va_gl
vlc


Αν είμαστε ευχαριστημένοι από την απόδοση, τότε μπορούμε να το ενεργοποιήσουμε μόνιμα κάνοντας μια επεξεργασία στο αρχείο
Κώδικας: Επιλογή όλων
gksudo gedit /etc/X11/Xsession.d/20vdpau-va-gl

Θα πρέπει να κάνουμε uncomment δυο γραμμές εκεί μέσα και το αρχείο να γίνει όπως παρακάτω
Μορφοποιημένος Κώδικας: Επιλογή όλων
# To enable the use of libvdpau-va-gl as the default VDPAU driver,
# uncommont the following lines. See
# `/usr/share/doc/libvdpau-va-gl1/README.Debian` for more details.

[ ! -f /usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/vdpau/libvdpau_va_gl.so.1 ] || \
export VDPAU_DRIVER=va_gl

και φυσικά να το αποθηκεύσουμε.

Μπορούμε να διαβάσουμε τα περί πειραματικού πακέτου στο /usr/share/doc/libvdpau-va-gl1/README.Debian με έναν editor.