This is a fresh install taken from the official download of Ubuntu 24.04.4 LTS, not an upgrade from 22.04.4 LTS which broke everything. First, I removed the unofficial ppa graphics repository with Software and Update graphically. Then I did: $ sudo bash # apt --purge remove nvidia-driver-555 # apt install nvidia-driver-535 # apt install libnvidia-egl-wayland1 # reboot I think you are right, the NVidia drivers are now no longer installed properly (the 555 drivers I was using were installed fine). $ eglgears_wayland shows up, but stutters with the 535 drivers. $ eglinfo reports it is using Mesa. However, if I check: $ nvidia-smi Mon Jun 24 04:20:02 2024 +---------------------------------------------------------------------------------------+ | NVIDIA-SMI 535.171.04 Driver Version: 535.171.04 CUDA Version: 12.2 | |-----------------------------------------+----------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+======================+======================| | 0 NVIDIA GeForce RTX 3080 Off | 00000000:09:00.0 On | N/A | | 0% 42C P8 29W / 370W | 409MiB / 10240MiB | 0% Default | | | | N/A | +-----------------------------------------+----------------------+----------------------+ +---------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=======================================================================================| | 0 N/A N/A 4917 G /usr/bin/gnome-shell 194MiB | | 0 N/A N/A 5143 G /usr/bin/Xwayland 97MiB | | 0 N/A N/A 5817 G /usr/libexec/xdg-desktop-portal-gnome 5MiB | | 0 N/A N/A 7942 G ...seed-version=20240623-180253.409000 89MiB | +---------------------------------------------------------------------------------------+ The common aspect of the FLTK cube application and my viewer, is that they have two embedded OpenGL windows within the main Window. The FLTK cube application works fine under X11 or XWayland. Under Wayland, the application does not show up the main window (only the cogwheel icon shows on the dockbar). And, as such, it hangs on the main loop (waiting for the window to show). Another FLTK application that opens just a single OpenGL window also works fine under Wayland. My application, on the other hand, shows up the window properly, but off-screen textures are not created as it seems the proper GL context is not created. However, the information about GL setup is all messed up. It reports: Monitors: 2 # This is broken -- I have only one monitor # (shows incorrectly under XWayland and Wayland) Vendor: Unknown # This should be NVidia Renderer: Unknown # Same here Version: Unknown # Should be Max. Texture Size:28968 x 28968 # Resolution should be 32768x32768 on EGL client apis:OpenGL_ES OpenGL EGL version:1.5 EGL vendor: NVIDIA No display extensions:EGL_EXT_platform_base EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions EGL_KHR_debug EGL_KHR_platform_x11 EGL_EXT_platform_x11 EGL_EXT_platform_device EGL_MESA_platform_surfaceless EGL_EXT_explicit_device EGL_KHR_platform_wayland EGL_EXT_platform_wayland EGL_KHR_platform_gbm EGL_MESA_platform_gbm EGL_EXT_platform_xcb Extensions: EGL_EXT_buffer_age EGL_EXT_client_sync EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_MESA_image_dma_buf_export EGL_EXT_output_base EGL_EXT_output_drm EGL_EXT_protected_content EGL_EXT_stream_consumer_egloutput EGL_EXT_stream_acquire_mode EGL_EXT_sync_reuse EGL_IMG_context_priority EGL_KHR_config_attribs EGL_KHR_create_context_no_error EGL_KHR_context_flush_control EGL_KHR_create_context EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_partial_update EGL_KHR_swap_buffers_with_damage EGL_KHR_no_config_context 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_reusable_sync EGL_KHR_stream EGL_KHR_stream_attrib EGL_KHR_stream_consumer_gltexture EGL_KHR_stream_cross_process_fd EGL_KHR_stream_fifo EGL_KHR_stream_producer_eglsurface EGL_KHR_surfaceless_context EGL_KHR_wait_sync EGL_NV_nvrm_fence_sync EGL_NV_quadruple_buffer EGL_NV_stream_consumer_eglimage EGL_NV_stream_cross_display EGL_NV_stream_cross_object EGL_NV_stream_cross_process EGL_NV_stream_cross_system EGL_NV_stream_dma EGL_NV_stream_flush EGL_NV_stream_metadata EGL_NV_stream_remote EGL_NV_stream_reset EGL_NV_stream_socket EGL_NV_stream_socket_inet EGL_NV_stream_socket_unix EGL_NV_stream_sync EGL_NV_stream_fifo_next EGL_NV_stream_fifo_synchronous EGL_NV_stream_consumer_gltexture_yuv EGL_NV_stream_attrib EGL_NV_stream_origin EGL_NV_system_time EGL_NV_output_drm_flip_event EGL_NV_triple_buffer EGL_NV_robustness_video_memory_purge EGL_EXT_present_opaque EGL_WL_bind_wayland_display EGL_WL_wayland_eglstream HW Stereo: Yes # This is also broken. I don't have HW Stereo support HW Overlay: No