Автор Тема: P9: не работает libva с nvidia после обновления до 2.6.0  (Прочитано 37665 раз)

Оффлайн kiav

  • Завсегдатай
  • *
  • Сообщений: 527
  • Стич-спасатель
    • Email
$ vainfo
libva info: VA-API version 1.6.0
libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit

Ранее проблемный файл можно было найти в своем пакете:
$ apf search /usr/lib64/dri/nvidia_drv_video.so
libva-driver-vdpau

Но сейчас такого пакета нет.

Что есть в пакетах
Спойлер
$ apt-cache search libva
avidemux-qt - Avidemux is a graphical AVI files editor
libva - Video Acceleration (VA) API for Linux
libva-devel - Development files for libva
libva-driver-intel - VA-API (Video Acceleration API) user mode driver for Intel GEN Graphics family
libva-intel-media-driver - Intel(R) Media Driver for VAAPI
libva-utils - Tools for VAAPI (including vainfo)
libva1 - Video Acceleration (VA) API for Linux
libvalhalla-devel - A media scanner
libvalhalla-test - A media scanner
libvalhalla2 - A media scanner
libvamp - plugin system for plugins that extract descriptive information from audio data
libvamp-devel - Headers for libvamp
libvarconf - Configuration library used by WorldForge clients
libvarconf-devel - Development files for varconf library
libvala-devel - Development files for embedding Vala translator
vala - Vala is a programming language which makes GNOME programming easy
valadoc - Vala documentation generator
varnish-libs - Libraries for varnish
i586-avidemux-qt - Avidemux is a graphical AVI files editor
i586-libva - Video Acceleration (VA) API for Linux
i586-libva-devel - Development files for libva
i586-libva-driver-intel - VA-API (Video Acceleration API) user mode driver for Intel GEN Graphics family
i586-libva1 - Video Acceleration (VA) API for Linux
i586-libvala-devel - Development files for embedding Vala translator
i586-libvalhalla-devel - A media scanner
i586-libvalhalla2 - A media scanner
i586-libvamp - plugin system for plugins that extract descriptive information from audio data
i586-libvamp-devel - Headers for libvamp
i586-libvarconf - Configuration library used by WorldForge clients
i586-libvarconf-devel - Development files for varconf library
i586-vala - Vala is a programming language which makes GNOME programming easy
i586-valadoc - Vala documentation generator
i586-varnish-libs - Libraries for varnish
libvariant-devel - Development files for libvariant
sbis3plugin - Desktop Plugin for convenient work in the browser

Что установлено из libva
Спойлер
$ rpm -qa | fgrep libva
libva-driver-intel-2.4.0-alt1.x86_64
libva-2.6.0-alt1.x86_64
libvamp-2.5-alt2.hg20140905.1.x86_64
libva-utils-2.4.0-alt1.x86_64

А что стоит от nvidia
Спойлер
$ rpm -qa | fgrep nvidia
kernel-modules-nvidia-un-def-440.44-alt1.328707.1.x86_64
nvidia-settings-440.31-alt1.x86_64
libnvidia-ptxjitcompiler-440.44-alt1.x86_64
i586-nvidia_glx_390.132-390.132-alt200.i586
i586-nvidia_glx_common-440.44-alt222.i586
nvidia_glx_340.108-340.108-alt165.x86_64
libnvidia-compiler-440.44-alt1.x86_64
ocl-nvidia-440.44-alt1.x86_64
i586-nvidia_glx_340.107-340.107-alt164.i586
libnvidia-encode-440.44-alt1.x86_64
libnvidia-opencl-440.44-alt1.x86_64
i586-nvidia_glx_440.44-440.44-alt204.i586
i586-nvidia_glx_440.36-440.36-alt202.i586
i586-nvidia_glx_340.108-340.108-alt165.i586
nvidia-xconfig-440.31-alt1.x86_64
nvidia_glx_440.44-440.44-alt204.x86_64
nvidia_glx_440.36-440.36-alt202.x86_64
i586-libnvidia-egl-wayland1-1.1.4-alt1.i586
libnvidia-ml-440.44-alt1.x86_64
nvidia_glx_common-440.44-alt222.x86_64
apt-scripts-nvidia-0.6.0-alt1.x86_64
nvidia_glx_390.132-390.132-alt200.x86_64
kernel-modules-nvidia-un-def-440.36-alt2.328463.1.x86_64
libnvidia-egl-wayland1-1.1.4-alt1.x86_64
nvidia_glx_340.107-340.107-alt164.x86_64

