LINUX.ORG.RU
ФорумTalks

Аппаратное ускорение декодирования видео со свободным драйвером AMD

 , , , ,


2

2

Настроил сегодня себе и написал статью в wiki ubuntu.ru

http://help.ubuntu.ru/wiki/свободный_драйвер_видеокарт_amd#аппаратное_ускорен...

p.s: там же ниже и про снижение температуры добавил. у меня было 60+, а стало 50+ грудусов.

Пробуем, проверяем и обсуждаем :)

Напишите если заставите работать ускорение с встроенным в google chrome flash-player-ом. У меня получилось только с системным.



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

Ответ на: комментарий от carasin

хотя, возможно, из PPA в первом пункте именно она и обновляется

именно

я не понял, зачем обновлять (s)mplayer из левого PPA (вроде бы такая вещь должна быть в репозиториях самой убунты);

я тоже не понял

возможно, стоит ещё рассказать о libvdpau_va_gl, которая позволяет задействовать VAAPI (к примеру, на интеграшке Intel HD) для софта, умеющего VDPAU; оно действительно работает, проверено

но статья-то про AMD/ATi

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

но статья-то про AMD/ATi

А, ну да :D

Хотя, в свете отключения дискретки задействование Intel HD кажется недурным. Я, например, у себя сейчас сделал задействование VAAPI на Intel'е как раз через libvdpau_va_gl, ибо она-то всегда «онлайн» :)

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

Ага, так «much better», что при включённых эффектах Kwin на блобе Nvidia и задействованном VDPAU потребление ресурса процессора X'ами возрастает до предела %)

Обычный mplayer такой проблемы лишён.

carasin ★★★★★
()
Последнее исправление: carasin (всего исправлений: 1)
Ответ на: комментарий от carasin

официальные PPA есть у проектов. не в основных репозиториях, потому что стабильность, заморозка функциональности, бла-бла-бла.

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

такого не замечал при использовании опенсурсных дровишек для amd + compiz + vdpau. Может проблема как всегда в квине? =)

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

Я про Kwin не зря сказал. Да, только с ним.

carasin ★★★★★
()
Ответ на: комментарий от daemonpnz
  CPLAYER: MPlayer2 UNKNOWN (C) 2000-2012 MPlayer Team
  CPLAYER: 
Playing /home/serg/Media/Downloads/Шерлок Холмс и чёрные человечки. 3-я серия.mp4.
  DEMUXER: Detected file format: QuickTime/MPEG-4/Motion JPEG 2000 format (libavformat)
    DEMUX: [lavf] stream 0: video (h264), -vid 0
    DEMUX: [lavf] stream 1: audio (aac), -aid 0, -alang und
    DEMUX: VIDEO:  [H264]  1280x720  24bpp  25.000 fps  1208.8 kbps (147.6 kbyte/s)
    DEMUX: Clip info:
    DEMUX:  major_brand: mp42
    DEMUX:  minor_version: 0
    DEMUX:  compatible_brands: isommp42
    DEMUX:  creation_time: 2013-08-06 16:25:31
SUBREADER: Load subtitles in /home/serg/Media/Downloads/
  CPLAYER: ==========================================================================
 DECVIDEO: Forced video codec: ffh264vdpau
 DECVIDEO: Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
 DECVIDEO: Selected video codec: [ffh264vdpau] vfm: ffmpeg (FFmpeg H.264 (VDPAU))
  CPLAYER: ==========================================================================
  CPLAYER: ==========================================================================
 DECAUDIO: Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
 DECAUDIO: AUDIO: 44100 Hz, 2 ch, s16le, 192.0 kbit/13.60% (ratio: 23999->176400)
 DECAUDIO: Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))
  CPLAYER: ==========================================================================
  CPLAYER: AO: [pulse] 44100Hz 2ch s16le (2 bytes per sample)
  CPLAYER: Starting playback...
  CPLAYER: Movie-Aspect is undefined - no prescaling applied.
  CPLAYER: VO: [vdpau] 1280x720 => 1280x720 H.264 VDPAU acceleration 
 VIDEOOUT: [   vdpau] Failed creating VDPAU decoder: An invalid/unsupported VdpDecoderProfile value was supplied.
  CPLAYER: FATAL: Cannot initialize video driver.
 DECVIDEO: [h264_vdpau @ 0x7fd9d7099320]decoding to PIX_FMT_NONE is not supported.
 DECVIDEO: [h264_vdpau @ 0x7fd9d7099320]MPV_common_init() failed.
 DECVIDEO: [h264_vdpau @ 0x7fd9d7099320]decode_slice_header error
 DECVIDEO: [h264_vdpau @ 0x7fd9d7099320]no frame!
 DECVIDEO: Error while decoding frame!
  CPLAYER: 
