Hardware acceleration in Ubuntu 21.10
Unsolved
QML and Qt Quick
-
With Ubuntu 20.04 and Qt 6.2.0 I was able to play mp4 videos with hardware acceleration using
QtMultimedia
:MediaPlayer { id: mediaBackground videoOutput: videoOutput onErrorOccurred: { console.log(mediaBackground.errorString) } } VideoOutput { id: videoOutput anchors.centerIn: parent width: 1080 height: 1920 }
After upgrading to Ubuntu 21.10, I cannot play videos anymore.
vlc
instead can play them smoothly.
I have an Intel HD Graphics 500.Here the packages I installed:
$ dpkg -l | grep Intel ii gir1.2-ibus-1.0:amd64 1.5.25-2build1 amd64 Intelligent Input Bus - introspection data ii i965-va-driver:amd64 2.4.1+dfsg1-1 amd64 VAAPI driver for Intel G45 & HD Graphics family ii ibus 1.5.25-2build1 amd64 Intelligent Input Bus - core ii ibus-data 1.5.25-2build1 all Intelligent Input Bus - data files ii ibus-gtk:amd64 1.5.25-2build1 amd64 Intelligent Input Bus - GTK2 support ii ibus-gtk3:amd64 1.5.25-2build1 amd64 Intelligent Input Bus - GTK3 support ii ibus-gtk4:amd64 1.5.25-2build1 amd64 Intelligent Input Bus - GTK4 support ii intel-gpu-tools 1.26-1 amd64 tools for debugging the Intel graphics driver ii intel-media-va-driver:amd64 21.3.3+dfsg1-1 amd64 VAAPI driver for the Intel GEN8+ Graphics family ii intel-microcode 3.20210608.2ubuntu1 amd64 Processor microcode firmware for Intel CPUs ii iucode-tool 2.3.1-1build1 amd64 Intel processor microcode tool ii libibus-1.0-5:amd64 1.5.25-2build1 amd64 Intelligent Input Bus - shared library ii libigdgmm11:amd64 21.2.2+ds1-1 amd64 Intel Graphics Memory Management Library -- shared library ii libipt2 2.0.3-1build1 amd64 Intel Processor Trace Decoder Library ii libmfx1:amd64 21.1.0-1 amd64 Intel Media SDK -- shared library ii python3-ibus-1.0 1.5.25-2build1 all Intelligent Input Bus - introspection overrides for Python (Python 3) ii xserver-xorg-video-intel 2:2.99.917+git20200714-1ubuntu2 amd64 X.Org X server -- Intel i8xx, i9xx display driver
$ dpkg -l | grep gstreamer ii gir1.2-gstreamer-1.0:amd64 1.18.5-1 amd64 GObject introspection data for the GStreamer library ii gstreamer1.0-alsa:amd64 1.18.5-1 amd64 GStreamer plugin for ALSA ii gstreamer1.0-clutter-3.0:amd64 3.0.27-2build1 amd64 Clutter PLugin for GStreamer 1.0 ii gstreamer1.0-gl:amd64 1.18.5-1 amd64 GStreamer plugins for GL ii gstreamer1.0-libav:amd64 1.18.5-1 amd64 ffmpeg plugin for GStreamer ii gstreamer1.0-packagekit 1.2.2-2ubuntu3 amd64 GStreamer plugin to install codecs using PackageKit ii gstreamer1.0-pipewire:amd64 0.3.32-1 amd64 GStreamer 1.0 plugin for the PipeWire multimedia server ii gstreamer1.0-plugins-bad:amd64 1.18.5-1ubuntu1 amd64 GStreamer plugins from the "bad" set ii gstreamer1.0-plugins-base:amd64 1.18.5-1 amd64 GStreamer plugins from the "base" set ii gstreamer1.0-plugins-base-apps 1.18.5-1 amd64 GStreamer helper programs from the "base" set ii gstreamer1.0-plugins-good:amd64 1.18.5-1ubuntu2 amd64 GStreamer plugins from the "good" set ii gstreamer1.0-plugins-ugly:amd64 1.18.5-1 amd64 GStreamer plugins from the "ugly" set ii gstreamer1.0-pulseaudio:amd64 1.18.5-1ubuntu2 amd64 GStreamer plugin for PulseAudio (transitional package) ii gstreamer1.0-tools 1.18.5-1 amd64 Tools for use with GStreamer ii gstreamer1.0-vaapi:amd64 1.18.5-1 amd64 VA-API plugins for GStreamer ii gstreamer1.0-x:amd64 1.18.5-1 amd64 GStreamer plugins for X11 and Pango ii libgstreamer-gl1.0-0:amd64 1.18.5-1 amd64 GStreamer GL libraries ii libgstreamer-plugins-bad1.0-0:amd64 1.18.5-1ubuntu1 amd64 GStreamer libraries from the "bad" set ii libgstreamer-plugins-base1.0-0:amd64 1.18.5-1 amd64 GStreamer libraries from the "base" set ii libgstreamer-plugins-good1.0-0:amd64 1.18.5-1ubuntu2 amd64 GStreamer development files for libraries from the "good" set ii libgstreamer1.0-0:amd64 1.18.5-1 amd64 Core GStreamer libraries and elements
$ dpkg -l | grep mesa ii libegl-mesa0:amd64 21.2.6-0ubuntu0.1 amd64 free implementation of the EGL API -- Mesa vendor library ii libegl1-mesa-dev:amd64 21.2.6-0ubuntu0.1 amd64 free implementation of the EGL API -- development files ii libgl1-mesa-dev:amd64 21.2.6-0ubuntu0.1 amd64 transitional dummy package ii libgl1-mesa-dri:amd64 21.2.6-0ubuntu0.1 amd64 free implementation of the OpenGL API -- DRI modules ii libglapi-mesa:amd64 21.2.6-0ubuntu0.1 amd64 free implementation of the GL API -- shared library ii libglu1-mesa:amd64 9.0.1-1build1 amd64 Mesa OpenGL utility library (GLU) ii libglx-mesa0:amd64 21.2.6-0ubuntu0.1 amd64 free implementation of the OpenGL API -- GLX vendor library ii mesa-va-drivers:amd64 21.2.6-0ubuntu0.1 amd64 Mesa VA-API video acceleration drivers ii mesa-vdpau-drivers:amd64 21.2.6-0ubuntu0.1 amd64 Mesa VDPAU video acceleration drivers ii mesa-vulkan-drivers:amd64 21.2.6-0ubuntu0.1 amd64 Mesa Vulkan graphics drivers
When I play such a video I get an error from
QtMultimedia
:Internal data stream error.
enabling the gstreamer debug (with `GST_DEBUG=*.2 ') I get tons of these lines:
0:00:00.252815031 29660 0x7f6480004d60 WARN alsa conf.c:5112:parse_args: alsalib error: Parameter DEV must be an integer 0:00:00.253012320 29660 0x7f6480004d60 WARN alsa conf.c:5217:snd_config_expand: alsalib error: Parse arguments error: Invalid argument 0:00:00.253109530 29660 0x7f6480004d60 WARN alsa pcm.c:2660:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:0,0:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02} 0:00:00.261665657 29660 0x7f6480004d60 WARN alsa conf.c:5112:parse_args: alsalib error: Parameter DEV must be an integer 0:00:00.261808468 29660 0x7f6480004d60 WARN alsa conf.c:5217:snd_config_expand: alsalib error: Parse arguments error: Invalid argument 0:00:00.261904454 29660 0x7f6480004d60 WARN alsa pcm.c:2660:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:0,3:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02} 0:00:00.263837412 29660 0x7f6480004d60 WARN alsa conf.c:5112:parse_args: alsalib error: Parameter DEV must be an integer 0:00:00.263977748 29660 0x7f6480004d60 WARN alsa conf.c:5217:snd_config_expand: alsalib error: Parse arguments error: Invalid argument 0:00:00.264073129 29660 0x7f6480004d60 WARN alsa pcm.c:2660:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:0,7:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02} 0:00:00.265762252 29660 0x7f6480004d60 WARN alsa conf.c:5112:parse_args: alsalib error: Parameter DEV must be an integer 0:00:00.265897130 29660 0x7f6480004d60 WARN alsa conf.c:5217:snd_config_expand: alsalib error: Parse arguments error: Invalid argument 0:00:00.266001519 29660 0x7f6480004d60 WARN alsa pcm.c:2660:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:0,8:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02} 0:00:00.267724767 29660 0x7f6480004d60 WARN alsa conf.c:5112:parse_args: alsalib error: Parameter DEV must be an integer 0:00:00.267866052 29660 0x7f6480004d60 WARN alsa conf.c:5217:snd_config_expand: alsalib error: Parse arguments error: Invalid argument 0:00:00.267960915 29660 0x7f6480004d60 WARN alsa pcm.c:2660:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:0,9:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02} 0:00:00.269725428 29660 0x7f6480004d60 WARN alsa conf.c:5112:parse_args: alsalib error: Parameter DEV must be an integer 0:00:00.269863573 29660 0x7f6480004d60 WARN alsa conf.c:5217:snd_config_expand: alsalib error: Parse arguments error: Invalid argument 0:00:00.269961931 29660 0x7f6480004d60 WARN alsa pcm.c:2660:snd_pcm_open_noupdate: alsalib error: Unknown PCM hw:0,10:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02} 0:00:00.310853113 29660 0x7f6480004d60 WARN GST_ELEMENT_FACTORY gstelementfactory.c:467:gst_element_factory_make: no such element factory "imxvideoconvert_g2d"! 0:00:00.326917010 29660 0x7f6480004d60 WARN basesrc gstbasesrc.c:3688:gst_base_src_start_complete:<source> pad not activated yet 0:00:00.327852791 29660 0x7f6480004d60 WARN basesrc gstbasesrc.c:3688:gst_base_src_start_complete:<source> pad not activated yet 0:00:00.328876217 29660 0x7f6480004d60 WARN GST_ELEMENT_FACTORY gstelementfactory.c:467:gst_element_factory_make: no such element factory "imxvideoconvert_g2d"! 0:00:00.358597727 29660 0x7f6448002360 WARN qtdemux qtdemux_types.c:244:qtdemux_type_get: unknown QuickTime node type tmcd 0:00:00.358698263 29660 0x7f6448002360 WARN qtdemux qtdemux_types.c:244:qtdemux_type_get: unknown QuickTime node type pasp 0:00:00.358775320 29660 0x7f6448002360 WARN qtdemux qtdemux_types.c:244:qtdemux_type_get: unknown QuickTime node type nmhd 0:00:00.358832166 29660 0x7f6448002360 WARN qtdemux qtdemux_types.c:244:qtdemux_type_get: unknown QuickTime node type tmcd 0:00:00.358993546 29660 0x7f6448002360 WARN qtdemux qtdemux.c:3066:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 1 0:00:00.359353370 29660 0x7f6448002360 WARN qtdemux qtdemux.c:3066:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 2 0:00:00.360541127 29660 0x7f6480004d60 WARN GST_ELEMENT_FACTORY gstelementfactory.c:467:gst_element_factory_make: no such element factory "imxvideoconvert_g2d"! 0:00:00.776830447 29660 0x7f6448002360 WARN vaapifilter gstvaapifilter.c:1373:gst_vaapi_filter_set_property:<vaapifilter0> VA display doesn't support VPP 0:00:00.804534152 29660 0x7f6448002360 WARN GST_CAPS gstpad.c:5714:pre_eventfunc_check:<vaapidecodebin0:sink> caps video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4, profile=(string)high-4:4:4, codec_data=(buffer)01f40028ffe1001b67f40028919b280f0044fc4e0220000003002000000781e30632c001000668ebe3c44844, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, chroma-format=(string)4:4:4, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true not accepted 0:00:00.804625965 29660 0x7f6448002360 WARN decodebin gstdecodebin2.c:2564:connect_pad:<decodebin2> Couldn't set vaapidecodebin0 to PAUSED 0:00:01.254408073 29660 0x7f643c0151e0 WARN GST_PADS gstpad.c:4308:gst_pad_peer_query:<identity1:src> could not send sticky events 0:00:01.665344452 29660 0x7f64400590c0 WARN videodecoder gstvideodecoder.c:3298:gst_video_decoder_clip_and_push_buf:<avdec_h264-0> Dropping frame due to QoS. start:0:00:00.133333333 deadline:0:00:00.066666667 earliest_time:0:00:00.815958343 0:00:01.677498675 29660 0x7f64400590c0 WARN videodecoder gstvideodecoder.c:3298:gst_video_decoder_clip_and_push_buf:<avdec_h264-0> Dropping frame due to QoS. start:0:00:00.166666666 deadline:0:00:00.100000000 earliest_time:0:00:00.815958343 0:00:01.702611057 29660 0x7f64400590c0 WARN videodecoder gstvideodecoder.c:3298:gst_video_decoder_clip_and_push_buf:<avdec_h264-0> Dropping frame due to QoS. start:0:00:00.200000000 deadline:0:00:00.133333334 earliest_time:0:00:00.815958343 0:00:01.713989947 29660 0x7f64400590c0 WARN videodecoder gstvideodecoder.c:3298:gst_video_decoder_clip_and_push_buf:<avdec_h264-0> Dropping frame due to QoS. start:0:00:00.233333333 deadline:0:00:00.166666667 earliest_time:0:00:00.815958343 0:00:01.726712807 29660 0x7f64400590c0 WARN videodecoder gstvideodecoder.c:3298:gst_video_decoder_clip_and_push_buf:<avdec_h264-0> Dropping frame due to QoS. start:0:00:00.266666666 deadline:0:00:00.200000000 earliest_time:0:00:00.815958343 0:00:01.748524561 29660 0x7f64400590c0 WARN videodecoder gstvideodecoder.c:3298:gst_video_decoder_clip_and_push_buf:<avdec_h264-0> Dropping frame due to QoS. start:0:00:00.300000000 deadline:0:00:00.233333334 earliest_time:0:00:00.815958343 0:00:01.764037131 29660 0x7f64400590c0 WARN videodecoder gstvideodecoder.c:3298:gst_video_decoder_clip_and_push_buf:<avdec_h264-0> Dropping frame due to QoS. start:0:00:00.366666666 deadline:0:00:00.300000000 earliest_time:0:00:00.815958343 0:00:01.793940854 29660 0x7f64400590c0 WARN videodecoder gstvideodecoder.c:3298:gst_video_decoder_clip_and_push_buf:<avdec_h264-0> Dropping frame due to QoS. start:0:00:00.433333333 deadline:0:00:00.366666667 earliest_time:0:00:00.815958343 0:00:01.809515441 29660 0x7f64400590c0 WARN videodecoder gstvideodecoder.c:3298:gst_video_decoder_clip_and_push_buf:<avdec_h264-0> Dropping frame due to QoS. start:0:00:00.500000000 deadline:0:00:00.433333334 earliest_time:0:00:00.815958343 0:00:01.836015212 29660 0x7f64400590c0 WARN videodecoder gstvideodecoder.c:3298:gst_video_decoder_clip_and_push_buf:<avdec_h264-0> Dropping frame due to QoS. start:0:00:00.566666666 deadline:0:00:00.500000000 earliest_time:0:00:00.815958343 0:00:01.847083846 29660 0x7f64400590c0 WARN videodecoder gstvideodecoder.c:3298:gst_video_decoder_clip_and_push_buf:<avdec_h264-0> Dropping frame due to QoS. start:0:00:00.633333333 deadline:0:00:00.566666667 earliest_time:0:00:00.815958343 0:00:01.876053683 29660 0x7f64400590c0 WARN videodecoder gstvideodecoder.c:3298:gst_video_decoder_clip_and_push_buf:<avdec_h264-0> Dropping frame due to QoS. start:0:00:00.700000000 deadline:0:00:00.633333334 earliest_time:0:00:00.815958343 0:00:01.888875827 29660 0x7f64400590c0 WARN videodecoder gstvideodecoder.c:3298:gst_video_decoder_clip_and_push_buf:<avdec_h264-0> Dropping frame due to QoS. start:0:00:00.766666666 deadline:0:00:00.700000000 earliest_time:0:00:00.815958343 0:00:01.913574640 29660 0x7f64400590c0 WARN videodecoder gstvideodecoder.c:3298:gst_video_decoder_clip_and_push_buf:<avdec_h264-0> Dropping frame due to QoS. start:0:00:00.833333333 deadline:0:00:00.766666667 earliest_time:0:00:00.815958343 0:00:01.931588356 29660 0x7f64400590c0 WARN videodecoder gstvideodecoder.c:3298:gst_video_decoder_clip_and_push_buf:<avdec_h264-0> Dropping frame due to QoS. start:0:00:00.866666666 deadline:0:00:00.800000000 earliest_time:0:00:00.815958343
Did it miss anything during upgrade?
How to recover this functionality?
Please feel free to ask me any further info you may need! Thanks in advance.