Как включить поддержку аппаратного ускорения видео VDPAU для карт не Nvidia?

8

Я читал о VDPAU и о том, как он позволяет mplayer иметь аппаратное ускорение. Но я также читал, что это только для карт Nvidia

Как я могу включить его на карте, отличной от Nvidia (у меня AMD, но я бы хотел включить ее и в нетбуке Intel)? и будет ли это работать для других видеоплееров?

Ури Эррера
источник
VDPAU afaik - технология только для Nvidia
Амит КК,
Есть ли у AMD что-то подобное для своих карт?
Ури Эррера
У Ати есть XVBA, но я никогда не слышал об этом с 2008 года
Амит КК

Ответы:

6

VDPAU - это программный интерфейс (API), позволяющий разгружать рендеринг графики в графический набор микросхем, а не обрабатывать самим процессором.

Это открытый исходный код, изначально производимый самими Nvidia и поддерживаемый большинством их текущих видеокарт.

В Википедии есть отличная статья на эту тему:

S3 Graphics добавила поддержку VDPAU для драйверов Linux своих видеокарт Chrome 400 с версии 14.02.17 драйвера устройства для Linux, она поддерживает S3 Chrome 430 GT, S3 Chrome 440 GTX, S3 Chrome 530 GT и S3 Chrome 540 Аппаратное обеспечение GTX.

Intel и ATI в настоящее время не поддерживают VDPAU. Nvidia надеется, что эти разработчики графических процессоров поддержат библиотеку VDPAU с открытым исходным кодом и предоставят драйверы с ускорением VDPAU, упомянув примеры имен аппаратных драйверов для Intel и ATI: libvdpau_intel.so и libvdpau_ati.so.

В настоящее время Intel поддерживает собственный API -интерфейс VA-API .

ATI / Radeon концентрируют свои усилия на своих драйверах Catalyst - опять же, у них есть собственный API под названием XVBA, но он поддерживается только через их драйверы Catalyst.

В течение последних нескольких месяцев Phoronix сообщала о разработке другого API, называемого Gallium 3D State Tracker - он предназначен для объединения основных чипсетов - Intel, ATI / Radeon и NVidia. Проще говоря (насколько я понимаю) - он пытается наложить API поверх VA-API, VDPAU и т. Д. Таким образом, вы программируете на Gallium API, и он преобразует это в конкурирующие API для вас.

Большая часть этого является передовым кодом - нестабильным, и вам часто придется компилировать код и т. Д., Чтобы идти в ногу с последними разработками. X-Edgers PPA - хороший источник последних разработок - в этой статье описывается установка драйвера Radeon с открытым исходным кодом и принудительное использование Gallium3D.

Вернемся к теме ... как вы можете видеть, графика в linux в настоящее время сломана (некоторые называют это беспорядком!), Поэтому на данный момент лучшим решением является использование медиаплееров, которые пытаются реализовать конкурирующие API, такие как MPlayer.


ОБНОВИТЬ

Выше был прошлым ... 2011 В настоящие 2015 VDPAU поддерживается intelи amd, а также статистика ArchWiki страницы

Вы должны установить следующий пакет для Intel

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

но, похоже, есть открытая ошибка в Ubuntu 14.04 и 14.10 , так что библиотека не найдена ... так для ex. VLC через следующую ошибку:

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

На странице с ошибкой есть обходной путь, я здесь не справляюсь, потому что даже если я его применю, видео не воспроизводится в vlc (похоже, библиотека сломана)

свобода ископаемых
источник
5

долгое время я страдал от плохой работы флеш-плеера на ноутбуке на базе Intel По прошествии времени я решил приложить усилия и создал библиотеку-оболочку, которая реализует интерфейс VDPAU с помощью OpenGL. В системах с доступным VA-API (как у меня) он также ускоряет декодирование видео. Реализована половина или треть всей функциональности VDPAU, но этого достаточно, чтобы заставить работать и flash player, и mplayer .

Вы можете найти код на github: https://github.com/i-rinat/libvdpau-va-gl

Ринат Ибрагимов
источник