Ну а болячка стала беспокоить потому, что перестал работать chromium
Спойлер
$ chromium-gost
[5218:5218:0210/135622.607414:ERROR:vaapi_wrapper.cc(328)] vaInitialize failed (ignore if using Wayland desktop environment): unknown libva error
[5268:5268:0210/135622.657442:ERROR:vaapi_wrapper.cc(328)] vaInitialize failed (ignore if using Wayland desktop environment): unknown libva error
[5296:5296:0210/135622.698351:ERROR:vaapi_wrapper.cc(328)] vaInitialize failed (ignore if using Wayland desktop environment): unknown libva error
[5372:5372:0210/135623.132856:ERROR:vaapi_wrapper.cc(328)] vaInitialize failed (ignore if using Wayland desktop environment): unknown libva error
[5375:5375:0210/135623.171250:ERROR:vaapi_wrapper.cc(328)] vaInitialize failed (ignore if using Wayland desktop environment): unknown libva error
[5384:5384:0210/135623.270177:ERROR:vaapi_wrapper.cc(328)] vaInitialize failed (ignore if using Wayland desktop environment): unknown libva error
[5386:5386:0210/135623.306030:ERROR:vaapi_wrapper.cc(328)] vaInitialize failed (ignore if using Wayland desktop environment): unknown libva error
[5388:5388:0210/135623.342155:ERROR:vaapi_wrapper.cc(328)] vaInitialize failed (ignore if using Wayland desktop environment): unknown libva error
[5390:5390:0210/135623.379009:ERROR:vaapi_wrapper.cc(328)] vaInitialize failed (ignore if using Wayland desktop environment): unknown libva error
[5188:5204:0210/135623.381574:FATAL:gpu_data_manager_impl_private.cc(894)] The display compositor is frequently crashing. Goodbye.
Ловушка трассировки/останова

$ ./nvidia-smi
Mon Feb 10 14:03:20 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.44       Driver Version: 440.44       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce RTX 2060    Off  | 00000000:07:00.0  On |                  N/A |
| 38%   41C    P8    10W / 160W |    638MiB /  5932MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1665      G   X                                            394MiB |
|    0      3209      G   /usr/lib/kf5/bin/kwin_x11                    100MiB |
|    0      3219      G   /usr/lib/kf5/bin/plasmashell                 139MiB |
+-----------------------------------------------------------------------------+
« Последнее редактирование: 10.02.2020 14:03:55 от kiav »

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Сноси Винду, переходи на Линукс ! :)

Оффлайн kiav

  • Завсегдатай
  • *
  • Сообщений: 527
  • Стич-спасатель
    • Email
Добро пожаловать сюда https://forum.altlinux.org/index.php?topic=43541.msg346089#msg346089
Я там был.

Во-первых, там не докопались до причины. А причина в том, что после обновления libva как-то потерялся драйвер для nvidia.
Во-вторых, поведение chromium - просто повод разобраться, но не причина. Болячка именно в libva, пропал совершенно определенный пакет. Что интересно, он, якобы, никогда и не был в P9. Тогда чего ищет vainfo? И что я видел до обновления базы apf при поиске файла /usr/lib64/dri/nvidia_drv_video.so?

Хотя, если вот так поступить, то становится ясно, что не все пакеты по libva вообще обновлены:
$ unset DISPLAY
$ vainfo
error: can't connect to X server!
libva info: VA-API version 1.6.0
vainfo: VA-API version: 1.6 (libva 2.4.0)
vainfo: Driver version: <unknown>
vainfo: Supported profile and entrypoints
Ошибка сегментирования

Видите "vainfo: VA-API version: 1.6 (libva 2.4.0)"?

Добавлено:

Проблема решается даунгрейдом libva.
Для тех, кто будет повторять, сначала нужно изменить источник репы. Я это сделал в одном файле (в остальных все комментировал, что было):

/etc/apt/sources.list.d/alt.list
rpm [p9] http://ftp.altlinux.org/pub/distributions/archive/p9/date/2020/02/01/ x86_64 classic gostcrypto
rpm [p9] http://ftp.altlinux.org/pub/distributions/archive/p9/date/2020/02/01/ x86_64-i586 classic
rpm [p9] http://ftp.altlinux.org/pub/distributions/archive/p9/date/2020/02/01/ noarch classic

Далее:
# apt-get update
# epm downgrade libva
# apt-get install libva-driver-vdpau
# vainfo
error: XDG_RUNTIME_DIR not set in the environment.
libva info: VA-API version 1.4.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_1
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.4 (libva 2.4.0)
vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API - 0.7.4
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG4Simple            : VAEntrypointVLD
      VAProfileMPEG4AdvancedSimple    : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD

