spice-gtk + qemu/kvm + gvt-g: black screen (egl init failed: cannot find suitable EGL config)
I'm not sure whether this is the correct place to report this issue, spice-gtk can't create egl surface. I can RDP to the win10 guest, it works well with the Intel vGPU.
- Host OS: Gentoo Linux
- kernel: 5.4.23
- spice-gtk: 0.37
- virt-manager: 2.2.1
- qemu: 4.2.0
- xorg: 1.20.7
-
glxinfo| grep direct
: direct rendering: Yes -
eglinfo
: part of the output:
EGL client extensions string:
EGL_EXT_client_extensions EGL_EXT_device_base
EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base
EGL_KHR_client_get_all_proc_addresses EGL_KHR_debug
EGL_EXT_platform_x11 EGL_MESA_platform_gbm
EGL_MESA_platform_surfaceless EGL_EXT_platform_device
...
X11 platform:
EGL API version: 1.4
EGL vendor string: Mesa Project
EGL version string: 1.4
EGL client APIs: OpenGL OpenGL_ES
EGL driver name: i965
EGL extensions string:
EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync
EGL_CHROMIUM_sync_control EGL_EXT_buffer_age
EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import
EGL_EXT_image_dma_buf_import_modifiers EGL_IMG_context_priority
EGL_KHR_config_attribs EGL_KHR_create_context
EGL_KHR_create_context_no_error EGL_KHR_fence_sync
EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace
EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image
EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image
EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap
EGL_KHR_no_config_context EGL_KHR_reusable_sync
EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float
EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image
EGL_MESA_image_dma_buf_export EGL_MESA_query_driver
EGL_NOK_texture_from_pixmap
Configurations:
bf lv colorbuffer dp st ms vis cav bi renderable supported
id sz l r g b a th cl ns b id eat nd gl es es2 vg surfaces
---------------------------------------------------------------------
0x01 32 0 8 8 8 8 0 0 0 0 0x21TC a y y y win,pb,pix
0x02 32 0 8 8 8 8 24 8 0 0 0x21TC a y y y win,pb,pix
0x03 24 0 8 8 8 0 0 0 0 0 0x21TC y y y y win,pb,pix
0x04 24 0 8 8 8 0 24 8 0 0 0x21TC y y y y win,pb,pix
0x05 32 0 8 8 8 8 0 0 2 1 0x21TC a y y y win
0x06 32 0 8 8 8 8 0 0 4 1 0x21TC a y y y win
0x07 32 0 8 8 8 8 0 0 8 1 0x21TC a y y y win
0x08 32 0 8 8 8 8 0 0 16 1 0x21TC a y y y win
0x09 32 0 8 8 8 8 24 8 2 1 0x21TC a y y y win
0x0a 32 0 8 8 8 8 24 8 4 1 0x21TC a y y y win
0x0b 32 0 8 8 8 8 24 8 8 1 0x21TC a y y y win
0x0c 32 0 8 8 8 8 24 8 16 1 0x21TC a y y y win
0x0d 24 0 8 8 8 0 0 0 2 1 0x21TC y y y y win
0x0e 24 0 8 8 8 0 0 0 4 1 0x21TC y y y y win
0x0f 24 0 8 8 8 0 0 0 8 1 0x21TC y y y y win
0x10 24 0 8 8 8 0 0 0 16 1 0x21TC y y y y win
0x11 24 0 8 8 8 0 24 8 2 1 0x21TC y y y y win
0x12 24 0 8 8 8 0 24 8 4 1 0x21TC y y y y win
0x13 24 0 8 8 8 0 24 8 8 1 0x21TC y y y y win
0x14 24 0 8 8 8 0 24 8 16 1 0x21TC y y y y win
0x15 32 0 8 8 8 8 0 0 0 0 0x22DC a y y y win,pb,pix
0x16 32 0 8 8 8 8 24 8 0 0 0x22DC a y y y win,pb,pix
0x17 24 0 8 8 8 0 0 0 0 0 0x22DC y y y y win,pb,pix
0x18 24 0 8 8 8 0 24 8 0 0 0x22DC y y y y win,pb,pix
0x19 32 0 8 8 8 8 0 0 2 1 0x22DC a y y y win
0x1a 32 0 8 8 8 8 0 0 4 1 0x22DC a y y y win
0x1b 32 0 8 8 8 8 0 0 8 1 0x22DC a y y y win
0x1c 32 0 8 8 8 8 0 0 16 1 0x22DC a y y y win
0x1d 32 0 8 8 8 8 24 8 2 1 0x22DC a y y y win
0x1e 32 0 8 8 8 8 24 8 4 1 0x22DC a y y y win
0x1f 32 0 8 8 8 8 24 8 8 1 0x22DC a y y y win
0x20 32 0 8 8 8 8 24 8 16 1 0x22DC a y y y win
0x21 24 0 8 8 8 0 0 0 2 1 0x22DC y y y y win
0x22 24 0 8 8 8 0 0 0 4 1 0x22DC y y y y win
0x23 24 0 8 8 8 0 0 0 8 1 0x22DC y y y y win
0x24 24 0 8 8 8 0 0 0 16 1 0x22DC y y y y win
0x25 24 0 8 8 8 0 24 8 2 1 0x22DC y y y y win
0x26 24 0 8 8 8 0 24 8 4 1 0x22DC y y y y win
0x27 24 0 8 8 8 0 24 8 8 1 0x22DC y y y y win
0x28 24 0 8 8 8 0 24 8 16 1 0x22DC y y y y win
...
Device platform:
Device #0:
EGL device extensions string:
EGL_EXT_device_drm
Platform Device:
EGL API version: 1.4
EGL vendor string: Mesa Project
EGL version string: 1.4
EGL client APIs: OpenGL OpenGL_ES
EGL driver name: i965
EGL extensions string:
EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync
EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import
EGL_EXT_image_dma_buf_import_modifiers EGL_IMG_context_priority
EGL_KHR_config_attribs EGL_KHR_create_context
EGL_KHR_create_context_no_error EGL_KHR_fence_sync
EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace
EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image
EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image
EGL_KHR_image_base EGL_KHR_no_config_context EGL_KHR_reusable_sync
EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float
EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image
EGL_MESA_image_dma_buf_export EGL_MESA_query_driver
Configurations:
bf lv colorbuffer dp st ms vis cav bi renderable supported
id sz l r g b a th cl ns b id eat nd gl es es2 vg surfaces
---------------------------------------------------------------------
0x01 16 0 5 6 5 0 0 0 0 0 0x00-- y y y y pb
0x02 16 0 5 6 5 0 16 0 0 0 0x00-- y y y y pb
0x03 16 0 5 6 5 0 24 8 0 0 0x00-- y y y y pb
0x04 32 0 8 8 8 8 0 0 0 0 0x00-- a y y y pb
0x05 32 0 8 8 8 8 24 8 0 0 0x00-- a y y y pb
0x06 24 0 8 8 8 0 0 0 0 0 0x00-- y y y y pb
0x07 24 0 8 8 8 0 24 8 0 0 0x00-- y y y y pb
0x08 16 0 5 6 5 0 0 0 2 1 0x00-- y y y y
0x09 16 0 5 6 5 0 0 0 4 1 0x00-- y y y y
0x0a 16 0 5 6 5 0 0 0 8 1 0x00-- y y y y
0x0b 16 0 5 6 5 0 0 0 16 1 0x00-- y y y y
0x0c 16 0 5 6 5 0 16 0 2 1 0x00-- y y y y
0x0d 16 0 5 6 5 0 16 0 4 1 0x00-- y y y y
0x0e 16 0 5 6 5 0 16 0 8 1 0x00-- y y y y
0x0f 16 0 5 6 5 0 16 0 16 1 0x00-- y y y y
0x10 32 0 8 8 8 8 0 0 2 1 0x00-- a y y y
0x11 32 0 8 8 8 8 0 0 4 1 0x00-- a y y y
0x12 32 0 8 8 8 8 0 0 8 1 0x00-- a y y y
0x13 32 0 8 8 8 8 0 0 16 1 0x00-- a y y y
0x14 32 0 8 8 8 8 24 8 2 1 0x00-- a y y y
0x15 32 0 8 8 8 8 24 8 4 1 0x00-- a y y y
0x16 32 0 8 8 8 8 24 8 8 1 0x00-- a y y y
0x17 32 0 8 8 8 8 24 8 16 1 0x00-- a y y y
0x18 24 0 8 8 8 0 0 0 2 1 0x00-- y y y y
0x19 24 0 8 8 8 0 0 0 4 1 0x00-- y y y y
0x1a 24 0 8 8 8 0 0 0 8 1 0x00-- y y y y
0x1b 24 0 8 8 8 0 0 0 16 1 0x00-- y y y y
0x1c 24 0 8 8 8 0 24 8 2 1 0x00-- y y y y
0x1d 24 0 8 8 8 0 24 8 4 1 0x00-- y y y y
0x1e 24 0 8 8 8 0 24 8 8 1 0x00-- y y y y
0x1f 24 0 8 8 8 0 24 8 16 1 0x00-- y y y y
- spice.log:
(virt-manager:21380): GSpice-CRITICAL **: 20:13:57.074: egl init failed: cannot find suitable EGL config
(virt-manager:21380): GSpice-DEBUG: 20:13:57.074: spice-widget-egl.c:360 0:0 egl realize
(virt-manager:21380): GSpice-CRITICAL **: 20:13:57.074: egl realize failed: failed to init egl surface
(virt-manager:21380): GSpice-CRITICAL **: 20:13:57.074: gl_make_current: assertion 'd->egl.context_ready' failed
(virt-manager:21380): GSpice-DEBUG: 20:13:57.074: channel-display.c:1979 display-2:0: received new monitors config from guest: n: 1/1
(virt-manager:21380): GSpice-DEBUG: 20:13:57.074: channel-display.c:1997 display-2:0: monitor id: 0, surface id: 0, +0+0-1920x1200
full log is attached.spice.log