вторник, 1 октября 2013 г.

Аппаратное ускорение Adobe Flash Player на видеокартах Intel

libvdpau-va-gl - это драйвер VDPAU, который использует OpenGL для ускорения графики и масштабирования, а также VA-API (если он доступен) для ускорения декодирования видео.
Используя его, вы можете на некоторых картах Intel задействовать аппаратное ускорение для Mplayer и даже для Adobe Flash Player, что позволит значительно снизить нагрузку на процессор.


Для пользователей AMD: по идее, это должно работать с видеокартами AMD (Catalyst), однако пользователи сообщают, что он, кажется, не работает должным образом, а разработчик libvdpau-va-gl сообщает, что он может проверить его работу только на Intel, поэтому ожидать исправления ошибок с AMD в ближайшее время не стоит. Тем не менее, драйвера AMD с открытым исходным кодом должны иметь встроенную поддержку VDPAU (вам потребуются Linux 3.10 и Mesa 9.2).

В моем тесте (Ubuntu 13.10, видеокарта Intel) без libvdpau-va-gl загрузка процессора при полноэкранном воспроизведении видео с YouTube 1080p загрузка процессора составляла 160 - 170% (то есть 80 - 85% на ядро), а при задействовании  libvdpau-va-gl - 14-17%, при этом имели место только несколько случайных пиков.
Примечание: тестирование производилось на браузерах Firefox и Chromium с Adobe Flash Player 11.2 r202. Разработка libvdpau-va-gl продолжается, текущая версия не является стабильной, поэтому хотя у меня все работало нормально, нет никаких гарантий, что и у вас все заработает.

Установка и настройка libvdpau-va-gl в Ubuntu 

1. Установите драйверы VAAPI (для видеокарт Intel HD Graphics, а также G45 и более поздних версий):

sudo apt-get install i965-va-driver

2. Установите libvdpau-va-gl из WebUpd8 PPA:

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install libvdpau-va-gl1

3. По умолчанию  в Linux Adobe Flash не использует аппаратное ускорение, поэтому его необходимо включить:

sudo mkdir -p /etc/adobe
echo "EnableLinuxHWVideoDecode=1" | sudo tee /etc/adobe/mms.cfg
echo "OverrideGPUValidation=1" | sudo tee -a /etc/adobe/mms.cfg

4. Так как возможна нестабильная работа, лучше не задействовать libvdpau-va-gl для всей системы, а просо запускать приложения с ключом "VDPAU_DRIVER=va_gl".
Пример: запуск Firefox с активацией libvdpau-va-gl.

VDPAU_DRIVER=va_gl firefox

Для того, чтобы активировать libvdpau-va-gl для всей системы (делать это не рекомендуется, так как могут возникнуть проблемы с приложениями, использующими VDPAU), необходимо открыть файл /etc/X11/Xsession.d/20vdpau-va-gl от имени root в текстовом редакторе и раскомментировать (удалить "#" в начале строки) две последние строки. Или просто выполнить в терминале следующие команды:

sudo sed -i "s/^# \[/\[/g" /etc/X11/Xsession.d/20vdpau-va-gl
sudo sed -i "s/^#   export/  export/g" /etc/X11/Xsession.d/20vdpau-va-gl

5. Проверка работы libvdpau-va-gl/VDPAU

Вы можете проверить, использует ли Adobe Flash Player аппаратное ускорение libvdpau-va-gl, кликнув правой кнопкой мыши на видеоролике из YouTube и выбрав "Stats for nerds". В появившейся надписи должно отображаться: "accelerated video rendering, accelerated video decoding", как на скриншоте.
Работу libvdpau-va-gl/VDPAU можно проверить и другим способом. Установите vdpauinfo:

sudo apt-get install vdpauinfo

Затем выполните команду:

VDPAU_DRIVER=va_gl vdpauinfo

И вы должны увидеть что-то вроде ЭТОГО. Если вы увидели сообщение об ошибке (например "Failed to open VDPAU backend"), значит ваша видеокарта не поддерживает VA-API, или вы сделали что-то неправильно.
Пользователи Arch Linux могут установить libvdpau-va-gl из AUR.

Комментариев нет:

Отправить комментарий