LINUX.ORG.RU

Аппаратное ускорение flash в ubuntu на chromebook

 , ,


1

2

Здравствуйте.

На хромбуке с процессором Celeron 2955U установлена Elementary OS второй системой (не через chroot). Пытаюсь снизить нагрузку на ЦП при просмотре flash видео. Делаю по этой ссылке. Однако, в файерфоксе всё одно - загрузка процессора ~95%(для одного ядра), что с включенным ускореним (EnableLinuxHWVideoDecode=1 OverrideGPUValidation=1), что с выключенным. Вывод VDPAU_DRIVER=va_gl vdpauinfo http://pastebin.com/YNTpaWdS

Для меня важно энергопотребление ноута, а судя по видео в указанной выше инструкции по настройке (http://youtu.be/ZUmwtx_HA8U) у человека нагрузка на ЦП снизилась на порядок.

Пожалуйста, помогите разобраться, где и что я не доделал.



Последнее исправление: b00ze (всего исправлений: 2)

Это всё бесполезно. Из линакс-версии флэша убрали возможность аппаратного ускорения. Только pepper.

Knigochey
()
Ответ на: комментарий от garik_keghen

Pepper flash есть, толку мало, к сожалению. Отъедает ресурсов чуть меньше, чем обычный в итоге 1-3%

Спасибо за ссылку, буду пробовать.

b00ze
() автор топика
Ответ на: комментарий от b00ze

удачи. Рекомендую снести этот кусок уг. HTML5 уже работпет на многих сайтах. Крайняк можно видос с ютуба через VLC смотреть.

garik_keghen ★★★★★
()
Ответ на: комментарий от garik_keghen

HTML5 снижает загрузку на 5-10%. Лучше, чем ничего, конечно

b00ze
() автор топика

Установил флешплеер 11.2.202.297, как в видео из инструкции. Загрузка ЦП не упала. Сто пудов, я что-то не так сделал. Должно же работать со старой версией?

b00ze
() автор топика
Ответ на: комментарий от garik_keghen

Попробовал с 10 версией флеша. Файерфокс её как то странно переварил, ну и результат опять ноль целых, хрен десятых. Возможно, стоит попробовать 10 флеш на более старой.

b00ze
() автор топика
Ответ на: комментарий от garik_keghen

Можно еще поставить флеш сто летней давности, там хоть vdpau работает

VDPAU работает и в ветке 11.2. По умолчанию — только для вывода на экран; декодер используется программный. Опция «EnableLinuxHWVideoDecode=1» в /etc/adobe/mms.cfg включает аппаратное декодирование.

i-rinat ★★★★★
()

b00ze, собери libvdpau-va-gl из git'а, попробуй с ней запустить vdpauinfo. Только добавляй в переменные среды VDPAU_LOG=0, а то в консоль падает слишком много отладочных сообщений.

i-rinat ★★★★★
()
Ответ на: комментарий от Knigochey

Из линакс-версии флэша убрали возможность аппаратного ускорения.

Просто выключили аппаратное декодирование по умолчанию. Его можно включить; а аппаратно-ускоренная презентация используется вообще всегда, когда доступно VDPAU.

Эта информация актуальна для версии 11.2.202.378.

Только pepper.

В PepperFlash аппаратный декодер не задействован в настольной версии Chrome/Chromium, код выключен на этапе компиляции. Включено только в некоторых сборках ChromeOS. Зато масштабирование картинки всегда аппаратно ускоренное, часто этого достаточно.

i-rinat ★★★★★
()
Ответ на: комментарий от garik_keghen

А ты уверен, что у тебя nVidia по умолчанию используется? Может у тебя VDPAU драйверов не установлено. Они могут отдельными пакетами в репозиториях лежать.

А для intel как раз libvdpau-va-gl и делалось, на intel'е родного VDPAU драйвера нет.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

на ноуте еще как-то жить можно (бубунта 14.04). дома капец (deb testing). фиг его знает. libvdpau-va-gl установлен. Может еще что-нибудь накатить нужно?

garik_keghen ★★★★★
()
Ответ на: комментарий от garik_keghen

libvdpau-va-gl установлен. Может еще что-нибудь накатить нужно?

Его ещё включать надо, запуская браузер так:

$ VDPAU_DRIVER=va_gl iceweasel

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

пока перерыв между таймами, что-то не завелось :)

Failed to open VDPAU backend libvdpau_va_gl.so: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога

garik_keghen ★★★★★
()
Ответ на: комментарий от garik_keghen

невозможно открыть разделяемый объектный файл: Нет такого файла или каталога

Не может найти файл. А файл-то есть?

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

все разобрался. заработало без сбоев, но каких то ништяков не дало, грузит cpu до 50-60%, кадры дергаются. короче нахрен это дерьмо. пусть adobe сами его кушают.

garik_keghen ★★★★★
()
Ответ на: комментарий от garik_keghen

Правильно-правильно. А мне норм.

Ты, наверное под X11 прогать не пробовал. А то бы удивлялся, а чего это оно так редко падает? o_O

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Спасибо. Собрал. Получившийся libvdpau_va_gl.so.1 скопировать куда-то?

Если я правильно понял, надо сделать симлинк libvdpau_i965.so.1 → libvdpau_va_gl.so.1? Но как? Я не могу найти, где находится libvdpau_i965.so.1 - find не помог. Или мне не надо знать, где этот файл?

