Bug 53406

Summary: [amdgpu] [vaapi] broken hardware video decoding
Product: Sisyphus Reporter: Konstantin A Lepikhov (L.A. Kostis) <lakostis>
Component: firefoxAssignee: Ajrat Makhmutov <rauty>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: major    
Priority: P5 CC: legion, rauty, sbolshakov
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Konstantin A Lepikhov (L.A. Kostis) 2025-03-11 23:28:37 MSK
графический сеанс: X11

$ rpm -q firefox
firefox-136.0-alt1.x86_64

$ vainfo 
Trying display: wayland
Trying display: x11
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Mesa Gallium driver 25.0.1 for AMD Radeon RX 6700 XT (radeonsi, navi22, LLVM 19.1.7, DRM 3.59, 6.12.0-lks-wks-alt0.13)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointEncSlice
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointVLD
      VAProfileAV1Profile0            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc

firefox запускается и определяет, что hardware video decoding поддерживается:

Codec Support Information	
Codec Name	Software Decoding	Hardware Decoding
H264	Supported	Supported
VP9	Supported	Supported
VP8	Supported	Unsupported
AV1	Supported	Supported
HEVC	Unsupported	Unsupported
AAC	Supported	Unsupported
MP3	Supported	Unsupported
Opus	Supported	Unsupported
Vorbis	Supported	Unsupported
FLAC	Supported	Unsupported
Wave	Supported	Unsupported

но при попытке воспроизведения costa rica 4k на youtube в логах ошибка и на экране сообщение, что видео не может быть воспроизведено. Ошибка в логах:

libva info: VA-API version 1.22.0                                                                                                                                                                                                                                                         
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so                                                                                                                                                                                                                           
libva info: Found init function __vaDriverInit_1_22                                                                                                                                                                                                                                       
libva info: va_openDriver() returns 0                                                                                                                                                                                                                                                     
ATTENTION: default value of option mesa_glthread overridden by environment.                                                                                                                                                                                                               
[Child 1655377, MediaDecoderStateMachine #1] WARNING: Decoder=7f37059e6800 state=DECODING_METADATA Decode metadata failed, shutting down decoder: file /usr/src/RPM/BUILD/firefox-136.0/dom/media/MediaDecoderStateMachine.cpp:372                                                        
[Child 1655377, MediaDecoderStateMachine #1] WARNING: Decoder=7f37059e6800 Decode error: NS_ERROR_DOM_MEDIA_METADATA_ERR (0x806e0006): file /usr/src/RPM/BUILD/firefox-136.0/dom/media/MediaDecoderStateMachineBase.cpp:168                                                               
ATTENTION: default value of option mesa_glthread overridden by environment.                                                                                                                                                                                                               
ATTENTION: default value of option mesa_glthread overridden by environment.

Все работало с версией 135.0-alt1.
Comment 1 Konstantin A Lepikhov (L.A. Kostis) 2025-03-11 23:30:13 MSK
декодирование работает успешно через mpv -vo vaapi -hwdec vaapi, т.е. это не проблема mesa/vaapi.
Comment 2 Ajrat Makhmutov 2025-03-12 19:05:26 MSK
Проверил на 136.0.1 из задания https://packages.altlinux.org/ru/tasks/377747/.

@ firefox
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0

Warning'ов и error'ов нет.
Проверьте пожалуйста на новой версии.
Comment 3 Konstantin A Lepikhov (L.A. Kostis) 2025-03-12 21:41:46 MSK
Спасибо!

Похоже, в моем случае виновато было какое-то проблемное расширение, либо youtube classic либо h264fy, после удаления обоих все заработало как нужно.