First thanks for all the work that has been put into Looking Glass, it’s a great tool.
Ever since installing it I’ve been having an occasional issue where looking-glass-client stays open when shutting down the VM (Using the shutdown button from within the guest OS). When this happens looking-glass-client uses 100% cpu and no longer responde to ScrollLock+Q. I have to manually kill it with SIGINT/SIGTERM.
I’m running the latest release (B4) on an Arch system under Wayland. I’ve run it from a terminal and this is the output I got during one of these issues:
type or paste code here [[email protected] ~]$ looking-glass-client [I] 318000819603 main.c:1064 | main | Looking Glass (B4) [I] 318000819644 main.c:1065 | main | Locking Method: Atomic [I] 318000822469 ivshmem.c:127 | ivshmemOpenDev | KVMFR Device : /dev/shm/looking-glass [I] 318000868853 egl.c:274 | egl_initialize | Double buffering is off [I] 318000868861 main.c:671 | tryRenderer | Using Renderer: EGL [I] 318000869128 gl.c:57 | waylandGetEGLDisplay | Using eglGetPlatformDisplay [I] 318000890057 egl.c:685 | egl_render_startup | Single buffer mode [I] 318000893592 egl.c:701 | egl_render_startup | EGL : 1.5 [I] 318000893599 egl.c:702 | egl_render_startup | Vendor : AMD [I] 318000893602 egl.c:703 | egl_render_startup | Renderer : AMD Radeon RX 560 Series (POLARIS11, DRM 3.42.0, 5.15.2-arch1-1, LLVM 13.0.0) [I] 318000893604 egl.c:704 | egl_render_startup | Version : OpenGL ES 3.2 Mesa 21.2.5 [I] 318000893606 egl.c:705 | egl_render_startup | EGL APIs : OpenGL OpenGL_ES [I] 318000893608 egl.c:706 | egl_render_startup | Extensions: EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync EGL_EXT_buffer_age EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_swap_buffers_with_damage EGL_KHR_cl_event2 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_KHR_swap_buffers_with_damage 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_WL_bind_wayland_display EGL_WL_create_wayland_buffer_from_image [I] 318000901830 gl.c:83 | waylandEGLSwapBuffers | Using EGL_KHR_swap_buffers_with_damage [I] 318000909841 main.c:897 | lg_run | ================================================================================ [I] 318000909852 main.c:898 | lg_run | The host application seems to not be running [I] 318000909856 main.c:899 | lg_run | Waiting for the host application to start... [I] 318001002237 main.c:954 | lg_run | Host ready, reported version: B4 [I] 318001002252 main.c:955 | lg_run | Starting session [I] 318002206199 main.c:498 | main_frameThread | Format: FRAME_TYPE_BGRA 2560x1440 stride:2560 pitch:10240 rotation:0 [E] 318019394487 main.c:617 | spiceThread | failed to process spice messages ^C[I] 318275329979 main.c:639 | intHandler | Caught second signal, force quitting...
Comparing the above output with a time it closes correctly the output looks exactly the same, including the “failed to process spice messages” warning.
I don’t see any verbose or debug options for looking-glass-client, so is there anything I can do to further debug this? The old reliable strace shows nothing, so I’m guessing it’s stuck reading/writing shared memory.
Edit: I’ve done some more testing, and it seems to only happen when I’ve got capture enabled. Without capture looking-glass-client successfully closes. Hitting “scrolllock” once looking-glass-client has frozen does nothing, and it still requires a SIGINT/SIGTERM to kill it. Wayland capture issue?