chromium снова жив, хоть и валит в консоль много всего
Спойлер
$ chromium-gost
[17714:17714:0210/205814.723372:ERROR:vaapi_wrapper.cc(717)] vaQuerySurfaceAttributes failed VA error: invalid parameter
[17714:17714:0210/205814.723485:ERROR:vaapi_wrapper.cc(608)] FillProfileInfo_Locked failed for va_profile 0 and entrypoint 1
[17714:17714:0210/205814.723499:ERROR:vaapi_wrapper.cc(717)] vaQuerySurfaceAttributes failed VA error: invalid parameter
[17714:17714:0210/205814.723507:ERROR:vaapi_wrapper.cc(608)] FillProfileInfo_Locked failed for va_profile 1 and entrypoint 1
[17714:17714:0210/205814.723515:ERROR:vaapi_wrapper.cc(717)] vaQuerySurfaceAttributes failed VA error: invalid parameter
[17714:17714:0210/205814.723523:ERROR:vaapi_wrapper.cc(608)] FillProfileInfo_Locked failed for va_profile 2 and entrypoint 1
[17714:17714:0210/205814.723535:ERROR:vaapi_wrapper.cc(717)] vaQuerySurfaceAttributes failed VA error: invalid parameter
[17714:17714:0210/205814.723542:ERROR:vaapi_wrapper.cc(608)] FillProfileInfo_Locked failed for va_profile 3 and entrypoint 1
[17714:17714:0210/205814.723549:ERROR:vaapi_wrapper.cc(717)] vaQuerySurfaceAttributes failed VA error: invalid parameter
[17714:17714:0210/205814.723557:ERROR:vaapi_wrapper.cc(608)] FillProfileInfo_Locked failed for va_profile 6 and entrypoint 1
[17714:17714:0210/205814.723564:ERROR:vaapi_wrapper.cc(717)] vaQuerySurfaceAttributes failed VA error: invalid parameter
[17714:17714:0210/205814.723571:ERROR:vaapi_wrapper.cc(608)] FillProfileInfo_Locked failed for va_profile 7 and entrypoint 1
[17714:17714:0210/205814.723578:ERROR:vaapi_wrapper.cc(717)] vaQuerySurfaceAttributes failed VA error: invalid parameter
[17714:17714:0210/205814.723585:ERROR:vaapi_wrapper.cc(608)] FillProfileInfo_Locked failed for va_profile 8 and entrypoint 1
[17714:17714:0210/205814.723592:ERROR:vaapi_wrapper.cc(717)] vaQuerySurfaceAttributes failed VA error: invalid parameter
[17714:17714:0210/205814.723599:ERROR:vaapi_wrapper.cc(608)] FillProfileInfo_Locked failed for va_profile 9 and entrypoint 1
[17714:17714:0210/205814.723606:ERROR:vaapi_wrapper.cc(717)] vaQuerySurfaceAttributes failed VA error: invalid parameter
[17714:17714:0210/205814.723614:ERROR:vaapi_wrapper.cc(608)] FillProfileInfo_Locked failed for va_profile 10 and entrypoint 1
[17714:17714:0210/205814.723623:ERROR:vaapi_wrapper.cc(438)] GetConfigAttributes failed for va_profile 6
[17714:17714:0210/205814.723630:ERROR:vaapi_wrapper.cc(438)] GetConfigAttributes failed for va_profile 7
[1:14:0210/205815.750487:ERROR:data_channel.cc(44)] Accepting maxRetransmits = -1 for backwards compatibility
[1:14:0210/205815.750548:ERROR:data_channel.cc(49)] Accepting maxRetransmitTime = -1 for backwards compatibility
[17684:17700:0210/205819.149176:ERROR:browser_process_sub_thread.cc(203)] Waited 223 ms for network service
« Последнее редактирование: 10.02.2020 21:05:03 от kiav »

Оффлайн Rider

  • /usr/sbin/control
  • *******
  • Сообщений: 1 136
libva-driver-vdpau удалён из репозитория в связи с отсуствием поддержки со стороны апстрима. проект мёртв.
Я пробовал его использовать пару раз и безрезультатно - работает криво, и чаще не работает чем работает.

Оффлайн Rider

  • /usr/sbin/control
  • *******
  • Сообщений: 1 136
Некоторое количество подробностей по поводу VDPAU в VA_API есть в этом треде:
https://devtalk.nvidia.com/default/topic/1033137/linux/whats-the-situation-with-vdpau-vaapi-nvdec-

На данный момент всё плохо и работающей реализации для видекарт nvidia с проприетарным драйвером нету.

Оффлайн kiav

  • Завсегдатай
  • *
  • Сообщений: 527
  • Стич-спасатель
    • Email
На данный момент всё плохо и работающей реализации для видекарт nvidia с проприетарным драйвером нету.
Нужен драйвер для NVIDIA без VDPAU. Вроде как это возможно, но я его не видел.

Оффлайн kiav

  • Завсегдатай
  • *
  • Сообщений: 527
  • Стич-спасатель
    • Email
Небольшое дополнение.

Поставить libva в Hold мне строго по инструкции не удалось. Пришлось делать тоже самое не в отдельном файле, как там написано, а в /etc/apt/apt.conf

