Description of problem: When vlc hardware acceleration mode is set to "automatic", it chooses the "OpenGL/VAAPI backend for VDPAU". Then it may cause my 2 machines hang with some H264 videos. When "disabled" or forced with "VA-API", hanging never happens. Version-Release number of selected component (if applicable): vlc-3.0.2-0.1.mga6.tainted How reproducible: always. The 2 machines are {Celeron N3050/Intel HD Graphics 400} and {Pentium N3710/Intel HD Graphics 405}. Steps to Reproduce: 1. in a shell, launch vlc. 2. Ensure the hardware acceleration mode is "automatic" (in tools/settings/codec) 3. Launch an h264 video => with some videos, screen hangs. Cannot control the machine anymore. Before hanging, the following logs are displayed: VLC media player 3.0.2 Vetinari (revision 3.0.2-0-gd7b653cf14) [00000000023851a0] main libvlc: Lancement de vlc avec l'interface par défaut. Utilisez « cvlc » pour démarrer VLC sans interface. libva info: VA-API version 0.39.4 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_39 failed to open /usr/lib64/dri/hybrid_drv_video.so Failed to wrapper hybrid_drv_video.so libva info: va_openDriver() returns 0 [00007f52d0c3d4e0] avcodec decoder: Using OpenGL/VAAPI backend for VDPAU for hardware decoding Workaround : in "tools/settings/codec/hardware accerelation": - set "disabled". - or set "VA-API". in this case, machine never hangs. If the same error with /usr/lib64/dri/hybrid_drv_video.so is logged, another avcodec is chosen ( "Using Intel i965 driver for Intel(R) CherryView - 1.7.3 for hardware decoding" )
Priority: Normal => Low
Assignee: bugsquad => shlomif
Can you provide a sample problem video? You can use https://rg3.github.io/youtube-dl/ .
Created attachment 10226 [details] video vlc hang part1
Created attachment 10227 [details] video vlc hang part2
Created attachment 10228 [details] video vlc hang part3
Added a three part splitted little video that makes vlc ( and the computer ) hang. You can rebuild the mp4 file via "cat xaa xab xac > video.mp4"
On my comp with: <ul> <li> An Intel Core i3 CPU (x86-64). </li> <li> 8 GB of RAM. </li> <li> Intel Corporation Sandy Bridge Integrated Graphics Controller (rev 09) </li> <li> A 2 TB hard-disk. </li> <li> A 21″ Wide LCD Screen by LG. </li> <li> Intel Corporation Cougar Point High Definition Audio Controller. </li> <li> Intel Corporation 82579V Gigabit Network Connection. </li> </ul> and mga7 cauldron x64, vlc does not hang the system with that configuration. I also host your file here: http://www.shlomifish.org/Files/files/video/mga23121-vid1.mp4 I have mga6 installed on a different partition and can reboot to it to check.
Thanks for testing and sharing the file. I am not surprised it works on your side. It might be really hardware specific. Yet some guys from MLO (french forum) wonder what is that missing hybrid_drv_video.so. And why vlc chooses the problematic "OpenGL/VAAPI backend for VDPAU", which leads into hanging, instead of VA-API which actually works.
(In reply to Alain Choucroot from comment #7) > Thanks for testing and sharing the file. I am not surprised it works on your > side. It might be really hardware specific. Yet some guys from MLO (french > forum) wonder what is that missing hybrid_drv_video.so. And why vlc chooses > the problematic "OpenGL/VAAPI backend for VDPAU", which leads into hanging, > instead of VA-API which actually works. What happens when you play that file using mpv?
I installed mpv and tried => hang ! I attached a photo (vdpau_hang.jpg)
Created attachment 10229 [details] hang when opened with mpv (vdpau)
Since it happens with mpv as well, it is likely a driver's problem. Assigning to "kernel".
Assignee: shlomif => kernel
As this is triggered by a misuse of vdpau on vaapi hardware, now that vlc plays directly with vaapi, I have removed the requires on vagl for vdpau plugin. This will come with next vlc update. Markign as fixed as for vlc it will stop the bug.
Resolution: (none) => FIXEDStatus: NEW => RESOLVEDCC: (none) => lists.jjorge