That makes sense. I added some icky debug printouts inside of the gstreamer1.0-vaapi plugin to see if I could better understand what's going on with this issue. What's happening in Xubuntu is when you log in, tumblerd starts up. tumblerd is a thumbnail creator, so it makes sense that it would interact with GStreamer. tumblerd ends up doing something that invokes gst-plugin-scanner, which loads the GStreamer vaapi plugin and leads to the crash. The second time you log in, tumblerd is already running so it doesn't repeat the plugin scan process and thus doesn't crash. But, you can also cause the X11 crash to happen again at any time by typing: gst-inspect-1.0 into your terminal. This crashes repeatably every time for me. Basically GStreamer is completely useless in Xubuntu 24.04 right now, at least inside of a VMware VM. In fact, I can install a different flavor of Ubuntu such as Ubuntu MATE in a VM, and install the problematic plugins: sudo apt install gstreamer1.0-vaapi gstreamer1.0-tools ...and cause the exact same crash to occur by running gst-inspect-1.0. Here's a backtrace of the code path in gst-plugin-scanner that is leading to the request to Xorg that crashes it. No idea where the fault lies, but something about this sequence makes Xorg unhappy: #0 _XReply (dpy=dpy@entry=0x55555558dce0, rep=rep@entry=0x7fffffffd6f0, extra=extra@entry=0, discard=discard@entry=0) at ../../src/xcb_io.c:680 #1 0x00007ffff752a3d0 in VA_DRI2Authenticate (dpy=dpy@entry=0x55555558dce0, window=1046, magic=magic@entry=1) at ../va/x11/va_dri2.c:225 #2 0x00007ffff7c138ed in va_drm_authenticate_x11 (fd=fd@entry=6, magic=magic@entry=1) at ../va/drm/va_drm_auth_x11.c:140 #3 0x00007ffff7c135d5 in va_drm_authenticate (fd=6, magic=1) at ../va/drm/va_drm_auth.c:37 #4 0x00007ffff7c134bd in va_DisplayContextConnect (pDisplayContext=) at ../va/drm/va_drm.c:62 #5 va_DisplayContextGetDriverNames (pDisplayContext=, drivers=0x7fffffffd890, num_drivers=0x7fffffffd884) at ../va/drm/va_drm.c:79 #6 0x00007ffff781729e in va_new_opendriver (dpy=0x55555558d310) at ../va/va.c:681 #7 vaInitialize (dpy=dpy@entry=0x55555558d310, major_version=major_version@entry=0x7fffffffdb34, minor_version=minor_version@entry=0x7fffffffdb30) at ../va/va.c:743 #8 0x00007ffff7f496d0 in vaapi_initialize (dpy=0x55555558d310) at ../gst-libs/gst/vaapi/gstvaapiutils.c:113 #9 0x00007ffff7f6db73 in supports_vaapi (fd=6) at ../gst-libs/gst/vaapi/gstvaapidisplay_drm.c:77 #10 get_default_device_path (display=0x5555555892a0 [GstVaapiDisplayDRM|vaapidisplaydrm1]) at ../gst-libs/gst/vaapi/gstvaapidisplay_drm.c:140 #11 set_device_path (device_path=, display=0x5555555892a0 [GstVaapiDisplayDRM|vaapidisplaydrm1]) at ../gst-libs/gst/vaapi/gstvaapidisplay_drm.c:181 #12 gst_vaapi_display_drm_open_display (display=0x5555555892a0 [GstVaapiDisplayDRM|vaapidisplaydrm1], name=) at ../gst-libs/gst/vaapi/gstvaapidisplay_drm.c:247 #13 0x00007ffff7f4a68b in gst_vaapi_display_create (data=0x0, init_type=GST_VAAPI_DISPLAY_INIT_FROM_DISPLAY_NAME, display=0x5555555892a0 [GstVaapiDisplayDRM|vaapidisplaydrm1]) at ../gst-libs/gst/vaapi/gstvaapidisplay.c:965 #14 gst_vaapi_display_config (display=0x5555555892a0 [GstVaapiDisplayDRM|vaapidisplaydrm1], init_type=GST_VAAPI_DISPLAY_INIT_FROM_DISPLAY_NAME, init_value=0x0) at ../gst-libs/gst/vaapi/gstvaapidisplay.c:1272 #15 0x00007ffff7f709a1 in gst_vaapi_display_drm_new (device_path=0x0) at ../gst-libs/gst/vaapi/gstvaapidisplay_drm.c:367 #16 0x00007ffff7f0c295 in gst_vaapi_create_test_display () at ../gst/vaapi/gstvaapipluginutil.c:929 #17 plugin_init (plugin=0x555555585b10 [GstPlugin|plugin1]) at ../gst/vaapi/gstvaapi.c:191 #18 0x00007ffff7e22452 in gst_plugin_register_func (plugin=plugin@entry=0x555555585b10 [GstPlugin|plugin1], desc=desc@entry=0x7ffff7fb71a0 , user_data=user_data@entry=0x0) at ../gst/gstplugin.c:540 #19 0x00007ffff7e279c0 in _priv_gst_plugin_load_file_for_registry (filename=0x55555558122c "/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so", registry=, error=) at ../gst/gstplugin.c:979 #20 0x00007ffff7e6ed41 in do_plugin_load (tag=0, filename=0x55555558122c "/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so", l=) at ../gst/gstpluginloader.c:741 #21 handle_rx_packet (payload_len=, payload=0x55555558122c "/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so", tag=0, pack_type=, l=) at ../gst/gstpluginloader.c:849 #22 read_one (l=0x555555584a30) at ../gst/gstpluginloader.c:1025 #23 exchange_packets (l=l@entry=0x555555584a30) at ../gst/gstpluginloader.c:1053 #24 0x00007ffff7e703a8 in _gst_plugin_loader_client_run (pipe_name=pipe_name@entry=0x0) at ../gst/gstpluginloader.c:596 #25 0x00005555555551db in main (argc=, argv=) at ../libs/gst/helpers/gst-plugin-scanner.c:81