mpv icon indicating copy to clipboard operation
mpv copied to clipboard

Linux 5.18 + Intel 10th gen iGPU iHD GPU + Vulkan gives VK_ERROR_DEVICE_LOST

Open gitpubber opened this issue 2 years ago • 1 comments

Important Information

Provide following Information:

  • mpv version : 0.34.1
  • Linux Distribution and Version: nixos-unstable
  • Source of the mpv binary: distro
  • If known which version of mpv introduced the problem:
  • Window Manager and version: sway
  • GPU driver and version: mpv.log

mpv throws this Vulkan error while running on Linux 5.18 . Linux 5.16 doesn't give any error

gitpubber avatar Jul 17 '22 05:07 gitpubber

https://gitlab.freedesktop.org/mesa/mesa/-/issues/6880

gitpubber avatar Jul 17 '22 05:07 gitpubber

I get the same error on:

  • mpv version: mpv 0.34.1-dirty & FFmpeg version: n5.1.2
  • Linux version: Linux 5.19.13-arch1-1 #1 SMP PREEMPT_DYNAMIC Tue, 04 Oct 2022 14:36:58 +0000
  • Window manager: Wayland/Sway
  • GPU: Intel 12th Gen iGPU i5-1240p
  • mpv config:
vo=gpu
hwdec=vaapi
gpu-context=waylandvk
gpu-api=vulkan
icc-profile=...
  • Exact error followed by video playback freezing (audio continues fine)
[vo/gpu/vulkan] vkQueueSubmit: VK_ERROR_DEVICE_LOST (../src/vulkan/command.c:382)
[vo/gpu/vulkan] Retrieving query pool results: VK_ERROR_DEVICE_LOST (../src/vulkan/gpu.c:111)
[vo/gpu/vulkan] vkQueueSubmit: VK_ERROR_DEVICE_LOST (../src/vulkan/command.c:382)
[vo/gpu/vulkan] Failed holding swapchain image for presentation
[vo/gpu] Failed presenting frame!

QasimK avatar Oct 09 '22 09:10 QasimK

Facing the same issues with gpu-api=vulkan, mpv 0.35 and sway on wayland.

Deathcow avatar Nov 15 '22 14:11 Deathcow

Can you try appending --gpu-debug to your tests and seeing if that picks up anything? (Also make sure to install the vulkan validation layers)

haasn avatar Nov 15 '22 14:11 haasn

adding --gpu-debug doesn't seem to add any additional output, though I'm not sure what's meant with 'vulkan validation layers'

~ > mpv Sync-Footage-V1-H264-Sync-Footage-V1-H264.mp4 --gpu-debug                                                                                                    20:23:36
 (+) Video --vid=1 (*) (h264 1920x1080 60.000fps)
 (+) Audio --aid=1 --alang=eng (*) (aac 2ch 48000Hz)
[vo/gpu-next/libplacebo] Storable format 'bgr565' has no matching GLSL format qualifier but read/write without format is not supported.. disabling
[vo/gpu-next/libplacebo] Storable format 'rgb565' has no matching GLSL format qualifier but read/write without format is not supported.. disabling
[vo/gpu-next/libplacebo] Storable format 'bgr5a1' has no matching GLSL format qualifier but read/write without format is not supported.. disabling
Using hardware decoding (vaapi).
AO: [pipewire] 48000Hz stereo 2ch floatp
VO: [gpu-next] 1920x1080 vaapi[nv12]
AV: 00:00:31.017 / 00:02:00.064 (26%) A-V: -0.000
[vo/gpu-next/libplacebo] vkQueueSubmit: VK_ERROR_DEVICE_LOST (../libplacebo-v5.229.1/src/vulkan/command.c:390)
[vo/gpu-next/libplacebo] Retrieving query pool results: VK_ERROR_DEVICE_LOST (../libplacebo-v5.229.1/src/vulkan/gpu.c:111)
[vo/gpu-next/libplacebo] vkQueueSubmit: VK_ERROR_DEVICE_LOST (../libplacebo-v5.229.1/src/vulkan/command.c:390)
[vo/gpu-next/libplacebo] Retrieving query pool results: VK_ERROR_DEVICE_LOST (../libplacebo-v5.229.1/src/vulkan/gpu.c:111)
[vo/gpu-next/libplacebo] vkQueueSubmit: VK_ERROR_DEVICE_LOST (../libplacebo-v5.229.1/src/vulkan/command.c:390)
[vo/gpu-next/libplacebo] Retrieving query pool results: VK_ERROR_DEVICE_LOST (../libplacebo-v5.229.1/src/vulkan/gpu.c:111)
[vo/gpu-next/libplacebo] vkQueueSubmit: VK_ERROR_DEVICE_LOST (../libplacebo-v5.229.1/src/vulkan/command.c:390)
[vo/gpu-next/libplacebo] Retrieving query pool results: VK_ERROR_DEVICE_LOST (../libplacebo-v5.229.1/src/vulkan/gpu.c:111)
[vo/gpu-next/libplacebo] vkQueueSubmit: VK_ERROR_DEVICE_LOST (../libplacebo-v5.229.1/src/vulkan/command.c:390)
[vo/gpu-next/libplacebo] Retrieving query pool results: VK_ERROR_DEVICE_LOST (../libplacebo-v5.229.1/src/vulkan/gpu.c:111)
[vo/gpu-next/libplacebo] vkQueueSubmit: VK_ERROR_DEVICE_LOST (../libplacebo-v5.229.1/src/vulkan/command.c:390)
[vo/gpu-next/libplacebo] Retrieving query pool results: VK_ERROR_DEVICE_LOST (../libplacebo-v5.229.1/src/vulkan/gpu.c:111)
[vo/gpu-next/libplacebo] vkQueueSubmit: VK_ERROR_DEVICE_LOST (../libplacebo-v5.229.1/src/vulkan/command.c:390)
[vo/gpu-next/libplacebo] Failed holding swapchain image for presentation
[vo/gpu-next] Failed presenting frame!
AV: 00:00:31.033 / 00:02:00.064 (26%) A-V: -0.000
[vo/gpu-next/libplacebo] vkQueueSubmit: VK_ERROR_DEVICE_LOST (../libplacebo-v5.229.1/src/vulkan/command.c:390)
[vo/gpu-next/libplacebo] Retrieving query pool results: VK_ERROR_DEVICE_LOST (../libplacebo-v5.229.1/src/vulkan/gpu.c:111)

Deathcow avatar Nov 19 '22 19:11 Deathcow

I had same experience, on Intel 10th gen mobile, Opensuse 15.4 + updated kernel 6.0.x + updated Mesa 22.2.3

  • Installing vulkan validation layers, vulkan playback doesn't crash but hwdec is now locked to vaapi-copy (+ higher CPU usage)
  • Then updating base vulkan libraries (libSPIRV, libvulkan1, ... which are NOT part of Mesa) to current 1.3.231, full VAAPI is back and playback does not crash anymore (somehow stock opensuse 15.4 is still shipping vulkan 1.2 base libs)

dmfr avatar Nov 20 '22 09:11 dmfr

Further testing,

Without --gpu-debug, VK_ERROR_DEVICE_LOST shows in matter of seconds.

Using up-to-date validation layers + --gpu-debug, playback does not crash -so- often, but it does eventually producing attached error loop.

To summarize :

  • occurs from Linux 5.16 to current 6.0.9 (Linux 5.14 does not trigger the error)
  • occurs with hwdec=VAAPI, software decoding does not trigger.

mpv-gpudebug-VK_ERROR_DEVICE_LOST.txt

dmfr avatar Nov 23 '22 14:11 dmfr

From : https://gitlab.freedesktop.org/drm/intel/-/issues/7627#note_1692848

Fix pending for future kernels: https://cgit.freedesktop.org/drm-tip/commit/?id=801fa7a81f6d drm/i915: improve the catch-all evict to handle lock contention

dmfr avatar Dec 20 '22 14:12 dmfr

https://github.com/torvalds/linux/commit/3f882f2

Fixed in 6.2-rc3, 6.1.4 and 6.0.18.

nyanmisaka avatar Jan 09 '23 19:01 nyanmisaka

Allegedly fixed upstream.

Dudemanguy avatar May 01 '23 00:05 Dudemanguy