Оффлайн Kalt

  • Завсегдатай
  • *
  • Сообщений: 996
chromium снова жив, хоть и валит в консоль много всего
...Да пусть валит! Здесь: https://forum.altlinux.org/index.php?topic=43541.msg346089#msg346089 уже пытаются убедить, что это глючный браузер. Хотя кое где он ведь даже штатный...
...Ну а разбежавшиеся пакеты, пусть и не сразу, но конечно же подружат...
Небольшое дополнение.
...Мне кстати тоже это не удалось...
Intel Xeon X3440 2,53GHz, MSI H55- G43, DDR3- 4x2GB, GF GT710

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Вы можете толком объяснить, откат чего на старую версию может решить мою проблему ?
Как пишет Rider, что якобы можно спокойно удалить libva-driver-vdpau, то нет, после этого Chromium вообще не запускается. По мне, тянет на баг.
Сноси Винду, переходи на Линукс ! :)

Оффлайн Kalt

  • Завсегдатай
  • *
  • Сообщений: 996
По мне, тянет на баг.
...Вполне. Что на GT 710, что на GT 440, Chromium на проприетарных драйверах не запускается, на nouveau работает. А про libva-driver-vdpau автор уже ранее сказал:
Но сейчас такого пакета нет.
« Последнее редактирование: 12.02.2020 17:59:37 от Kalt »
Intel Xeon X3440 2,53GHz, MSI H55- G43, DDR3- 4x2GB, GF GT710

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Но сейчас такого пакета нет.
Это я вижу.

Добавлено
Пропустил изменение сообщения, сделал пока также.
« Последнее редактирование: 12.02.2020 18:32:19 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
Поставить libva в Hold мне строго по инструкции не удалось. Пришлось делать тоже самое не в отдельном файле, как там написано, а в /etc/apt/apt.conf
# cat /etc/apt/apt.conf.d/hold-libva.conf
RPM::Hold {
        "^libva";
};

# apt-get dist-upgrade
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Подсчет обновлений... Завершено
Следующие пакеты будут СОХРАНЕНЫ:
  libva
0 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 1 не будет обновлено.
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 145
    • Email
На самом деле всё те же фризы остались:
$ rpm -q libva-driver-vdpau
libva-driver-vdpau-0.7.4-alt4.x86_64
$ rpm -q libva
libva-2.4.0-alt1.x86_64
$ rpm -q chromium
chromium-79.0.3945.130-alt1.x86_64
« Последнее редактирование: 12.02.2020 20:02:40 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн kiav

  • Завсегдатай
  • *
  • Сообщений: 527
  • Стич-спасатель
    • Email
libva-driver-vdpau удалён из репозитория в связи с отсуствием поддержки со стороны апстрима. проект мёртв.
Мне даже найти его не удалось, чтобы убедиться в смерти.

Некоторое количество подробностей по поводу VDPAU в VA_API есть в этом треде:
https://devtalk.nvidia.com/default/topic/1033137/linux/whats-the-situation-with-vdpau-vaapi-nvdec-
Тема старая совсем. К сожалению (из того, что я могу понять) имеющаяся библиотека VDPAU (то, что есть в P9) и сейчас не поддерживает HEVC 10 и 12 бит. Якобы есть где-то библиотека с поддержкой VP9, но также, якобы, все еще нет драйвера для видеокарт с его поддержкой.

Есть видео на YouTube, где сказано, что VA-API - детище Intel, VDPAU - NVIDIA. Тоже самое пишут на страницах VLC. Т.е. на поддержку VDPAU в VA-API надеяться трудно. Тем более, что NVIDIA паршиво поддерживает сама свое VDPAU.

Вижу возню над поддержкой NVDEC в VLC.
Пишут о поддержке NVDEC в MPV. Не уверен, что это сработает в P9 если вывод идет через ffmpeg.

Может быть, когда-нибудь, будет поддержка NVDEC и в VA-API.

В общем, удалять libva-driver-vdpau из пакетной базы сейчас преждевременно, альтернативы нет.

Добавлено:

Почитал man mpv.
Цитировать
nvdec  is  a  newer implementation of CUVID/CUDA decoding, which uses the FFmpeg decoders for file parsing. Experimental, is known not to correctly check whether decoding is supported by the hardware at all. Deinterlacing is not supported.  Since  this  uses  FFmpeg's  codec parsers, it is expected that this generally causes fewer issues than cuda.

MPV в P9 собран с ffmpeg без поддержки NVDEC. Хочешь в mpv ускорение? Собирай их исходников (ffmpeg я собрал).
« Последнее редактирование: 12.02.2020 22:25:25 от kiav »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
на nouveau работает

Под nouveau драйвер есть и пакет с этим драйвером в комплектации образов штатный.