On 2024/09/18 13:33, Byron Campbell - WA4GEG wrote:

Turns out that VLC had "hardware acceleration" set to automatic. I assume
that it is shipped that way, since I generally have no need to alter the
default settings. And the problem is indeed due to the VA-API stuff as
Stuart suspected.

I got it to work by going into VLC's settings > Tools, Prefs., Input/Codecs
tab, and set the "hardware acceleration" to disable. Then VLC stopped
seg-faulting and plays both MP4 files and one test DVD okay.

Interestingly, VLC with hardware acceleration set to automatic, works just
fine in my OpenBSD 7.5 box.

OpenBSD didn't support hardware acceleration VA-API until after 7.5.
AFAIK it's currently enabled in FFmpeg, mpv and vlc and disabled in
other ports where it was noticed that they might pick it up.

I think we could probably do with some kind of mention in the 7.6
upgrade notes, both to help people track down problems like this,
and to help them get it used on Intel systems (where it seems to work
pretty well).


A few more quick checks to test the selection of VLC's Input/Codecs,
see below.

Both audio and video play fine when VLC's Tools, Prefs., Input Codecs are set to either "disable" or to the "VA-API video decoder via DRM".

dmesg indicates:

radeondrm0: CEDAR
radeon_audio_component_init: stub
radeondrm0: 1920x1080, 32bpp
wsdisplay0 at radeondrm0 mux 1: console (std, vt100 emulation), using wskbd0
wskbd1: connecting to wsdisplay0
wskbd2: connecting to wsdisplay0
wsdisplay0: screen 1-5 added (std, vt100 emulation)

Yet when VLC's "automatic" Input/Codecs chooses the "Mesa Gallium driver 23.3.6 for AMD CEDAR" it doesn't play the video portion of MP4 files.

Let me know if there is anything else I can do to be of help.

-Byron


====================================================================
VLC: Tools, Prefs., Input Codecs: VA-API video decoder via DRM

Audio and Video portions plays normally:

$ vlc
VLC media player 3.0.20 Vetinari (revision 3.0.20-0-g6f0d0ab126b)
[00000b586f6d7680] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[00000b58d44ffe60] main playlist: playlist is empty
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/X11R6/lib/modules/dri/r600_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
====================================================================

VLC: Tools, Prefs., Input Codecs: VA-API video decoder

Audio plays but not the video:

$ vlc
VLC media player 3.0.20 Vetinari (revision 3.0.20-0-g6f0d0ab126b)
[000001e10ba725a0] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[000001e106f24ca0] main playlist: playlist is empty
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/X11R6/lib/modules/dri/r600_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
[000001e146e47060] avcodec decoder: Using Mesa Gallium driver 23.3.6 for AMD CEDAR (DRM 2.50.0 / 7.6, LLVM 16.0.6) for hardware decoding
=====================================================================

Reply via email to