И переменную VDPAU_LOG=0 добавить при запуске вот так: VDPAU_DRIVER=va_gl VDPAU_LOG=0 vdpauinfo, или отдельно как то добавлять в систему?

P.S. просто пока я обновлял cmake (не так как надо было его обновлять, а через), уронил дважды систему. Больше не хочется) Хорошо, образ есть

b00ze
() автор топика
Ответ на: комментарий от b00ze

Получившийся libvdpau_va_gl.so.1 скопировать куда-то?

Его надо скопировать в какое-нибудь место, где libvdpau его сможет найти. Обычно /usr/lib подходит. Но вот в 64-битной Fedora /usr/lib не работает и копировать надо в /usr/lib64.

Если я правильно понял, надо сделать симлинк libvdpau_i965.so.1 → libvdpau_va_gl.so.1?

Симлинк нужен для того, чтобы libvdpau могла найти нужный драйвер. Собственно, переменную VDPAU_DRIVER читает libvdpau и на основании её содержимого выбирает, что загружать. (libvdpau_${VDPAU_DRIVER}.so.1) На относительно свежих драйверах intel симлинка libvdpau_i965.so.1 будет достаточно, и использовать VDPAU_DRIVER будет не нужно.

Я не могу найти, где находится libvdpau_i965.so.1

А её в системе и нет, это нормально. Если захочется, чтобы была, класть надо в директорию с библиотеками (например, /usr/lib)

И переменную VDPAU_LOG=0 добавить при запуске вот так: VDPAU_DRIVER=va_gl VDPAU_LOG=0 vdpauinfo

Да, так будет достаточно. VDPAU_LOG=0 просто уменьшает количество отладочных сообщений, на работоспособность она влиять не должна.

P.S. просто пока я обновлял cmake (не так как надо было его обновлять, а через), уронил дважды систему.

Я даже не буду спрашивать подробности :-)

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

1. Я скоприровал libvdpau_va_gl.so.1 в /usr/lib/vdpau/, заменив существующий там файл

2. Скопировал libvdpau_va_gl.so.1 в /usr/lib/, и сделал на него симлинк libvdpau_i965.so.1

3. Переменную VDPAU_DRIVER=va_gl в окружение не добавял

Если всё верно, то глянь пожалуйста лог http://pastebin.com/nVafUSLq

Кстати, нормально при запуске vdpauinfo (без VDPAU_DRIVER=va_gl) в ответ получить Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory?

b00ze
() автор топика
Ответ на: комментарий от b00ze

глянь пожалуйста лог

Странно, опять в output surface нули в размерах. Ты точно самую свежую версию взял? У меня до исправлений воспроизводится — мусор вместо значений. После исправления всё уже нормально, максимальные размеры такие же как и для bitmap поверхностей. Собственно так и должно быть, так как и те и другие используют GL текстуры.

Кстати, нормально при запуске vdpauinfo (без VDPAU_DRIVER=va_gl) в ответ получить Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory?

Да, нормально. libvdpau использует имя nvidia, если не смогла другим способом определить имя драйвера. Считай, что значение VDPAU_DRIVER по умолчанию — nvidia.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Странно, опять в output surface нули в размерах. Ты точно самую свежую версию взял? У меня до исправлений воспроизводится — мусор вместо значений. После исправления всё уже нормально, максимальные размеры такие же как и для bitmap поверхностей. Собственно так и должно быть, так как и те и другие используют GL текстуры.

Нет, конечно. Я скачал libvdpau-va-gl-master.zip (https://github.com/i-rinat/libvdpau-va-gl тут справа есть кнопка «download zip» =]) Я ж не задумался, что на гитхабе должны быть разные версии, и откуда им вообще там взяться.

Ушёл исправляться!

b00ze
() автор топика
Ответ на: комментарий от i-rinat

Понятно, а то я понадеялся, размер файлов сверил. Думал, 0.3.4 последняя. Попробую на чистую систему установить.

Ринат, спасибо за помощь!

b00ze
() автор топика
Ответ на: комментарий от b00ze

0.3.4 последняя

На github доступна вся история. Версия 0.3.4 действительно последняя нумерованная версия, но после неё были изменения, в том числе несколько были сделаны вчера. Ветка master — это указатель на самую свежую версию, этот указатель может поменяться, если я добавлю ещё изменений. Именованные метки версий это специально помеченные точки в истории, они никуда не двигаются (как правило).

На каждое изменение ставить нумерованную версию — чисел не напасёшься. Есть ещё один мелкий баг с зависанием, поправлю его — будет v0.3.5. Всё никак руки не доходят.

i-rinat ★★★★★
()
Ответ на: комментарий от b00ze

При запуске vdpauinfo в stderr ничего не сыпется? Попробуй убрать обычный вывод: vdpauinfo > /dev/null.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Ринат, я проделал всё на чистой системе. Установил i965-va-driver из ppa:wsnipex/vaapi. Вроде как получилось. http://pastebin.com/eUPPgNkL Смушает только что на некоторых роликах accelerated video rendering software video decoding, но не на всех.

b00ze
() автор топика
Ответ на: комментарий от b00ze

Flash не на всех видео включает аппаратный декодер. Кажется, он декодирует сам, если разрешение 240p и ниже. Accelerated rendering тоже работает не везде за пределами youtube. Даже некоторые встроенные видео с youtube масштабируются программно.

i-rinat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.