FATAL: Could not initialize video filters (-vf) or video output (-vo).
  CPLAYER: 
  CPLAYER: 
Exiting... (End of file)
Shlyapa ★★
()
Ответ на: комментарий от Shlyapa

А судя по педивикии карты этой серии и этого не умели на уровне UVD, так что вряд ли получится и mpeg1/2 ускорить.

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

Да вроде карта умеет чего-то. Хотя, у нас с Вами сильно разные поколения карточек. У меня HD 7690M.

Хотя, судя по логам mplayer2, ему что-то не нравится в фильтрах или в устройстве вывода. Но т.к. оно уже начало использовать VDPAU, то я ставлю на фильтры. Кстати, с VDPAU фильтры по идее не должны работать.

UPD: выше сказали, что Ваша карта многого не умеет, так что всё прах и тлен :)

carasin ★★★★★
()
Последнее исправление: carasin (всего исправлений: 2)
Ответ на: комментарий от daemonpnz

DONE for R7xx, TODO for R6xx

да, невнимательный я, почему-то было впечатление после новостей, что для R6xx тоже сделали.

надейся и жди =)

да, в общем, не больно-то и хотелось. и так нормально :)

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

Если убрать из параметров -vc ffh264vdpau, то с ошибкой не вываливается, но, судя по загрузке проца, никаким аппаратным декодированием не пахнет.

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

Ну всё правильно, если убрать -vc ffh264vdpau, то перестаёт работать декодинг, но рендеринг идёт через vdpau.

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

рано радовался
теперь лагает флеш в вк наример в их плеере, флеш играх, всё флешевое
буду пробовать разные версии, может потыкаю ff

а у тебя какой браузер\версия плеера ?

smilessss ★★★★★
()
Ответ на: комментарий от smilessss
[I] www-plugins/adobe-flash
     Available versions:  (~)11.2^ms[1] 11.2.202.297^ms{tbz2} (~)11.2.202.297-r1^ms {+-32bit +64bit bindist debug kde multilib selinux sse2 vdpau}
     Installed versions:  11.2.202.297-r1^ms(02:43:56 PM 08/15/2013)(64bit multilib sse2 -32bit -debug -kde -selinux)
     Homepage:            http://www.adobe.com/products/flashplayer.html
     Description:         Adobe Flash Player

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

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

Офигенное Вам спасибо за эту штуку!

А то всё что можно использует VDPAU, а в Intel HD — VAAPI, и враппера раньше не было. Работает на ура!

Только приходится добавлять переменную VDPAU_DRIVER=va_gl перед запускаемым софтом. Симлинк на libvdpau_va_gl.so с именем libvdpau_i965.so не работает (у меня Intel HD 3000), даже если указать VDPAU_DRIVER=i965. В общем, зарепортил пока сюда.

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

хотя, возможно, из PPA в первом пункте именно она и обновляется

Именно так и есть.

я не понял, зачем обновлять (s)mplayer из левого PPA (вроде бы такая вещь должна быть в репозиториях самой убунты);

Выше уже сказали, что это официальный ppa разработчиков плеера. Обновить решил, т.к на версии из репозитория у меня часто пропадал заголовок окна smplayer + еще какие-то баги были.

применять опцию radeon.audio=1 (включает аудио для HDMI, по умолчанию отключено);

Допишу сейчас.

сначала рекомендуется задействовать UVD и DPM на Radeon'е, затем — вообще отключить дискретную карточку Radeon с уже задействованными UVD и DPM; честно говоря, не совсем понятно, зачем это делать.

Это вы про

echo "OFF" > /sys/kernel/debug/vgaswitcheroo/switch
? Если честно я тупо скопировал это из предыдущей версии статьи. Уберу тогда;)

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

Ну и про PRIME тогда уж разузнайте — поддерживается ли он или нет. Если да, то об этом тоже можно написать. А то сейчас все Radeon'ы на ноутах идут muxless (кроме встроенных в APU AMD A%{seria_number}).

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

думаю, что если VDPAU-frontend и существует, то толку от него будет не больше.

Работает на ура!

Хи-хи-хи.

Офигенное Вам спасибо за эту штуку!

Пожалуйста, мне не жалко. (И лучше со мной на «ты» разговаривать.) В настоящий момент версия в master-ветке кривая, лучше v0.1.0 использовать.

Только приходится добавлять переменную VDPAU_DRIVER=va_gl перед запускаемым софтом.

Можно же export VDPAU_DRIVER=va_gl куда-нибудь в Xsession добавить.

Симлинк на libvdpau_va_gl.so с именем libvdpau_i965.so не работает

