Video dropping frames on 25.10

Hello all,

I’m a new Ubuntu desktop user, but have been using various server distros (including Ubuntu) for many years. As such, I’ve used mainly the command line and am not familiar with the graphics subsystem (which is relevant to my problem).

I’ve just installed 25.10 on a Lunar Lake laptop (Lenovo Yoga Slim 7i) and everything is working fine except for one problem: video playback is choppy and dropping frames. It’s visible in any video player, but to confirm I used VLC since it shows a count of dropped frames under Codec Information > Statistics. As suspected, there are a large number of dropped frames that keep increasing as the video plays. This is a 1080p 50fps video, nothing too demanding. The same video plays perfectly on the same PC with VLC under Windows 11 (dual boot), with 0 dropped frames.

I’m using the standard video drivers for Intel Arc integrated graphics provided with the Ubuntu installation. I didn’t do anything special with video drivers. Hardware acceleration is set to Automatic in VLC player, though I did try playing around with the other options (including no hardware acceleration) with no changes.

I’ve read that Snap packages can cause video performance issues due to sandboxing restrictions, so I tried uninstalling the VLC Snap package and installing the Debian package instead. It’s better (less choppy), but still has noticeable dropped frames.

Any idea how I can fix this?

Thank you!

Ubuntu Version:
25.10

Desktop Environment (if applicable):
GNOME

Relevant System Information:
Lenovo Yoga Slim 7i, Intel Core Ultra 7 258v (Lunar Lake), integrated Intel Arc graphics

Please post the output of,

glxinfo -B

vainfo

ffprobe <path_to_your_video>

The VLC snap package is known to have issues with VA+Wayland, so I expect problems there. Try also with mpvto see if it provides any clues.

1 Like

Thank you! Here is the requested output. Also, I tried mpv and it works perfectly without any frame drops! So the issue seems to be with VLC and the other player I was using (Sushi space-bar file previewer actually). However, only the mpv Debian package works without frame loss; the Snap version shows frame loss as well.

$ glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel (0x8086)
    Device: Mesa Intel(R) Graphics (LNL) (0x64a0)
    Version: 25.2.3
    Accelerated: yes
    Video memory: 31120MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) Graphics (LNL)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 25.2.3-1ubuntu1
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6 (Compatibility Profile) Mesa 25.2.3-1ubuntu1
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 25.2.3-1ubuntu1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20


$ vainfo
Trying display: wayland
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit **- Is this normal?**


$ ffprobe test.mp4
ffprobe version 7.1.1-1ubuntu4.1 Copyright (c) 2007-2025 the FFmpeg developers
  built with gcc 15 (Ubuntu 15.2.0-4ubuntu4)
  configuration: --prefix=/usr --extra-version=1ubuntu4.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.100 / 61.  7.100
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  4.100 / 10.  4.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.35.100
  Duration: 00:13:33.80, start: 0.000000, bitrate: 2042 kb/s
  Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1922x1080 [SAR 2607:2608 DAR 835109:469440], 1858 kb/s, SAR 18252:18259 DAR 169:95, 50 fps, 50 tbr, 12800 tbn (default)
      Metadata:
        handler_name    : VideoHandler
        vendor_id       : [0][0][0][0]
  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 174 kb/s (default)
      Metadata:
        handler_name    : SoundHandler
        vendor_id       : [0][0][0][0]

@cinergi Welcome to Ubuntu Discourse :slight_smile:

Thanks for posting the requested output.

To make it easier to read and analyze, we encourage users to wrap terminal and script output with code tags.

To do this, highlight the output and then either click on the </> icon in the composer or use Ctrl+E on the keyboard.

Thanks

Thanks and apologies. I’ve fixed the formatting.

1 Like

This looks clearly like it could be related …

1 Like

Make sure you have one of these packages installed:

intel-media-va-driver-non-free or intel-media-va-driver

Then try vlc. If it’s still losing frames please start vlc from a terminal (command line), start a video and close vlc. Then copy/paste here the debug lines generated in the terminal where you started vlc.

OK, I installed the intel-media-va-driver-non-free package. This installed the missing /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so file that vainfo was complaining about. VLC is now working with almost zero frame drops; still a few, but only detectable by checking the stats (not visually). So this driver seems to have greatly improved the video playback! Thank you for the suggestion.

The vainfo command now works as well:

$ vainfo
Trying display: wayland
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_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: Intel iHD driver for Intel(R) Gen Graphics - 25.2.3 ()
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile1 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileVP9Profile3 : VAEntrypointVLD
VAProfileHEVCMain12 : VAEntrypointVLD
VAProfileHEVCMain422_10 : VAEntrypointVLD
VAProfileHEVCMain422_10 : VAEntrypointEncSlice
VAProfileHEVCMain422_12 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointEncSlice
VAProfileHEVCMain444_10 : VAEntrypointVLD
VAProfileHEVCMain444_10 : VAEntrypointEncSlice
VAProfileHEVCMain444_12 : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointEncSlice
VAProfileHEVCSccMain10 : VAEntrypointVLD
VAProfileHEVCSccMain10 : VAEntrypointEncSlice
VAProfileHEVCSccMain444 : VAEntrypointVLD
VAProfileHEVCSccMain444 : VAEntrypointEncSlice
VAProfileAV1Profile0 : VAEntrypointVLD
VAProfileAV1Profile0 : VAEntrypointEncSlice
VAProfileHEVCSccMain444_10 : VAEntrypointVLD
VAProfileHEVCSccMain444_10 : VAEntrypointEncSlice
VAProfileVVCMain10 : VAEntrypointVLD
VAProfileVVCMultilayerMain10 : VAEntrypointVLD

And VLC shows the following:

$ vlc
VLC media player 3.0.21 Vetinari (revision 3.0.21-0-gdd8bfdbabe8)
[00006334a1cb1590] main libvlc: Running vlc with the default interface. Use ‘cvlc’ to use vlc without interface.
[00006334a1d48570] main playlist: playlist is empty
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
[00007ad58cc0d890] avcodec decoder: Using Intel iHD driver for Intel(R) Gen Graphics - 25.2.3 () for hardware decoding

So everything seems good now! Thanks again.

3 Likes

This topic was automatically closed after 30 days. New replies are no longer allowed.