VLC: 100% CPU & really laggy (~3fps): libva info: va_openDriver() returns -1

Since I upgraded to 23.11, VLC takes 100% CPU and is really laggy, like 3 fps (while firefox and a custom video player of mine written in python with opencl have no issue). Any idea what’s wrong?

I have a Dell lattitude 5500, and the following config:

{ config, lib, pkgs, ... }:
{

  hardware.enableRedistributableFirmware = true;
  hardware.cpu.intel.updateMicrocode = true;
  
  hardware.opengl.enable = true;
  hardware.opengl.extraPackages = with pkgs; [
    intel-ocl # Detects the CPU (opencl), apparently it's proprietary https://nixos.org/manual/nixos/stable/index.html#sec-gpu-accel-opencl-intel
    intel-compute-runtime # Opencl for Gen8 and later GPU (For Gen7, use deprecated beignet)
    vaapiIntel libvdpau-va-gl vaapiVdpau # Seems to be for accelerated graphics
  ];

  hardware.opengl.driSupport32Bit = true;

  # Install Vulkan tools (replaces opengl)
  # Test with vulkaninfo
  # https://www.reddit.com/r/NixOS/comments/ernur4/anyway_i_can_get_vulkan_installed/
  environment.systemPackages = with pkgs; [
    vulkan-tools
  ];
}

Log:

VLC media player 3.0.20 Vetinari (revision 3.0.20-0-g6f0d0ab126b)
[00000000016e1520] main libvlc: Lancement de vlc avec l’interface par défaut. Utiliser « cvlc » pour démarrer VLC sans interface.
[00000000017884e0] main playlist: playlist is empty
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu
[00007fb320004bb0] gl gl: Initialized libplacebo v5.264.1 (API v264)
libva info: VA-API version 1.20.0
libva info: Trying to open /run/opengl-driver/lib/dri/iHD_drv_video.so
libva info: Trying to open /usr/lib/dri/iHD_drv_video.so
libva info: Trying to open /usr/lib32/dri/iHD_drv_video.so
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Trying to open /usr/lib/i386-linux-gnu/dri/iHD_drv_video.so
libva info: va_openDriver() returns -1
libva info: Trying to open /run/opengl-driver/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
[00007fb320004bb0] gl gl: Initialized libplacebo v5.264.1 (API v264)
libva info: VA-API version 1.20.0
libva info: Trying to open /run/opengl-driver/lib/dri/iHD_drv_video.so
libva info: Trying to open /usr/lib/dri/iHD_drv_video.so
libva info: Trying to open /usr/lib32/dri/iHD_drv_video.so
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Trying to open /usr/lib/i386-linux-gnu/dri/iHD_drv_video.so
libva info: va_openDriver() returns -1
libva info: Trying to open /run/opengl-driver/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
[00007fb330c02290] avcodec decoder: Using OpenGL/VAAPI backend for VDPAU for hardware decoding

I finally solved the issue by going to Vlc settings, then Video > Output > Xvideo XCB (others option I tried (X11 XCB, OpenGl, VDPAU) either produce garbage for VDPAU, or are still slow) + restart… no idea why opengl (that seems like the default) gives this laggy interface. I tried glxgears that runs at 60fps.