VAAPI no longer working with Vulkan/Wayland on Intel UHD
Hi, Sorry I'm not currently sure if this is a Vulkan, Wayland, Mesa, Intel, libplacebo or mpv bug but thought I would try here first.
Basically VAAPI (without copy) is no longer working on my laptop with Intel UHD graphics (Lenovo X1Y4 as apparently DMA-BUF import is not available.
[vo/gpu/vaapi-egl] VAAPI Vulkan interop requires support for dma_buf import in Vulkan.
Basically all software versions are from git head -
libplacebo: 30efeff0 Mesa: 688dda5 ffmpeg: ba6e2a2d mpv: a74b6619
Otherwise up to date FC33 install. intel-media-driver is installed for VAAPI.
Relevant log:
[vo/gpu] Probing for best GPU context.
[vo/gpu/vulkan] Initializing GPU context 'waylandvk'
[vo/gpu/vulkan/libplacebo] Initialized libplacebo v101
[vo/gpu/vulkan/libplacebo] Creating vulkan instance with extensions:
[vo/gpu/vulkan/libplacebo] VK_KHR_get_physical_device_properties2
[vo/gpu/vulkan/libplacebo] VK_KHR_surface
[vo/gpu/vulkan/libplacebo] VK_KHR_external_memory_capabilities
[vo/gpu/vulkan/libplacebo] VK_KHR_external_semaphore_capabilities
[vo/gpu/vulkan/libplacebo] VK_KHR_surface
[vo/gpu/vulkan/libplacebo] VK_KHR_wayland_surface
[vo/gpu/wayland] Registered for protocol wl_shm
[vo/gpu/wayland] Registered for protocol wl_compositor
[vo/gpu/wayland] Registered for protocol wl_data_device_manager
[vo/gpu/wayland] Registered for protocol zwp_idle_inhibit_manager_v1
[vo/gpu/wayland] Registered for protocol xdg_wm_base
[vo/gpu/wayland] Registered for protocol zxdg_decoration_manager_v1
[vo/gpu/wayland] Registered for protocol wp_presentation
[vo/gpu/wayland] Registered for protocol wl_seat
[vo/gpu/wayland] Registered for protocol wl_output
[vo/gpu/wayland] Enabling server decorations
[vo/gpu/vulkan/libplacebo] Probing for vulkan devices:
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
[vo/gpu/vulkan/libplacebo] GPU 0: Intel(R) UHD Graphics 620 (WHL GT2) (integrated)
[vo/gpu/vulkan/libplacebo] uuid: E4:63:14:29:40:C6:6A:16:87:41:F6:B7:9B:2E:6F:40
[vo/gpu/vulkan/libplacebo] Vulkan device properties:
[vo/gpu/vulkan/libplacebo] Device Name: Intel(R) UHD Graphics 620 (WHL GT2)
[vo/gpu/vulkan/libplacebo] Device ID: 8086:3ea0
[vo/gpu/vulkan/libplacebo] Device UUID: E4:63:14:29:40:C6:6A:16:87:41:F6:B7:9B:2E:6F:40
[vo/gpu/vulkan/libplacebo] Driver version: 84291683
[vo/gpu/vulkan/libplacebo] API version: 1.2.145
[vo/gpu/vulkan/libplacebo] Queue families supported by device:
[vo/gpu/vulkan/libplacebo] QF 0: flags 0x7 num 1
[vo/gpu/vulkan/libplacebo] Using graphics queue (QF 0)
[vo/gpu/vulkan/libplacebo] Creating vulkan device with extensions:
[vo/gpu/vulkan/libplacebo] VK_KHR_swapchain
[vo/gpu/vulkan/libplacebo] VK_KHR_swapchain
[vo/gpu/vulkan/libplacebo] VK_KHR_push_descriptor
[vo/gpu/vulkan/libplacebo] VK_KHR_external_memory_fd
[vo/gpu/vulkan/libplacebo] VK_EXT_external_memory_dma_buf
[vo/gpu/vulkan/libplacebo] VK_EXT_external_memory_host
[vo/gpu/vulkan/libplacebo] VK_KHR_external_semaphore_fd
[vo/gpu/vulkan/libplacebo] VK_EXT_pci_bus_info
[vo/gpu/vulkan/libplacebo] Initializing SPIR-V compiler 'shaderc'
[vo/gpu/vulkan/libplacebo] Memory heaps supported by device:
[vo/gpu/vulkan/libplacebo] heap 0: flags 0x1 size 12313098240
[vo/gpu/vulkan/libplacebo] Memory types supported by device:
[vo/gpu/vulkan/libplacebo] type 0: flags 0xf heap 0
[vo/gpu/vulkan/libplacebo] GPU information:
[vo/gpu/vulkan/libplacebo] GLSL version: 450 (vulkan)
[vo/gpu/vulkan/libplacebo] Capabilities: 0x39
[vo/gpu/vulkan/libplacebo] Limits:
[vo/gpu/vulkan/libplacebo] max_tex_1d_dim: 16384
[vo/gpu/vulkan/libplacebo] max_tex_2d_dim: 16384
[vo/gpu/vulkan/libplacebo] max_tex_3d_dim: 2048
[vo/gpu/vulkan/libplacebo] max_pushc_size: 128
[vo/gpu/vulkan/libplacebo] max_buf_size: 18446744073709551615
[vo/gpu/vulkan/libplacebo] max_ubo_size: 134217728
[vo/gpu/vulkan/libplacebo] max_ssbo_size: 1073741824
[vo/gpu/vulkan/libplacebo] max_buffer_texels: 134217728
[vo/gpu/vulkan/libplacebo] min_gather_offset: -32
[vo/gpu/vulkan/libplacebo] max_gather_offset: 31
[vo/gpu/vulkan/libplacebo] subgroup_size: 32
[vo/gpu/vulkan/libplacebo] max_shmem_size: 65536
[vo/gpu/vulkan/libplacebo] max_group_threads: 1792
[vo/gpu/vulkan/libplacebo] max_group_size[0]: 1792
[vo/gpu/vulkan/libplacebo] max_group_size[1]: 1792
[vo/gpu/vulkan/libplacebo] max_group_size[2]: 1792
[vo/gpu/vulkan/libplacebo] max_dispatch[0]: 65535
[vo/gpu/vulkan/libplacebo] max_dispatch[1]: 65535
[vo/gpu/vulkan/libplacebo] max_dispatch[2]: 65535
[vo/gpu/vulkan/libplacebo] align_tex_xfer_stride: 128
[vo/gpu/vulkan/libplacebo] align_tex_xfer_offset: 128
[vo/gpu/vulkan/libplacebo] External API interop:
[vo/gpu/vulkan/libplacebo] UUID: E4:63:14:29:40:C6:6A:16:87:41:F6:B7:9B:2E:6F:40
[vo/gpu/vulkan/libplacebo] PCI: 0000:00:02:0
[vo/gpu/vulkan/libplacebo] buf export caps: 0x9
[vo/gpu/vulkan/libplacebo] buf import caps: 0x19
[vo/gpu/vulkan/libplacebo] tex export caps: 0x1
[vo/gpu/vulkan/libplacebo] tex import caps: 0x1
[vo/gpu/vulkan/libplacebo] sync export caps: 0x1
[vo/gpu/vulkan/libplacebo] sync import caps: 0x0
[vo/gpu] Testing FBO format rgba16f
[vo/gpu/vulkan/libplacebo] Allocating 1048576 memory of type 0xf (id 0) in heap 0
[vo/gpu] Using FBO format rgba16f.
[vo/gpu/wayland] Registered output Unknown 0x07C8 (0x24):
[vo/gpu/wayland] x: 0px, y: 0px
[vo/gpu/wayland] w: 3840px (310mm), h: 2160px (170mm)
[vo/gpu/wayland] scale: 2
[vo/gpu/wayland] Hz: 60.000000
[vo/gpu] Resize: 0x0
[vd] Container reported FPS: 23.976024
[vd] Codec list:
[vd] vp9 - Google VP9
[vd] vp9_v4l2m2m (vp9) - V4L2 mem2mem VP9 decoder wrapper
[vd] Opening decoder vp9
[vd] Looking at hwdec vp9-vaapi...
[vo/gpu] Loading hwdec driver 'vaapi-egl'
[vo/gpu/vaapi-egl] VAAPI Vulkan interop requires support for dma_buf import in Vulkan.
[vo/gpu/vaapi-egl] VAAPI hwdec only works with OpenGL or Vulkan backends.
[vo/gpu] Loading failed.
[vo/gpu] Loading hwdec driver 'drmprime-drm'
[vo/gpu/drmprime-drm] Failed to retrieve DRM fd from native display.
[vo/gpu] Loading failed.
[vd] Could not create device.
[vd] Looking at hwdec vp9-vaapi-copy...
[vaapi] Initialized VAAPI: version 1.9
[vd] Trying hardware decoding via vp9-vaapi-copy.
[vd] Selected codec: vp9 (Google VP9)
vainfo:
libva info: VA-API version 1.9.0
libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_9
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.9 (libva 2.9.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 20.3.0 ()
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : VAEntrypointStats
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointFEI
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointFEI
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointFEI
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileVP8Version0_3 : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointFEI
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD