LINUX.ORG.RU

nixos + libvdpau_radeonsi.so

 , , ,


0

1

Обновился до 26.05 и стало виснуть видео в mpv. Посмотрел логи, а там:

[ffmpeg] CUDA: Cannot load libcuda.so.1
[ffmpeg] CUDA: Could not dynamically load CUDA
[ffmpeg/video] mpeg4: No support for codec mpeg4 profile 15.
[ffmpeg/video] mpeg4: Failed setup for format vaapi: hwaccel initialisation returned error.
[ffmpeg/video] mpeg4: decoding to AV_PIX_FMT_NONE is not supported.
[ffmpeg/video] mpeg4: No support for codec mpeg4 profile 15.
[ffmpeg/video] mpeg4: Failed setup for format vaapi: hwaccel initialisation returned error.
[ffmpeg/video] mpeg4: decoding to AV_PIX_FMT_NONE is not supported.
Failed to open VDPAU backend libvdpau_radeonsi.so: cannot open shared object file: No such file or directory
vdpauinfo 
display: :0.0   screen: 0
Failed to open VDPAU backend libvdpau_radeonsi.so: cannot open shared object file: No such file or directory
Error creating VDPAU device: 1
locate libvdpau_radeonsi.so
/nix/store/9izf19cawajqfav9cj48qccr7mc2f5cb-mesa-25.0.7/lib/vdpau/libvdpau_radeonsi.so
/nix/store/9izf19cawajqfav9cj48qccr7mc2f5cb-mesa-25.0.7/lib/vdpau/libvdpau_radeonsi.so.1
/nix/store/9izf19cawajqfav9cj48qccr7mc2f5cb-mesa-25.0.7/lib/vdpau/libvdpau_radeonsi.so.1.0
/nix/store/9izf19cawajqfav9cj48qccr7mc2f5cb-mesa-25.0.7/lib/vdpau/libvdpau_radeonsi.so.1.0.0
/nix/store/avs0z400pcmwmvlgg3dzx1d68rbihf1m-steam-run-fhsenv-rootfs/usr/lib32/vdpau/libvdpau_radeonsi.so
/nix/store/avs0z400pcmwmvlgg3dzx1d68rbihf1m-steam-run-fhsenv-rootfs/usr/lib32/vdpau/libvdpau_radeonsi.so.1
/nix/store/avs0z400pcmwmvlgg3dzx1d68rbihf1m-steam-run-fhsenv-rootfs/usr/lib32/vdpau/libvdpau_radeonsi.so.1.0
/nix/store/avs0z400pcmwmvlgg3dzx1d68rbihf1m-steam-run-fhsenv-rootfs/usr/lib32/vdpau/libvdpau_radeonsi.so.1.0.0
/nix/store/avs0z400pcmwmvlgg3dzx1d68rbihf1m-steam-run-fhsenv-rootfs/usr/lib64/vdpau/libvdpau_radeonsi.so
/nix/store/avs0z400pcmwmvlgg3dzx1d68rbihf1m-steam-run-fhsenv-rootfs/usr/lib64/vdpau/libvdpau_radeonsi.so.1
/nix/store/avs0z400pcmwmvlgg3dzx1d68rbihf1m-steam-run-fhsenv-rootfs/usr/lib64/vdpau/libvdpau_radeonsi.so.1.0
/nix/store/avs0z400pcmwmvlgg3dzx1d68rbihf1m-steam-run-fhsenv-rootfs/usr/lib64/vdpau/libvdpau_radeonsi.so.1.0.0
/nix/store/cvz1bgx6vhgxi3cfn2bf6wfhfk0l1d5g-graphics-drivers/lib/vdpau/libvdpau_radeonsi.so
/nix/store/cvz1bgx6vhgxi3cfn2bf6wfhfk0l1d5g-graphics-drivers/lib/vdpau/libvdpau_radeonsi.so.1
/nix/store/cvz1bgx6vhgxi3cfn2bf6wfhfk0l1d5g-graphics-drivers/lib/vdpau/libvdpau_radeonsi.so.1.0
/nix/store/cvz1bgx6vhgxi3cfn2bf6wfhfk0l1d5g-graphics-drivers/lib/vdpau/libvdpau_radeonsi.so.1.0.0
/nix/store/klqrrvryc3lv9wd9x0kggr7gq1qraaij-steam-fhsenv-rootfs/usr/lib32/vdpau/libvdpau_radeonsi.so
/nix/store/klqrrvryc3lv9wd9x0kggr7gq1qraaij-steam-fhsenv-rootfs/usr/lib32/vdpau/libvdpau_radeonsi.so.1
/nix/store/klqrrvryc3lv9wd9x0kggr7gq1qraaij-steam-fhsenv-rootfs/usr/lib32/vdpau/libvdpau_radeonsi.so.1.0
/nix/store/klqrrvryc3lv9wd9x0kggr7gq1qraaij-steam-fhsenv-rootfs/usr/lib32/vdpau/libvdpau_radeonsi.so.1.0.0
/nix/store/klqrrvryc3lv9wd9x0kggr7gq1qraaij-steam-fhsenv-rootfs/usr/lib64/vdpau/libvdpau_radeonsi.so
/nix/store/klqrrvryc3lv9wd9x0kggr7gq1qraaij-steam-fhsenv-rootfs/usr/lib64/vdpau/libvdpau_radeonsi.so.1
/nix/store/klqrrvryc3lv9wd9x0kggr7gq1qraaij-steam-fhsenv-rootfs/usr/lib64/vdpau/libvdpau_radeonsi.so.1.0
/nix/store/klqrrvryc3lv9wd9x0kggr7gq1qraaij-steam-fhsenv-rootfs/usr/lib64/vdpau/libvdpau_radeonsi.so.1.0.0
/nix/store/l4myp7qn0q9bqgmkqq4vnnii22ql1r68-mesa-25.0.7/lib/vdpau/libvdpau_radeonsi.so
/nix/store/l4myp7qn0q9bqgmkqq4vnnii22ql1r68-mesa-25.0.7/lib/vdpau/libvdpau_radeonsi.so.1
/nix/store/l4myp7qn0q9bqgmkqq4vnnii22ql1r68-mesa-25.0.7/lib/vdpau/libvdpau_radeonsi.so.1.0
/nix/store/l4myp7qn0q9bqgmkqq4vnnii22ql1r68-mesa-25.0.7/lib/vdpau/libvdpau_radeonsi.so.1.0.0
ls -1 /run/opengl-driver/lib/vdpau/
libvdpau_va_gl.so
libvdpau_va_gl.so.1
environment.sessionVariables = lib.mkIf (videocard == "ryzen7000_amdgpu") {
    LIBVA_DRIVER_NAME = "radeonsi";
    VDPAU_DRIVER = "radeonsi";
  };

  hardware = {
    graphics = {
      enable = true;          
      enable32Bit = true;
      # driSupport = true;  # <-- deprecated
      extraPackages = with pkgs; [
        mesa                  
        libGL                 
        libva-vdpau-driver    
        libvdpau-va-gl        
        libva
      ];
    };
  };

Если попробовать сделать так:

VDPAU_DRIVER=radeonsi VDPAU_DRIVER_PATH="/nix/store/cvz1bgx6vhgxi3cfn2bf6wfhfk0l1d5g-graphics-drivers/lib/vdpau/libvdpau_radeonsi.so" vdpauinfo 
display: :0.0   screen: 0
Failed to open VDPAU backend libvdpau_radeonsi.so: cannot open shared object file: No such file or directory
Error creating VDPAU device: 1
uname -a
Linux desktop-nixos 7.1.5-xanmod1 #1-NixOS SMP PREEMPT_DYNAMIC Tue Jan  1 00:00:00 UTC 1980 x86_64 GNU/Linux

Перечитал доку https://wiki.nixos.org/wiki/AMD_GPU Вроде ничего не поменялось

★★★★☆

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

vaapi, на некоторых новых видеокартах уже через vulkan начали кодеки гонять, но, говорят, ещё сыроват. Если arm soc, то разные вариации v4l2 (m2m или request). У актуального блоба нвидий nvdec, но vulkan они тоже внедряют. В твоём случае советую убрать vdpau и все врапперы (libva-vdpau-driver libvdpau-va-gl), в мпв прописать просто hwdec, он сам определяет. Скорее всего, выберет vaapi. Для вывода советую vo=gpu-next или для экономии vo=dmabuf-wayland (если поддерживается железом и драйвером, на иксах не работает).

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

auto-safe не прокатывает. Может из-за шейдеров, которые юзают vdpau. В общем из терминала работает

mpv --no-config -vo=gpu-next -hwdec=auto-safe Black_47_2018_BDRip_MVO_by_Dalemake.avi

А если проставить auto-safe в конфиге - нет. Работает, если только явно vaapi указать

bryak ★★★★☆
() автор топика

Так я не пойму, vdpau вообще отвалилось глобально и deprecated(имеется ввиду в иксах)? А через vaapi будет кодирование видео на gpu работать или нет? Что вообще не работает на vaapi, что работало в vdpau?

UPD1: включил в mpv hwdec=vulkan - работает

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

radeon[any] и vdpau вообще-то странное решение.
емнип, vdpau это про куртку только.
не знаю, но у меня универсальный конфиг для iXe/7900GRE/GTX1060 - gpu-next/auto-safe. как ни странно - УМВР)

etwrq ★★★★★
()
Последнее исправление: etwrq (всего исправлений: 1)
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария