nouveau и firmware для vdpau

Ответить
Аватара пользователя
Brainey
Сообщения: 146
Зарегистрирован: 18 июл 2012, 20:13

nouveau и firmware для vdpau

Сообщение Brainey »

Распаковал проприетарное firmware в /lib/firmware/nouveau по рецепту с nouveau.freedesktop.org для vdpau различных форматов видео, прописал в параметры загрузки ядра (и в параметры загрузки модуля nouveau) nouveau.config=NvGrUseFW=1, однако, vdpauinfo выдаёт следующее:
$ vdpauinfo
display: :0 screen: 0
API version: 1
Information string: G3DVL VDPAU Driver Shared Library version 1.0

Video surface:

name width height types
-------------------------------------------
420 8192 8192 NV12 YV12
422 8192 8192 UYVY YUYV
444 8192 8192 Y8U8V8A8 V8U8Y8A8

Decoder capabilities:

name level macbs width height
----------------------------------------------------
MPEG1 0 16384 2048 2048
MPEG2_SIMPLE 3 16384 2048 2048
MPEG2_MAIN 3 16384 2048 2048
H264_BASELINE 41 16384 2048 2048
H264_MAIN 41 16384 2048 2048
H264_HIGH 41 16384 2048 2048
VC1_SIMPLE --- not supported ---
VC1_MAIN --- not supported ---
VC1_ADVANCED --- not supported ---
MPEG4_PART2_SP --- not supported ---
MPEG4_PART2_ASP --- not supported ---
DIVX4_QMOBILE --- not supported ---
DIVX4_MOBILE --- not supported ---
DIVX4_HOME_THEATER --- not supported ---
DIVX4_HD_1080P --- not supported ---
DIVX5_QMOBILE --- not supported ---
DIVX5_MOBILE --- not supported ---
DIVX5_HOME_THEATER --- not supported ---
DIVX5_HD_1080P --- not supported ---
H264_CONSTRAINED_BASELINE --- not supported ---
H264_EXTENDED --- not supported ---
H264_PROGRESSIVE_HIGH --- not supported ---
H264_CONSTRAINED_HIGH --- not supported ---
H264_HIGH_444_PREDICTIVE --- not supported ---
HEVC_MAIN --- not supported ---
HEVC_MAIN_10 --- not supported ---
HEVC_MAIN_STILL --- not supported ---
HEVC_MAIN_12 --- not supported ---
HEVC_MAIN_444 --- not supported ---

Output surface:

name width height nat types
----------------------------------------------------
B8G8R8A8 8192 8192 y NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
R8G8B8A8 8192 8192 y NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
R10G10B10A2 8192 8192 y NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
B10G10R10A2 8192 8192 y NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8

Bitmap surface:

name width height
------------------------------
B8G8R8A8 8192 8192
R8G8B8A8 8192 8192
R10G10B10A2 8192 8192
B10G10R10A2 8192 8192
A8 8192 8192

Video mixer:

feature name sup
------------------------------------
DEINTERLACE_TEMPORAL y
DEINTERLACE_TEMPORAL_SPATIAL -
INVERSE_TELECINE -
NOISE_REDUCTION y
SHARPNESS y
LUMA_KEY -
HIGH QUALITY SCALING - L1 -
HIGH QUALITY SCALING - L2 -
HIGH QUALITY SCALING - L3 -
HIGH QUALITY SCALING - L4 -
HIGH QUALITY SCALING - L5 -
HIGH QUALITY SCALING - L6 -
HIGH QUALITY SCALING - L7 -
HIGH QUALITY SCALING - L8 -
HIGH QUALITY SCALING - L9 -

parameter name sup min max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH y 48 2048
VIDEO_SURFACE_HEIGHT y 48 2048
CHROMA_TYPE y
LAYERS y 0 4

attribute name sup min max
-----------------------------------------------------
BACKGROUND_COLOR y
CSC_MATRIX y
NOISE_REDUCTION_LEVEL y 0.00 1.00
SHARPNESS_LEVEL y -1.00 1.00
LUMA_KEY_MIN_LUMA y
LUMA_KEY_MAX_LUMA y
Похоже, что nouveau просто не загружает/не загружает firmware. Есть ли пути решения этой проблемы? Использовать проприетарный блоб не предлагать.
Аватара пользователя
Brainey
Сообщения: 146
Зарегистрирован: 18 июл 2012, 20:13