Надо попробовать его в /usr/lib положить. И ещё имя libvdpau_i965.so.1 попробовать, с версией .1 на конце. В спецификации, если не ошибаюсь, с единичкой.

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

Хи-хи-хи.

Да, посыпаю голову пеплом :) Я позднее ещё поразбирался с вопросом «VAAPI через VDPAU». Просто такую связку я проверял на VLC, но в нём, как выяснилось, VAAPI толком не работает. А чтобы заработало, нужно шаманить с пересборкой FFMPEG. Поэтому я первоначально и сделал, вероятно, ошибочный вывод о том, что враппер «VAAPI через VDPAU» не работает. Вероятно — потому что до сих пор без пересборки FFMPEG или сборки mplayer-vaapi это протестировать не удастся, но мне не улыбается постоянно пересобирать эти компоненты, поэтому и на тестирование я в итоге забил.

И лучше со мной на «ты» разговаривать.

Да я просто на этом форуме по дефолту ко всем на «Вы». OK.

В настоящий момент версия в master-ветке кривая, лучше v0.1.0 использовать.

$ rpm -q libvdpau-va-gl 
libvdpau-va-gl-0.1.0-1.fc19.R.x86_64

Можно же export VDPAU_DRIVER=va_gl куда-нибудь в Xsession добавить.

Ээ... Наверное, можно, но разве оно не должно автоматически находить нужный драйвер. Да и симлинк тоже почему-то игнорится. Хотя тут, возможно, надо общаться с разработчиками Mesa/libvdpau/etc..

Надо попробовать его в /usr/lib положить. И ещё имя libvdpau_i965.so.1 попробовать, с версией .1 на конце. В спецификации, если не ошибаюсь, с единичкой.

OK. Сейчас попробую, если что — отпишусь мейнтейнерам в rpmfusion.

Ещё раз благодарю.

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

Можно же export VDPAU_DRIVER=va_gl куда-нибудь в Xsession добавить.

Ээ... Наверное, можно, но разве оно не должно автоматически находить нужный драйвер. Да и симлинк тоже почему-то игнорится. Хотя тут, возможно, надо общаться с разработчиками Mesa/libvdpau/etc..

libvdpau как-то получает имя драйвера от X-сервера, либо из VDPAU_DRIVER, либо считает, что имя «nvidia». Драйвера на gallium3d своё имя корректно сообщают, у них есть такая возможность. А у libvdpau-va-gl такой возможности нет, так что единственный внятный способ его включить, это установить VDPAU_DRIVER.

Я думаю, делать симлинк libvdpau_i965.so не правильно, тем более в пакете.

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

Ясно.

Я думаю, делать симлинк libvdpau_i965.so не правильно, тем более в пакете.

Ну там в *.spec'е так и написано, что это временный хак. Но тут две загвоздки: 1. пакета ещё нет даже в rpmfusion (то что есть — пока лишь *.src.rpm'ка в «инкубаторе» Nicolas'а Chauvet'а); 2. нет ничего более постоянного, чем временное :D

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

возможность использовать UVD на Radeon'ах появилась ещё в ядре 3.10, так что kernel-3.11, находящееся ещё на стадии RC5, в данном случае если и стоит применять, то лишь из-за DPM;

Переписал статью. Теперь для ускорения ядро 3.10, а 3.11 только для снижения температуры.

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

непонятно, будет ли подобная конфигурация работать на muxless Radeon'ах

В MUX-less конфигурациях всегда есть какая-либо интеграшка, которой вполне можно доверить декодирование видео, и она всегда включена.

возможность использовать UVD на Radeon'ах появилась ещё в ядре 3.10, так что kernel-3.11, находящееся ещё на стадии RC5, в данном случае если и стоит применять, то лишь из-за DPM;

И наверное достаточно было бы просто ссылки на свежий релиз-кандидат 3.11, а не обязательно drm-next. cast mylorlogin

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

Не желает свободный драйверок такого кушать

Пишите, пишите письма. Вот ещё один хороший семпл для тестов есть.

Кстати, интересно, а почему UVD/UVD+ не поддерживается. cast RussianNeuroMancer.

Эту тему лучше меня осветит ckotinko.

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

В MUX-less конфигурациях всегда есть какая-либо интеграшка, которой вполне можно доверить декодирование видео, и она всегда включена.

Да это-то понятно. Просто захочется какому-нибудь товарищу заиспользовать vdpau через DRI_PRIME=1 (на Intel'е-то только VAAPI, которое нигде не используется), а оно не работает (если специального патча не накладывали).

Кстати, ЕМНИП, GMA X4500 не умеет аппаратное ускорение воспроизведения видео.

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