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

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

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

2 ответа

Решение

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 В настоящее время ВДПАУ поддерживает intel а также amd а также статистика страниц в архиве вики

Вы должны установить следующий пакет для 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 (похоже, библиотека сломана)

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

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

Другие вопросы по тегам