Re: nouveau и firmware для vdpau

Сообщение Brainey »

Также в dmesg проскакивает следующая ошибка:
[code[ 3.144263] nouveau 0000:01:00.0: DRM: failed to create encoder 0/1/0: -19
][/code]
euspectre
Сообщения: 1060
Зарегистрирован: 21 дек 2012, 15:24
Operating system: Linux в разных вариантах

Re: nouveau и firmware для vdpau

Сообщение euspectre »

Выложите, пожалуйста, весь вывод dmesg (или, лучше, загрузите данные с помощью hw-probe).

C VDPAU при использовании nouveau я не разбирался, но если дело именно в том, что firmware не то или лежит не там, в логе это может быть видно.
Аватара пользователя
Brainey
Сообщения: 146
Зарегистрирован: 18 июл 2012, 20:13

Re: nouveau и firmware для vdpau

Сообщение Brainey »

hw-probe
На данный момент запущено ядро 4.4.4 (проверял, не характерный ли это для ветки 4.1 баг) не из R7, но в использующемся там 4.1. та же ошибка касательно nouveau и та же ситуация с firmware.
hw-probe 4.1.19-nrj-desktop
Аватара пользователя
Brainey
Сообщения: 146
Зарегистрирован: 18 июл 2012, 20:13

Re: nouveau и firmware для vdpau

Сообщение Brainey »

В ходе поиска решения нашёл следующую проблему с va-api:
vainfo выдал следующие ошибки:
libva info: Trying to open /usr/lib/dri/nouveau_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit
По адресу /usr/lib/dri/ нет симлинка nouveau_drv_video.so на библиотеку /usr/lib/dri/vdpau_drv_video.so
Решение:

Код: Выделить всё

# ln -s /usr/lib/dri/vdpau_drv_video.so /usr/lib/dri/nouveau_drv_video.so
После чего vainfo не выдаёт ошибок:
$ vainfo
libva info: VA-API version 0.38.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/nouveau_drv_video.so
libva info: Found init function __vaDriverInit_0_35
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.38 (libva 1.6.1)
vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API - 0.7.4
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Baseline : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264High : VAEntrypointVLD
Но проблема с загрузкой firmware остаётся актуальной.
Аватара пользователя
Brainey
Сообщения: 146
Зарегистрирован: 18 июл 2012, 20:13

Re: nouveau и firmware для vdpau

Сообщение Brainey »

