web-dev-qa-db-fra.com

Comment activer la prise en charge de l'accélération vidéo matérielle VDPAU pour les cartes autres que Nvidia?

J'ai lu sur VDPAU et sur la manière dont il permet à mplayer de bénéficier d'une accélération matérielle. Mais j'ai aussi lu que ce n'est que pour les cartes Nvidia

Comment puis-je l'activer sur une carte non Nvidia (le mien c'est un AMD mais j'aimerais l'activer aussi sur un netbook Intel)? et cela fonctionnera-t-il pour d'autres lecteurs vidéo?

8
Uri Herrera

VDPAU est une interface de programmation (API) permettant le déchargement du rendu graphique sur le chipset graphique plutôt que son traitement par le processeur lui-même.

Il est opensource - produit initialement par Nvidia et pris en charge sur la plupart des cartes graphiques actuelles.

Wikipedia a un excellent article à ce sujet:

S3 Graphics a ajouté la prise en charge de VDPAU aux pilotes Linux de ses Chrome 400 cartes vidéo depuis la version 14.02.17 de son pilote de périphérique pour Linux. Il prend en charge le S3 Chrome 430 GT, S3 _.Chrome 440 GTX, S3 Chrome 530 GT et le S3 Chrome 540 GTX.

Intel et ATI n'offrent actuellement aucun support pour VDPAU. Nvidia espère que ces concepteurs de GPU supporteront la bibliothèque open source VDPAU et fourniront aux pilotes une accélération VDPAU en mentionnant des exemples de noms de pilotes spécifiques au matériel pour Intel et ATI: libvdpau_intel.so et libvdpau_ATI.so.

Intel prend actuellement en charge sa propre API rivale appelée VA-API .

ATI/Radeon concentre ses efforts sur ses pilotes Catalyst - une fois encore, ils ont leur propre API appelée XVBA, mais ils ne sont pris en charge que par leurs pilotes Catalyst.

Au cours des derniers mois, Phoronix a annoncé le développement d’une autre API appelée Gallium 3D State Tracker - c’est destinée à unifier les principaux chipsets - Intel, ATI/Radeon et NVidia. En termes simples (pour autant que je sache) - il tente de superposer une API ontop de VA-API, VDPAU, etc. Ainsi, vous programmez vers l'API Gallium et le traduira pour vous par les API rivales.

Une grande partie de ceci est bleeding Edge code - instable et vous aurez souvent à compiler du code, etc. pour suivre les derniers développements. Le PPA de X-Edgers est une bonne source des derniers développements - un article ici décrit l’installation du pilote de radeon opensource et l’obligation d’utiliser Gallium3D.

Retour à la rubrique ... comme vous pouvez le constater, les graphiques sous Linux sont actuellement fracturés (certains disent que c'est un gâchis!) - par conséquent, la meilleure solution pour le moment consiste à utiliser des lecteurs multimédias qui tentent d'implémenter les API rivales telles que MPlayer.


UPDATE

Ce qui précède était le passé ... 2011 En 2015, VDPAU est supporté par intel et AMD ainsi que archWiki page stats

Vous devriez installer le paquet suivant pour intel

Sudo apt-get install libvdpau-va-gl1 i965-va-driver

mais regarde il y a un bogue ouvert sur Ubuntu 14.04 et 14.1 aussi, donc la lib n'est pas trouvée ... donc pour ex. vlc à travers l'erreur suivante:

Failed to open VDPAU backend i965_drv_video.so: cannot open shared object file: No such file or directory

Il y a une solution de contournement dans la page de bogue, je ne l'ai pas copié ici car même si je l'applique, la vidéo ne se lit pas en vlc (la librairie est cassée)

6
fossfreedom

j'ai longtemps souffert de mauvaises performances de Flash Player sur mon ordinateur portable basé sur Intel. Au fil du temps, j'ai décidé de mettre tout en œuvre pour créer une bibliothèque de wrapper qui implémente l'interface VDPAU au moyen d'OpenGL. Sur les systèmes avec VA-API disponible (comme celui dont je dispose), il accélère également le décodage vidéo. La moitié ou le tiers de la fonctionnalité complète de VDPAU est implémenté, mais cela suffit pour rendre les deux lecteurs flash et ) mplayer fonctionne.

Vous pouvez trouver le code sur github: https://github.com/i-rinat/libvdpau-va-gl

5
Rinat Ibragimov