euspectre писал(а):Выложите, пожалуйста, весь вывод dmesg
Странно то, что в dmesg вообще нет никаких упоминаний о загрузке nouveau firmware. :(
Хотя модуль работает с переданным ему параметром:

Код: Выделить всё

cat /sys/module/nouveau/parameters/* | grep FW
NvGrUseFW=1
Также найден схожий баг на багтрекере, где сказано об ошибке загрузке firmware, но у меня в dmesg вообще тишина:
myhost alex # dmesg | grep -i firmware
myhost alex #
euspectre
Сообщения: 1060
Зарегистрирован: 21 дек 2012, 15:24
Operating system: Linux в разных вариантах

Re: nouveau и firmware для vdpau

Сообщение euspectre »

Brainey писал(а): Также найден схожий баг на багтрекере, где сказано об ошибке загрузке firmware
Тот баг для серии "Maxwell", если не ошибаюсь. Необх. firmware для них NVidia выпустила только недавно. Плюс, в nouveau поддержка такого firmware, кажется, в ядре 4.6 только появилась.

Т.е. в Вашем случае явно что-то другое.
Аватара пользователя
Brainey
Сообщения: 146
Зарегистрирован: 18 июл 2012, 20:13

Re: nouveau и firmware для vdpau

Сообщение Brainey »

Тот баг для серии "Maxwell", если не ошибаюсь. Необх. firmware для них NVidia выпустила только недавно. Плюс, в nouveau поддержка такого firmware, кажется, в ядре 4.6 только появилась.
Но с другой стороны это говорит о том, что nouveau поддерживает (или поддерживал) загрузку firmware в ROSA. В таком случае, я даже не знаю, куда копать в отедльно взятой установленной у меня системе.

PS: если у кого-то нормально работает такая связка (nouveau + firmware), отпишитесь пожалуйста в теме, тогда буду точно знать, что проблема где-то в моей конфигурации.
euspectre
Сообщения: 1060
Зарегистрирован: 21 дек 2012, 15:24
Operating system: Linux в разных вариантах

Re: nouveau и firmware для vdpau

Сообщение euspectre »

Brainey писал(а): Но с другой стороны это говорит о том, что nouveau поддерживает (или поддерживал) загрузку firmware в ROSA. В таком случае, я даже не знаю, куда копать в отедльно взятой установленной у меня системе.
Да, для обычного firmware - поддерживает. А для такого - пока неясно.

Глянул сегодня по коду nouveau - что-то не понял сходу, где именно драйвер ищет это firmware. Но вроде бы должно выводиться "using external firmware". Возможно, сообщение просто как отладочное выводится, а они в лог по умолчанию не попадают.

Попробуйте при загрузке добавить ещё такие параметры ядру: drm.debug=0x06 log_buf_len=1M ignore_loglevel
Тогда отладочные сообщения ядра и драйверов должны быть видны в выводе dmesg.
Аватара пользователя
Brainey
Сообщения: 146
Зарегистрирован: 18 июл 2012, 20:13

Re: nouveau и firmware для vdpau

Сообщение Brainey »

Спасибо, но вывод по nouveau не сильно увеличился:

Код: Выделить всё

[    4.051638] [drm:nouveau_display_options] Loading Nouveau with parameters:
[    4.051640] [drm:nouveau_display_options] ... tv_disable   : 0
[    4.051641] [drm:nouveau_display_options] ... ignorelid    : 0
[    4.051642] [drm:nouveau_display_options] ... duallink     : 1
[    4.051643] [drm:nouveau_display_options] ... nofbaccel    : 0
[    4.051644] [drm:nouveau_display_options] ... config       : NvGrUseFW=1
[    4.051645] [drm:nouveau_display_options] ... debug        : (null)
[    4.051646] [drm:nouveau_display_options] ... noaccel      : 0
[    4.051647] [drm:nouveau_display_options] ... modeset      : 1
[    4.051648] [drm:nouveau_display_options] ... runpm        : -1
[    4.051649] [drm:nouveau_display_options] ... vram_pushbuf : 0
[    4.051650] [drm:nouveau_display_options] ... pstate       : 0
[    4.051832] fb: switching to nouveaufb from VESA VGA
[    5.927696] nouveau 0000:01:00.0: NVIDIA G94 (094100a1)
[    6.066676] nouveau 0000:01:00.0: bios: version 62.94.3c.00.00
[    6.067838] nouveau 0000:01:00.0: DRM: hdmi device not found 1 0 1
[    6.088014] nouveau 0000:01:00.0: fb: 512 MiB GDDR3
[    6.140574] nouveau 0000:01:00.0: DRM: VRAM: 512 MiB
[    6.140582] nouveau 0000:01:00.0: DRM: GART: 1048576 MiB
[    6.140593] nouveau 0000:01:00.0: DRM: TMDS table version 2.0
[    6.140601] nouveau 0000:01:00.0: DRM: DCB version 4.0
[    6.140609] nouveau 0000:01:00.0: DRM: DCB outp 00: 02000300 00000028
[    6.140618] nouveau 0000:01:00.0: DRM: DCB outp 01: 01000302 00020030
[    6.140626] nouveau 0000:01:00.0: DRM: DCB outp 02: 04011310 00000028
[    6.140634] nouveau 0000:01:00.0: DRM: DCB outp 03: 02011312 00000030
[    6.140642] nouveau 0000:01:00.0: DRM: DCB outp 04: 010223f1 00c0c080
[    6.140650] nouveau 0000:01:00.0: DRM: DCB conn 00: 00001030
[    6.140658] nouveau 0000:01:00.0: DRM: DCB conn 01: 00002130
[    6.140666] nouveau 0000:01:00.0: DRM: DCB conn 02: 00000210
[    6.140673] nouveau 0000:01:00.0: DRM: DCB conn 03: 00000211
[    6.140680] nouveau 0000:01:00.0: DRM: DCB conn 04: 00000213
[    6.193961] nouveau 0000:01:00.0: DRM: failed to create encoder 0/1/0: -19
[    6.193974] nouveau 0000:01:00.0: DRM: TV-1 has no encoders, removing
[    6.275387] nouveau 0000:01:00.0: DRM: MM: using CRYPT for buffer copies
[    6.327835] nouveau 0000:01:00.0: DRM: native mode from preferred
[    6.364344] nouveau 0000:01:00.0: DRM: allocated 1280x1024 fb: 0x70000, bo f2e10c00                         
[    6.364468] fbcon: nouveaufb (fb0) is primary device                                                        
[    6.459993] nouveau 0000:01:00.0: DRM: native mode from preferred                                           
[    6.488501] nouveau 0000:01:00.0: fb0: nouveaufb frame buffer device                                        
[    6.493032] [drm] Initialized nouveau 1.3.1 20120801 for 0000:01:00.0 on minor 0                            
[    6.583725] nouveau 0000:01:00.0: DRM: native mode from preferred                                           
[   26.377846] nouveau 0000:01:00.0: DRM: native mode from preferred                                           
[   26.477411] nouveau 0000:01:00.0: DRM: native mode from preferred
[   43.389546] nouveau 0000:01:00.0: DRM: native mode from preferred
[   45.867570] nouveau 0000:01:00.0: DRM: native mode from preferred
[   49.810034] nouveau 0000:01:00.0: DRM: native mode from preferred
А может, nouveau не виноват, а стоит как-то хитрО переконфигурить образ initramfs с помощью dracut? Вдруг это именно он не видит firmware (которое, кстати, отлично подгружалось на debian).
euspectre
Сообщения: 1060
Зарегистрирован: 21 дек 2012, 15:24
Operating system: Linux в разных вариантах

Re: nouveau и firmware для vdpau

Сообщение euspectre »

Brainey писал(а):Спасибо, но вывод по nouveau не сильно увеличился:
А может, nouveau не виноват, а стоит как-то хитрО переконфигурить образ initramfs с помощью dracut? Вдруг это именно он не видит firmware (которое, кстати, отлично подгружалось на debian).
nouveau у нас в initrd не включен, так же, как и /lib/firmware. Драйвер грузится уже после. Т.е. вряд ли дело в initrd.

Если других идей ни у кого не появится, попробую воспроизвести всё же на наших тестовых системах. Но это - не раньше, чем через день-два: пока много других задач.
euspectre
Сообщения: 1060
Зарегистрирован: 21 дек 2012, 15:24
Operating system: Linux в разных вариантах

Re: nouveau и firmware для vdpau

Сообщение euspectre »

Ещё пара вопросов:

1. Из какой именно версии проприетарного драйвера получили firmware?

2. Что сейчас в /lib/firmware/nouveau ? (ls -l /lib/firmware/nouveau)?
Аватара пользователя
Brainey
Сообщения: 146
Зарегистрирован: 18 июл 2012, 20:13

Re: nouveau и firmware для vdpau

Сообщение Brainey »

1. На данный момент (попробовал переделать всё с нуля) из версии драйвера 325.08, но до этого просто скопировал рабочий каталог из debian, где работал запуск firmware и из какой версии блоба я выковыривал firmware тогда, уже не помню, но всё это дело так и не заработало.

2.
ls -l /lib/firmware/nouveau
итого 1600
lrwxrwxrwx 1 root root 8 апр 2 01:54 nv106_fuc084 -> nve0_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nv106_fuc085 -> nve0_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nv106_fuc086 -> nvc0_ppp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nv108_fuc084 -> nve0_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nv108_fuc085 -> nve0_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nv108_fuc086 -> nvc0_ppp
-rw-r--r-- 1 root root 94012 апр 2 01:54 nv84_bsp
-rw-r--r-- 1 root root 55760 апр 2 01:54 nv84_bsp-h264
-rw-r--r-- 1 root root 110188 апр 2 01:54 nv84_vp
-rw-r--r-- 1 root root 127796 апр 2 01:54 nv84_vp-h264-1
-rw-r--r-- 1 root root 114684 апр 2 01:54 nv84_vp-h264-2
-rw-r--r-- 1 root root 139396 апр 2 01:54 nv84_vp-mpeg12
-rw-r--r-- 1 root root 183588 апр 2 01:54 nv84_vp-vc1-1
-rw-r--r-- 1 root root 86876 апр 2 01:54 nv84_vp-vc1-2
-rw-r--r-- 1 root root 78780 апр 2 01:54 nv84_vp-vc1-3
lrwxrwxrwx 1 root root 7 апр 2 01:54 nv84_xuc00f -> nv84_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nv84_xuc103 -> nv84_bsp
-rw-r--r-- 1 root root 44032 апр 2 01:54 nv98_bsp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nv98_fuc084 -> nv98_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nv98_fuc085 -> nv98_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nv98_fuc086 -> nv98_ppp
-rw-r--r-- 1 root root 14336 апр 2 01:54 nv98_ppp
-rw-r--r-- 1 root root 42240 апр 2 01:54 nv98_vp
-rw-r--r-- 1 root root 66048 апр 2 01:54 nva3_bsp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nva3_fuc084 -> nva3_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nva3_fuc085 -> nva3_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nva3_fuc086 -> nva3_ppp
-rw-r--r-- 1 root root 16128 апр 2 01:54 nva3_ppp
-rw-r--r-- 1 root root 50688 апр 2 01:54 nva3_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nva5_fuc084 -> nva3_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nva5_fuc085 -> nva3_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nva5_fuc086 -> nva3_ppp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nva8_fuc084 -> nva3_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nva8_fuc085 -> nva3_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nva8_fuc086 -> nva3_ppp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvaa_fuc084 -> nv98_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nvaa_fuc085 -> nv98_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvaa_fuc086 -> nv98_ppp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvac_fuc084 -> nv98_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nvac_fuc085 -> nv98_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvac_fuc086 -> nv98_ppp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvaf_fuc084 -> nva3_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nvaf_fuc085 -> nva3_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvaf_fuc086 -> nva3_ppp
-rw-r--r-- 1 root root 68864 апр 2 01:54 nvc0_bsp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvc0_fuc084 -> nvc0_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nvc0_fuc085 -> nvc0_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvc0_fuc086 -> nvc0_ppp
-rw-r--r-- 1 root root 16640 апр 2 01:54 nvc0_ppp
-rw-r--r-- 1 root root 54016 апр 2 01:54 nvc0_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvc1_fuc084 -> nvc0_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nvc1_fuc085 -> nvc0_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvc1_fuc086 -> nvc0_ppp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvc3_fuc084 -> nvc0_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nvc3_fuc085 -> nvc0_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvc3_fuc086 -> nvc0_ppp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvc4_fuc084 -> nvc0_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nvc4_fuc085 -> nvc0_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvc4_fuc086 -> nvc0_ppp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvc8_fuc084 -> nvc0_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nvc8_fuc085 -> nvc0_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvc8_fuc086 -> nvc0_ppp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvce_fuc084 -> nvc0_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nvce_fuc085 -> nvc0_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvce_fuc086 -> nvc0_ppp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvcf_fuc084 -> nvc0_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nvcf_fuc085 -> nvc0_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvcf_fuc086 -> nvc0_ppp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvd7_fuc084 -> nve0_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nvd7_fuc085 -> nve0_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvd7_fuc086 -> nvc0_ppp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvd9_fuc084 -> nve0_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nvd9_fuc085 -> nve0_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvd9_fuc086 -> nvc0_ppp
-rw-r--r-- 1 root root 72704 апр 2 01:54 nve0_bsp
-rw-r--r-- 1 root root 56576 апр 2 01:54 nve0_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nve4_fuc084 -> nve0_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nve4_fuc085 -> nve0_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nve4_fuc086 -> nvc0_ppp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nve6_fuc084 -> nve0_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nve6_fuc085 -> nve0_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nve6_fuc086 -> nvc0_ppp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nve7_fuc084 -> nve0_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nve7_fuc085 -> nve0_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nve7_fuc086 -> nvc0_ppp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvf0_fuc084 -> nve0_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nvf0_fuc085 -> nve0_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvf0_fuc086 -> nvc0_ppp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvf1_fuc084 -> nve0_bsp
lrwxrwxrwx 1 root root 7 апр 2 01:54 nvf1_fuc085 -> nve0_vp
lrwxrwxrwx 1 root root 8 апр 2 01:54 nvf1_fuc086 -> nvc0_ppp
lrwxrwxrwx 1 root root 14 апр 2 01:54 vuc-h264-0 -> vuc-vp4-h264-0
lrwxrwxrwx 1 root root 16 апр 2 01:54 vuc-mpeg12-0 -> vuc-vp4-mpeg12-0
lrwxrwxrwx 1 root root 15 апр 2 01:54 vuc-mpeg4-0 -> vuc-vp4-mpeg4-0
lrwxrwxrwx 1 root root 15 апр 2 01:54 vuc-mpeg4-1 -> vuc-vp4-mpeg4-1
lrwxrwxrwx 1 root root 13 апр 2 01:54 vuc-vc1-0 -> vuc-vp4-vc1-0
lrwxrwxrwx 1 root root 13 апр 2 01:54 vuc-vc1-1 -> vuc-vp4-vc1-1
lrwxrwxrwx 1 root root 13 апр 2 01:54 vuc-vc1-2 -> vuc-vp4-vc1-2
-rw-r--r-- 1 root root 5632 апр 2 01:54 vuc-vp3-h264-0
-rw-r--r-- 1 root root 2816 апр 2 01:54 vuc-vp3-mpeg12-0
-rw-r--r-- 1 root root 7424 апр 2 01:54 vuc-vp3-vc1-0
-rw-r--r-- 1 root root 8448 апр 2 01:54 vuc-vp3-vc1-1
-rw-r--r-- 1 root root 8960 апр 2 01:54 vuc-vp3-vc1-2
-rw-r--r-- 1 root root 6400 апр 2 01:54 vuc-vp4-h264-0
-rw-r--r-- 1 root root 3072 апр 2 01:54 vuc-vp4-mpeg12-0
-rw-r--r-- 1 root root 7424 апр 2 01:54 vuc-vp4-mpeg4-0
-rw-r--r-- 1 root root 7424 апр 2 01:54 vuc-vp4-mpeg4-1
-rw-r--r-- 1 root root 7424 апр 2 01:54 vuc-vp4-vc1-0
-rw-r--r-- 1 root root 8448 апр 2 01:54 vuc-vp4-vc1-1
-rw-r--r-- 1 root root 8448 апр 2 01:54 vuc-vp4-vc1-2
Аватара пользователя
Brainey
Сообщения: 146
Зарегистрирован: 18 июл 2012, 20:13

Re: nouveau и firmware для vdpau

Сообщение Brainey »

Вот ещё один момент:
[00:47] [alex@myhost:~]$ cat /boot/config-`uname -r` | grep -i firmware
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
# Device Tree and Open Firmware support
# Altera FPGA firmware download module
CONFIG_HOSTAP_FIRMWARE=y
CONFIG_HOSTAP_FIRMWARE_NVRAM=y
CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_CYPRESS_FIRMWARE=m
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_FIRMWARE_EDID=y
# Firmware Drivers
CONFIG_FIRMWARE_MEMMAP=y
# CONFIG_GOOGLE_FIRMWARE is not set
# EFI (Extensible Firmware Interface) Support
# CONFIG_TEST_FIRMWARE is not set
Интересно, не это ли корень проблемы, т.к. в описании опции сказано
The kernel source tree includes a number of firmware 'blobs' that are used by various drivers. The recommended way to use these is to run "make firmware_install", which, after converting ihex files to binary, copies all of the needed binary files in firmware/ to /lib/firmware/ on your system so that they can be loaded by userspace helpers on request.

Enabling this option will build each required firmware blob into the kernel directly, where request_firmware() will find them without having to call out to userspace. This may be useful if your root file system requires a device that uses such firmware and do not wish to use an initrd.

This single option controls the inclusion of firmware for every driver that uses request_firmware() and ships its firmware in the kernel source tree, which avoids a proliferation of 'Include firmware for xxx device' options.

Say 'N' and let firmware be loaded from userspace.
и в ядре Debian конфиг указан как "IS NOT SET", а не "y".
Последний раз редактировалось Brainey 02 апр 2016, 23:28, всего редактировалось 1 раз.
euspectre
Сообщения: 1060
Зарегистрирован: 21 дек 2012, 15:24
Operating system: Linux в разных вариантах

Re: nouveau и firmware для vdpau

Сообщение euspectre »

Попробовал на GT 720 и firmware из пропр. драйвера версии 325.15, той, что указана на https://nouveau.freedesktop.org/wiki/VideoAcceleration/. Ядро - 4.1.19.

Nouveau явно попробовал загрузить firmware, но у него ничего не получилось, судя по dmesg:
[ 14.595036] nouveau [ PGRAPH][0000:04:00.0] using external firmware
[ 14.595065] nouveau 0000:04:00.0: Direct firmware load for nouveau/nv106_fuc409c failed with error -2
[ 14.595079] nouveau 0000:04:00.0: Direct firmware load for nouveau/fuc409c failed with error -2
[ 14.595087] nouveau E[ PGRAPH][0000:04:00.0] failed to load fuc409c
Для этой видеокарты, вероятно, нужно firmware поновее, но это отдельный вопрос. Для GeForce 9600 GT (VP2) firmware там вроде бы есть.

vdpauinfo при этом у меня стал ругаться на отсутствие libvdpau_nvidia.so*, а когда я сделал соотв. симлинки на libvdpau_nouveau*, - просто вывел ошибку:
"Error creating VDPAU device: 23". Возможно, из-за отсутствия в системе подходящего firmware как раз.
Аватара пользователя
Brainey
Сообщения: 146
Зарегистрирован: 18 июл 2012, 20:13

Re: nouveau и firmware для vdpau

Сообщение Brainey »

euspectre писал(а): Nouveau явно попробовал загрузить firmware, но у него ничего не получилось, судя по dmesg:
[
А вот это уже интересно, т.к. у меня и до этого не доходит.
Попробую переделать всё ещё раз.

Не получилось (использовалась та же версия с инструкции с wiki). Пока не понял, в чём дело, но по nouveau есть одна ошибка в выводе:
[01:35] [alex@myhost:~]$ dmesg | grep -i fail
[ 0.232474] acpi PNP0A03:00: _OSC failed (AE_NOT_FOUND); disabling ASPM
[ 1.095759] Failed to find cpu0 device node
[ 3.080471] nouveau W[ DRM] failed to create encoder 0/1/0: -19
Может, загрузка firmware происходит уже как раз после создания этого декодера?
Аватара пользователя
Brainey
Сообщения: 146
Зарегистрирован: 18 июл 2012, 20:13

Re: nouveau и firmware для vdpau

Сообщение Brainey »

Покажите пожалуйста на всякий случай вывод

Код: Выделить всё

rpm -qa *nouveau*
и

Код: Выделить всё

rpm -qa *vdpau*
Может, у меня чего-то не хватает?
myhost alex # rpm -qa *nouveau*
libdrm_nouveau2-2.4.65-1-rosa2014.1.i586
x11-driver-video-nouveau-1.0.11-2.20151117.2-rosa2014.1.i586

myhost alex # rpm -qa *vdpau*
libvdpau1-1.1.1-2-rosa2014.1.i586
gstreamer0.10-vdpau-0.10.23-6plf-plf2014.1.i586
vaapi-driver-vdpau-0.7.4-5-rosa2014.1.i586
vdpauinfo-1.0-1-rosa2014.1.i586
libvdpau_va_gl1-0.3.4-1-rosa2014.1.i586
libvdpau-trace-1.1.1-2-rosa2014.1.i586
myhost alex #
euspectre
Сообщения: 1060
Зарегистрирован: 21 дек 2012, 15:24
Operating system: Linux в разных вариантах

Re: nouveau и firmware для vdpau

Сообщение euspectre »

$ rpm -qa *nouveau*
x11-driver-video-nouveau-1.0.11-2.20151117.2-rosa2014.1.x86_64
lib64drm_nouveau2-2.4.66-1-rosa2014.1.x86_64
libdrm_nouveau2-2.4.66-1-rosa2014.1.i586

$ rpm -qa *vdpau*
lib64vdpau1-1.1.1-2-rosa2014.1.x86_64
vdpauinfo-1.0-1-rosa2014.1.x86_64
Ещё такой момент. Я пробовал всё на 64-битной системе, а Вы - на 32-битной.

У NVidia бывает так, что драйверы и пр. имеют несколько разные возможности, в зависимости от битности (напр., новая CUDA для 32-битных систем просто не поддерживается). Может, это тоже как-то влияет.

Если будет время на неделе, посмотрю, что будет на том же железе на 32-битной системе.
Аватара пользователя
Brainey
Сообщения: 146
Зарегистрирован: 18 июл 2012, 20:13

Re: nouveau и firmware для vdpau

Сообщение Brainey »

Спасибо. А ядро на х86_64 собрано так же? Что скажет

Код: Выделить всё

cat /boot/config-`uname -r` | grep CONFIG_FIRMWARE_IN_KERNEL
?
euspectre
Сообщения: 1060
Зарегистрирован: 21 дек 2012, 15:24
Operating system: Linux в разных вариантах

Re: nouveau и firmware для vdpau

Сообщение euspectre »

Brainey писал(а):Спасибо. А ядро на х86_64 собрано так же? Что скажет

Код: Выделить всё

cat /boot/config-`uname -r` | grep CONFIG_FIRMWARE_IN_KERNEL
?
Да, на x86_64 тоже CONFIG_FIRMWARE_IN_KERNEL=y.

В Debian этот параметр не установлен, как я догадываюсь, по "идеологическим" причинам: firmware-файлы, как правило, идут не под GPL-совместимой лицензией.

Тем более, в состав ядра входят файлы firmware далеко не для всего. Драйверы, как правило, требуют firmware вполне определённых версий и эти файлы firmware загружаются из user space, из /lib/firmware, как обычно.

Собственно, вот, что есть в ядре: http://lxr.free-electrons.com/source/firmware/?v=4.1. Для nouveau там ничего не видно.
Аватара пользователя
Brainey
Сообщения: 146
Зарегистрирован: 18 июл 2012, 20:13

Re: nouveau и firmware для vdpau

Сообщение Brainey »

Ну там я и не ожидал ничего увидеть. Обычно в дистрибутивах (типа arch, ubuntu, mandriva) firmware для nouveau идёт отдельным пакетом.
euspectre
Сообщения: 1060
Зарегистрирован: 21 дек 2012, 15:24
Operating system: Linux в разных вариантах

Re: nouveau и firmware для vdpau

Сообщение euspectre »

Brainey писал(а):Ну там я и не ожидал ничего увидеть. Обычно в дистрибутивах (типа arch, ubuntu, mandriva) firmware для nouveau идёт отдельным пакетом.
Верно.
CONFIG_FIRMWARE_IN_KERNEL касается только тех firmware-файлов, что лежат в том каталоге с исходниками ядра. Это не запрещает ядру загружать firmware извне.
Аватара пользователя
Brainey
Сообщения: 146
Зарегистрирован: 18 июл 2012, 20:13

Re: nouveau и firmware для vdpau

Сообщение Brainey »

Из интереса пробовал вставлять 8600GT, но ничего не изменилось и с ней.
euspectre
Сообщения: 1060
Зарегистрирован: 21 дек 2012, 15:24
Operating system: Linux в разных вариантах

Re: nouveau и firmware для vdpau

Сообщение euspectre »

Попробовал на днях на 32-битной Росе с тем же железом - всё аналогично тому, что там было на x64. Симптомы те же, ошибки те же.

Что-то явно "железоспецифичное". Тут уже, скорее, надо авторов nouveau спрашивать (https://lists.freedesktop.org/mailman/listinfo/nouveau).
Аватара пользователя
Brainey
Сообщения: 146
Зарегистрирован: 18 июл 2012, 20:13

Re: nouveau и firmware для vdpau

Сообщение Brainey »

Ну в Debian оно работало нормально на версиях Mesa из stable, потом из backports. Может быть это косяк отдельно взятой попавшейся мне версии. Подождём апдейтов...
Аватара пользователя
Brainey
Сообщения: 146
Зарегистрирован: 18 июл 2012, 20:13

Re: nouveau и firmware для vdpau

Сообщение Brainey »

Кстати, firmware подгружалось у вас во время старта системы или только при просмотре видео?
euspectre
Сообщения: 1060
Зарегистрирован: 21 дек 2012, 15:24
Operating system: Linux в разных вариантах

Re: nouveau и firmware для vdpau

Сообщение euspectre »

При старте, как минимум, система пыталась его загрузить.
Ответить

Вернуться в «Общие вопросы по РОСЕ»