Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wayland panic and crash #11275

Closed
tamasd opened this issue Jan 9, 2024 · 6 comments · Fixed by #11735
Closed

Wayland panic and crash #11275

tamasd opened this issue Jan 9, 2024 · 6 comments · Fixed by #11735
Labels
A-Windowing Platform-agnostic interface layer to run your app in C-Crash A sudden unexpected crash O-Linux Specific to the Linux desktop operating system

Comments

@tamasd
Copy link

tamasd commented Jan 9, 2024

Bevy version

bevy 0.12.1

[Optional] Relevant system information

Ubuntu 23.10, all packages are up to date.
Rust: 1.75.0 (stable)

AdapterInfo { name: "NVIDIA GeForce MX130", vendor: 4318, device: 5965, device_type: DiscreteGpu, driver: "NVIDIA", driver_info: "535.129.03", backend: Vulkan }
SystemInfo { os: "Linux 23.10 Ubuntu", kernel: "6.5.0-14-generic", cpu: "Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz", core_count: "4", memory: "31.2 GiB" }

The system is running with the on-demand PRIME profile.

What you did

Try to run my own app or any examples with the wayland feature.

What went wrong

Crash or panic

Additional information

full screen:

2024-01-09T19:28:38.499923Z DEBUG bevy_app::plugin_group: added plugin: bevy_core::TaskPoolPlugin
2024-01-09T19:28:38.499956Z DEBUG bevy_app::app: added plugin: bevy_core::TaskPoolPlugin
2024-01-09T19:28:38.500762Z DEBUG bevy_app::plugin_group: added plugin: bevy_core::TypeRegistrationPlugin
2024-01-09T19:28:38.500793Z DEBUG bevy_app::app: added plugin: bevy_core::TypeRegistrationPlugin
2024-01-09T19:28:38.500989Z DEBUG bevy_app::plugin_group: added plugin: bevy_core::FrameCountPlugin
2024-01-09T19:28:38.501002Z DEBUG bevy_app::app: added plugin: bevy_core::FrameCountPlugin
2024-01-09T19:28:38.501018Z DEBUG bevy_app::plugin_group: added plugin: bevy_time::TimePlugin
2024-01-09T19:28:38.501026Z DEBUG bevy_app::app: added plugin: bevy_time::TimePlugin
2024-01-09T19:28:38.501112Z DEBUG bevy_app::plugin_group: added plugin: bevy_transform::TransformPlugin
2024-01-09T19:28:38.501121Z DEBUG bevy_app::app: added plugin: bevy_transform::TransformPlugin
2024-01-09T19:28:38.501168Z DEBUG bevy_app::app: added plugin: bevy_hierarchy::valid_parent_check_plugin::ValidParentCheckPlugin<bevy_transform::components::global_transform::GlobalTransform>
2024-01-09T19:28:38.501216Z DEBUG bevy_app::plugin_group: added plugin: bevy_hierarchy::HierarchyPlugin
2024-01-09T19:28:38.501224Z DEBUG bevy_app::app: added plugin: bevy_hierarchy::HierarchyPlugin
2024-01-09T19:28:38.501263Z DEBUG bevy_app::plugin_group: added plugin: bevy_diagnostic::DiagnosticsPlugin
2024-01-09T19:28:38.501270Z DEBUG bevy_app::app: added plugin: bevy_diagnostic::DiagnosticsPlugin
2024-01-09T19:28:38.501305Z DEBUG bevy_app::plugin_group: added plugin: bevy_input::InputPlugin
2024-01-09T19:28:38.501311Z DEBUG bevy_app::app: added plugin: bevy_input::InputPlugin
2024-01-09T19:28:38.501572Z DEBUG bevy_app::plugin_group: added plugin: bevy_window::WindowPlugin
2024-01-09T19:28:38.501584Z DEBUG bevy_app::app: added plugin: bevy_window::WindowPlugin
2024-01-09T19:28:38.501900Z DEBUG bevy_app::plugin_group: added plugin: bevy_a11y::AccessibilityPlugin
2024-01-09T19:28:38.501912Z DEBUG bevy_app::app: added plugin: bevy_a11y::AccessibilityPlugin
2024-01-09T19:28:38.501925Z DEBUG bevy_app::plugin_group: added plugin: bevy_asset::AssetPlugin
2024-01-09T19:28:38.501931Z DEBUG bevy_app::app: added plugin: bevy_asset::AssetPlugin
2024-01-09T19:28:38.502115Z DEBUG bevy_app::plugin_group: added plugin: bevy_scene::ScenePlugin
2024-01-09T19:28:38.502126Z DEBUG bevy_app::app: added plugin: bevy_scene::ScenePlugin
2024-01-09T19:28:38.502268Z DEBUG bevy_app::plugin_group: added plugin: bevy_winit::WinitPlugin
2024-01-09T19:28:38.502278Z DEBUG bevy_app::app: added plugin: bevy_winit::WinitPlugin
2024-01-09T19:28:38.502348Z DEBUG bevy_app::app: added plugin: bevy_winit::accessibility::AccessibilityPlugin
2024-01-09T19:28:38.507307Z  INFO bevy_winit::system: Creating new window "App" (0v0)
The application panicked (crashed).
Message:  called `Option::unwrap()` on a `None` value
Location: /home/tamas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_winit-0.12.1/src/winit_windows.rs:62

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                                 8 frames hidden                                
   9: core::panicking::panic::h195fc2a96298d4c3
      at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:127
  10: core::option::Option<T>::unwrap::h62b1f77664bad1ff
      at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/option.rs:931
  11: bevy_winit::winit_windows::WinitWindows::create_window::h478281716f9f594d
      at /home/tamas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_winit-0.12.1/src/winit_windows.rs:62
        60              WindowMode::Fullscreen => {
        61                  winit_window_builder.with_fullscreen(Some(winit::window::Fullscreen::Exclusive(
        62 >                     get_best_videomode(&event_loop.primary_monitor().unwrap()),
        63                  )))
        64              }
  12: bevy_winit::system::create_windows::hbfe2ef10f544bd82
      at /home/tamas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_winit-0.12.1/src/system.rs:61
        59          );
        60  
        61 >         let winit_window = winit_windows.create_window(
        62              event_loop,
        63              entity,
  13: <bevy_winit::WinitPlugin as bevy_app::plugin::Plugin>::build::hd1be6f1fd61d12f6
      at /home/tamas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_winit-0.12.1/src/lib.rs:209
       207              ) = create_window_system_state.get_mut(&mut app.world);
       208  
       209 >             create_windows(
       210                  &event_loop,
       211                  commands,
  14: bevy_app::app::App::add_boxed_plugin::{{closure}}::h10549b59a79e49d7
      at /home/tamas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_app-0.12.1/src/app.rs:631
       629  
       630          self.building_plugin_depth += 1;
       631 >         let result = catch_unwind(AssertUnwindSafe(|| plugin.build(self)));
       632          self.building_plugin_depth -= 1;
       633          if let Err(payload) = result {
  15: core::ops::function::FnOnce::call_once::h1c7d43c929c623b4
      at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250
  16: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hfba118c00559566a
      at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272
  17: std::panicking::try::do_call::ha986206e3e0c109a
      at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552
  18: std::panicking::try::h41f6a2819030d7ad
      at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516
  19: std::panic::catch_unwind::habfb1b6a1a9db77a
      at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142
  20: bevy_app::app::App::add_boxed_plugin::hd242f0451632b81b
      at /home/tamas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_app-0.12.1/src/app.rs:631
       629  
       630          self.building_plugin_depth += 1;
       631 >         let result = catch_unwind(AssertUnwindSafe(|| plugin.build(self)));
       632          self.building_plugin_depth -= 1;
       633          if let Err(payload) = result {
  21: bevy_app::plugin_group::PluginGroupBuilder::finish::ha79bf269214c41b6
      at /home/tamas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_app-0.12.1/src/plugin_group.rs:182
       180                      debug!("added plugin: {}", entry.plugin.name());
       181                      if let Err(AppError::DuplicatePlugin { plugin_name }) =
       182 >                         app.add_boxed_plugin(entry.plugin)
       183                      {
       184                          panic!(
  22: <P as bevy_app::plugin::sealed::Plugins<bevy_app::plugin::sealed::PluginGroupMarker>>::add_to_app::h0d8b134bdb624f19
      at /home/tamas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_app-0.12.1/src/plugin.rs:107
       105          #[track_caller]
       106          fn add_to_app(self, app: &mut App) {
       107 >             self.build().finish(app);
       108          }
       109      }
  23: bevy_app::app::App::add_plugins::h6f04d300ba5aae87
      at /home/tamas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_app-0.12.1/src/app.rs:730
       728              );
       729          }
       730 >         plugins.add_to_app(self);
       731          self
       732      }
  24: strat::main::h718335ee3658dc94
      at /home/tamas/Projects/strat/src/main.rs:51
        49  
        50      let mut app = App::new();
        51 >     let _ = app
        52          .add_plugins(DefaultPlugins.set(WindowPlugin {
        53              primary_window: Some(Window {
  25: core::ops::function::FnOnce::call_once::h6f6b1e88060566c8
      at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250
                                 16 frames hidden                               

Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.
warning: queue 0x56367c6a9610 destroyed while proxies still attached:
  xdg_activation_v1@14 still attached
  zwp_text_input_manager_v3@13 still attached
  zwp_pointer_constraints_v1@12 still attached
  zwp_relative_pointer_manager_v1@11 still attached
  wl_seat@10 still attached
  wp_fractional_scale_manager_v1@9 still attached
  wp_viewporter@8 still attached
  wl_subcompositor@7 still attached
  wl_output@6 still attached
  wl_shm@5 still attached
  wl_compositor@4 still attached
  wl_registry@2 still attached

window mode:

2024-01-09T19:46:53.624706Z DEBUG bevy_app::plugin_group: added plugin: bevy_core::TaskPoolPlugin
2024-01-09T19:46:53.624733Z DEBUG bevy_app::app: added plugin: bevy_core::TaskPoolPlugin
2024-01-09T19:46:53.625607Z DEBUG bevy_app::plugin_group: added plugin: bevy_core::TypeRegistrationPlugin
2024-01-09T19:46:53.625627Z DEBUG bevy_app::app: added plugin: bevy_core::TypeRegistrationPlugin
2024-01-09T19:46:53.625765Z DEBUG bevy_app::plugin_group: added plugin: bevy_core::FrameCountPlugin
2024-01-09T19:46:53.625775Z DEBUG bevy_app::app: added plugin: bevy_core::FrameCountPlugin
2024-01-09T19:46:53.625787Z DEBUG bevy_app::plugin_group: added plugin: bevy_time::TimePlugin
2024-01-09T19:46:53.625791Z DEBUG bevy_app::app: added plugin: bevy_time::TimePlugin
2024-01-09T19:46:53.625856Z DEBUG bevy_app::plugin_group: added plugin: bevy_transform::TransformPlugin
2024-01-09T19:46:53.625862Z DEBUG bevy_app::app: added plugin: bevy_transform::TransformPlugin
2024-01-09T19:46:53.625899Z DEBUG bevy_app::app: added plugin: bevy_hierarchy::valid_parent_check_plugin::ValidParentCheckPlugin<bevy_transform::components::global_transform::GlobalTransform>
2024-01-09T19:46:53.625946Z DEBUG bevy_app::plugin_group: added plugin: bevy_hierarchy::HierarchyPlugin
2024-01-09T19:46:53.625952Z DEBUG bevy_app::app: added plugin: bevy_hierarchy::HierarchyPlugin
2024-01-09T19:46:53.625989Z DEBUG bevy_app::plugin_group: added plugin: bevy_diagnostic::DiagnosticsPlugin
2024-01-09T19:46:53.625996Z DEBUG bevy_app::app: added plugin: bevy_diagnostic::DiagnosticsPlugin
2024-01-09T19:46:53.626031Z DEBUG bevy_app::plugin_group: added plugin: bevy_input::InputPlugin
2024-01-09T19:46:53.626037Z DEBUG bevy_app::app: added plugin: bevy_input::InputPlugin
2024-01-09T19:46:53.626273Z DEBUG bevy_app::plugin_group: added plugin: bevy_window::WindowPlugin
2024-01-09T19:46:53.626282Z DEBUG bevy_app::app: added plugin: bevy_window::WindowPlugin
2024-01-09T19:46:53.626554Z DEBUG bevy_app::plugin_group: added plugin: bevy_a11y::AccessibilityPlugin
2024-01-09T19:46:53.626565Z DEBUG bevy_app::app: added plugin: bevy_a11y::AccessibilityPlugin
2024-01-09T19:46:53.626578Z DEBUG bevy_app::plugin_group: added plugin: bevy_asset::AssetPlugin
2024-01-09T19:46:53.626585Z DEBUG bevy_app::app: added plugin: bevy_asset::AssetPlugin
2024-01-09T19:46:53.626751Z DEBUG bevy_app::plugin_group: added plugin: bevy_scene::ScenePlugin
2024-01-09T19:46:53.626762Z DEBUG bevy_app::app: added plugin: bevy_scene::ScenePlugin
2024-01-09T19:46:53.626894Z DEBUG bevy_app::plugin_group: added plugin: bevy_winit::WinitPlugin
2024-01-09T19:46:53.626906Z DEBUG bevy_app::app: added plugin: bevy_winit::WinitPlugin
2024-01-09T19:46:53.626970Z DEBUG bevy_app::app: added plugin: bevy_winit::accessibility::AccessibilityPlugin
2024-01-09T19:46:53.630682Z  INFO bevy_winit::system: Creating new window "App" (0v0)
2024-01-09T19:46:53.658844Z DEBUG bevy_app::plugin_group: added plugin: bevy_render::RenderPlugin
2024-01-09T19:46:53.658870Z DEBUG bevy_app::app: added plugin: bevy_render::RenderPlugin
2024-01-09T19:46:53.709993Z  WARN log: InstanceFlags::VALIDATION requested, but unable to find layer: VK_LAYER_KHRONOS_validation    
2024-01-09T19:46:53.720325Z  INFO log: Instance version: 0x4030fa    
2024-01-09T19:46:53.720350Z  INFO log: Debug utils not enabled: debug_utils_user_data not passed to Instance::from_raw    
2024-01-09T19:46:53.720355Z  INFO log: Enabling device properties2    
2024-01-09T19:46:53.727371Z DEBUG log: Client 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_gbm",
    "EGL_MESA_platform_gbm",
    "EGL_EXT_platform_wayland",
    "EGL_KHR_platform_wayland",
    "EGL_EXT_platform_xcb",
]    
2024-01-09T19:46:53.727409Z  INFO log: Loading Wayland library to get the current display    
2024-01-09T19:46:53.727597Z  INFO log: Loading X11 library to get the current display    
2024-01-09T19:46:53.728217Z  INFO log: Using Wayland platform    
2024-01-09T19:46:53.728250Z  INFO log: Enabling EGL debug output    
2024-01-09T19:46:53.743053Z  INFO log: Display vendor "Mesa Project", version (1, 5)    
2024-01-09T19:46:53.743082Z DEBUG log: Display 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_present_opaque",
    "EGL_EXT_swap_buffers_with_damage",
    "EGL_IMG_context_priority",
    "EGL_KHR_cl_event2",
    "EGL_KHR_config_attribs",
    "EGL_KHR_context_flush_control",
    "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",
]    
2024-01-09T19:46:53.743117Z  INFO log: 	EGL surface: +srgb    
2024-01-09T19:46:53.743714Z  INFO log: 	Trying native-render    
2024-01-09T19:46:53.743740Z  INFO log: 	EGL context: +debug    
2024-01-09T19:46:53.743745Z  INFO log: 	EGL context: +robust access    
2024-01-09T19:46:53.744949Z  INFO log: 	EGL context: +surfaceless    
2024-01-09T19:46:53.745156Z  WARN log: Re-initializing Gles context due to Wayland window    
2024-01-09T19:46:53.757609Z  INFO log: Display vendor "Mesa Project", version (1, 5)    
2024-01-09T19:46:53.757637Z DEBUG log: Display 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_present_opaque",
    "EGL_EXT_swap_buffers_with_damage",
    "EGL_IMG_context_priority",
    "EGL_KHR_cl_event2",
    "EGL_KHR_config_attribs",
    "EGL_KHR_context_flush_control",
    "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",
]    
2024-01-09T19:46:53.757663Z  INFO log: 	EGL surface: +srgb    
2024-01-09T19:46:53.758264Z  INFO log: 	Trying native-render    
2024-01-09T19:46:53.758288Z  INFO log: 	EGL context: +debug    
2024-01-09T19:46:53.758293Z  INFO log: 	EGL context: +robust access    
2024-01-09T19:46:53.759295Z  INFO log: 	EGL context: +surfaceless    
2024-01-09T19:46:53.768178Z  WARN log: Disabling presentation on 'Intel(R) UHD Graphics 620 (KBL GT2)' (id 0x5567eebd81b0) because of NV Optimus (on Linux)    
2024-01-09T19:46:53.770529Z  INFO log: Max label length: 256    
2024-01-09T19:46:53.770546Z  INFO log: Enabling GLES debug output    
2024-01-09T19:46:53.771016Z  INFO log: Vendor: Intel    
2024-01-09T19:46:53.771027Z  INFO log: Renderer: Mesa Intel(R) UHD Graphics 620 (KBL GT2)    
2024-01-09T19:46:53.771032Z  INFO log: Version: OpenGL ES 3.2 Mesa 23.2.1-1ubuntu3.1    
2024-01-09T19:46:53.771036Z DEBUG log: Extensions: {
    "GL_EXT_multi_draw_arrays",
    "GL_NV_read_stencil",
    "GL_EXT_tessellation_point_size",
    "GL_EXT_texture_compression_s3tc",
    "GL_EXT_texture_mirror_clamp_to_edge",
    "GL_EXT_texture_border_clamp",
    "GL_OES_rgb8_rgba8",
    "GL_OES_draw_buffers_indexed",
    "GL_EXT_memory_object",
    "GL_EXT_shader_framebuffer_fetch_non_coherent",
    "GL_OES_copy_image",
    "GL_OES_tessellation_point_size",
    "GL_EXT_blend_minmax",
    "GL_ANGLE_texture_compression_dxt3",
    "GL_EXT_base_instance",
    "GL_NV_conditional_render",
    "GL_OES_sample_variables",
    "GL_EXT_texture_compression_rgtc",
    "GL_NV_draw_buffers",
    "GL_OES_texture_buffer",
    "GL_EXT_buffer_storage",
    "GL_EXT_disjoint_timer_query",
    "GL_EXT_shader_integer_mix",
    "GL_NV_pack_subimage",
    "GL_EXT_frag_depth",
    "GL_NV_fragment_shader_interlock",
    "GL_EXT_gpu_shader5",
    "GL_OES_stencil8",
    "GL_EXT_demote_to_helper_invocation",
    "GL_EXT_texture_view",
    "GL_EXT_memory_object_fd",
    "GL_OES_draw_elements_base_vertex",
    "GL_OES_required_internalformat",
    "GL_EXT_tessellation_shader",
    "GL_MESA_framebuffer_flip_y",
    "GL_NV_shader_noperspective_interpolation",
    "GL_EXT_texture_compression_bptc",
    "GL_EXT_texture_shadow_lod",
    "GL_MESA_bgra",
    "GL_OES_EGL_image",
    "GL_OES_sample_shading",
    "GL_OES_mapbuffer",
    "GL_NV_compute_shader_derivatives",
    "GL_KHR_robustness",
    "GL_EXT_texture_compression_s3tc_srgb",
    "GL_EXT_color_buffer_half_float",
    "GL_EXT_read_format_bgra",
    "GL_EXT_texture_buffer",
    "GL_EXT_texture_type_2_10_10_10_REV",
    "GL_EXT_shader_implicit_conversions",
    "GL_EXT_EGL_image_storage",
    "GL_OES_EGL_sync",
    "GL_OES_vertex_half_float",
    "GL_EXT_geometry_point_size",
    "GL_OES_shader_multisample_interpolation",
    "GL_EXT_map_buffer_range",
    "GL_OES_depth_texture_cube_map",
    "GL_EXT_shader_framebuffer_fetch",
    "GL_EXT_texture_query_lod",
    "GL_EXT_texture_format_BGRA8888",
    "GL_OES_fbo_render_mipmap",
    "GL_EXT_clip_cull_distance",
    "GL_EXT_debug_label",
    "GL_OES_element_index_uint",
    "GL_EXT_shader_group_vote",
    "GL_EXT_copy_image",
    "GL_EXT_draw_elements_base_vertex",
    "GL_AMD_performance_monitor",
    "GL_OES_packed_depth_stencil",
    "GL_EXT_depth_clamp",
    "GL_EXT_texture_compression_dxt1",
    "GL_OES_primitive_bounding_box",
    "GL_KHR_texture_compression_astc_sliced_3d",
    "GL_KHR_no_error",
    "GL_OES_EGL_image_external",
    "GL_EXT_clip_control",
    "GL_EXT_texture_filter_anisotropic",
    "GL_OES_depth24",
    "GL_OES_texture_storage_multisample_2d_array",
    "GL_EXT_texture_sRGB_decode",
    "GL_OES_gpu_shader5",
    "GL_OES_texture_3D",
    "GL_EXT_clear_texture",
    "GL_EXT_semaphore",
    "GL_OES_vertex_array_object",
    "GL_EXT_texture_cube_map_array",
    "GL_EXT_draw_instanced",
    "GL_EXT_render_snorm",
    "GL_KHR_blend_equation_advanced",
    "GL_OES_tessellation_shader",
    "GL_ANGLE_pack_reverse_row_order",
    "GL_ANDROID_extension_pack_es31a",
    "GL_OES_get_program_binary",
    "GL_ANGLE_texture_compression_dxt5",
    "GL_EXT_primitive_bounding_box",
    "GL_OES_surfaceless_context",
    "GL_INTEL_performance_query",
    "GL_INTEL_blackhole_render",
    "GL_KHR_robust_buffer_access_behavior",
    "GL_EXT_occlusion_query_boolean",
    "GL_OES_viewport_array",
    "GL_MESA_shader_integer_functions",
    "GL_OES_shader_image_atomic",
    "GL_OES_texture_half_float_linear",
    "GL_NV_image_formats",
    "GL_EXT_geometry_shader",
    "GL_INTEL_conservative_rasterization",
    "GL_OES_texture_npot",
    "GL_EXT_draw_buffers_indexed",
    "GL_EXT_float_blend",
    "GL_EXT_compressed_ETC1_RGB8_sub_texture",
    "GL_EXT_shader_io_blocks",
    "GL_OES_texture_border_clamp",
    "GL_KHR_context_flush_control",
    "GL_OES_EGL_image_external_essl3",
    "GL_EXT_instanced_arrays",
    "GL_EXT_polygon_offset_clamp",
    "GL_OES_texture_float_linear",
    "GL_OES_standard_derivatives",
    "GL_KHR_parallel_shader_compile",
    "GL_EXT_texture_rg",
    "GL_EXT_draw_buffers",
    "GL_OES_texture_float",
    "GL_NV_alpha_to_coverage_dither_control",
    "GL_NV_pixel_buffer_object",
    "GL_EXT_discard_framebuffer",
    "GL_KHR_blend_equation_advanced_coherent",
    "GL_OES_geometry_point_size",
    "GL_OES_shader_io_blocks",
    "GL_EXT_color_buffer_float",
    "GL_EXT_robustness",
    "GL_OES_depth_texture",
    "GL_EXT_unpack_subimage",
    "GL_APPLE_texture_max_level",
    "GL_EXT_texture_norm16",
    "GL_OES_texture_view",
    "GL_OES_texture_stencil8",
    "GL_NV_read_depth",
    "GL_OES_compressed_ETC1_RGB8_texture",
    "GL_NV_generate_mipmap_sRGB",
    "GL_EXT_separate_shader_objects",
    "GL_EXT_blend_func_extended",
    "GL_KHR_texture_compression_astc_ldr",
    "GL_EXT_shader_samples_identical",
    "GL_NV_read_buffer",
    "GL_NV_read_depth_stencil",
    "GL_EXT_sRGB_write_control",
    "GL_OES_texture_cube_map_array",
    "GL_EXT_semaphore_fd",
    "GL_OES_texture_half_float",
    "GL_OES_geometry_shader",
    "GL_NV_fbo_color_attachments",
    "GL_EXT_texture_sRGB_R8",
    "GL_KHR_debug",
}    
2024-01-09T19:46:53.771156Z  INFO log: SL version: OpenGL ES GLSL ES 3.20    
2024-01-09T19:46:53.771171Z  WARN log: Detected skylake derivative running on mesa i915. Clears to srgb textures will use manual shader clears.    
2024-01-09T19:46:53.771190Z  INFO log: Adapter Vulkan AdapterInfo { name: "NVIDIA GeForce MX130", vendor: 4318, device: 5965, device_type: DiscreteGpu, driver: "NVIDIA", driver_info: "535.129.03", backend: Vulkan }    
2024-01-09T19:46:53.771239Z  INFO bevy_render::renderer: AdapterInfo { name: "NVIDIA GeForce MX130", vendor: 4318, device: 5965, device_type: DiscreteGpu, driver: "NVIDIA", driver_info: "535.129.03", backend: Vulkan }
2024-01-09T19:46:53.771271Z DEBUG log: Supported extensions: ["VK_KHR_swapchain", "VK_KHR_swapchain_mutable_format", "VK_EXT_robustness2", "VK_KHR_draw_indirect_count"]    
2024-01-09T19:46:53.798664Z DEBUG bevy_render: Configured wgpu adapter Limits: Limits {
    max_texture_dimension_1d: 16384,
    max_texture_dimension_2d: 16384,
    max_texture_dimension_3d: 2048,
    max_texture_array_layers: 2048,
    max_bind_groups: 8,
    max_bindings_per_bind_group: 1000,
    max_dynamic_uniform_buffers_per_pipeline_layout: 15,
    max_dynamic_storage_buffers_per_pipeline_layout: 16,
    max_sampled_textures_per_shader_stage: 1048576,
    max_samplers_per_shader_stage: 1048576,
    max_storage_buffers_per_shader_stage: 1048576,
    max_storage_textures_per_shader_stage: 1048576,
    max_uniform_buffers_per_shader_stage: 15,
    max_uniform_buffer_binding_size: 65536,
    max_storage_buffer_binding_size: 2147483648,
    max_vertex_buffers: 16,
    max_buffer_size: 18446744073709551615,
    max_vertex_attributes: 32,
    max_vertex_buffer_array_stride: 2048,
    min_uniform_buffer_offset_alignment: 256,
    min_storage_buffer_offset_alignment: 32,
    max_inter_stage_shader_components: 128,
    max_compute_workgroup_storage_size: 49152,
    max_compute_invocations_per_workgroup: 1536,
    max_compute_workgroup_size_x: 1536,
    max_compute_workgroup_size_y: 1024,
    max_compute_workgroup_size_z: 64,
    max_compute_workgroups_per_dimension: 65535,
    max_push_constant_size: 256,
}
2024-01-09T19:46:53.798698Z DEBUG bevy_render: Configured wgpu adapter Features: Features(
    DEPTH_CLIP_CONTROL | TIMESTAMP_QUERY | INDIRECT_FIRST_INSTANCE | RG11B10UFLOAT_RENDERABLE | DEPTH32FLOAT_STENCIL8 | TEXTURE_COMPRESSION_BC | TEXTURE_FORMAT_16BIT_NORM | TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES | PIPELINE_STATISTICS_QUERY | TIMESTAMP_QUERY_INSIDE_PASSES | TEXTURE_BINDING_ARRAY | BUFFER_BINDING_ARRAY | STORAGE_RESOURCE_BINDING_ARRAY | SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING | UNIFORM_BUFFER_AND_STORAGE_TEXTURE_ARRAY_NON_UNIFORM_INDEXING | PARTIALLY_BOUND_BINDING_ARRAY | MULTI_DRAW_INDIRECT | MULTI_DRAW_INDIRECT_COUNT | PUSH_CONSTANTS | ADDRESS_MODE_CLAMP_TO_ZERO | ADDRESS_MODE_CLAMP_TO_BORDER | POLYGON_MODE_LINE | POLYGON_MODE_POINT | VERTEX_WRITABLE_STORAGE | CLEAR_TEXTURE | SPIRV_SHADER_PASSTHROUGH | MULTIVIEW | SHADER_F64 | SHADER_I16 | SHADER_PRIMITIVE_INDEX,
)
2024-01-09T19:46:53.798862Z DEBUG bevy_app::app: added plugin: bevy_hierarchy::valid_parent_check_plugin::ValidParentCheckPlugin<bevy_render::view::visibility::InheritedVisibility>
2024-01-09T19:46:53.798877Z DEBUG bevy_app::app: added plugin: bevy_render::view::window::WindowRenderPlugin
2024-01-09T19:46:53.798882Z DEBUG bevy_app::app: added plugin: bevy_render::view::window::screenshot::ScreenshotPlugin
2024-01-09T19:46:53.803690Z DEBUG bevy_app::app: added plugin: bevy_render::camera::CameraPlugin
2024-01-09T19:46:53.803742Z DEBUG bevy_app::app: added plugin: bevy_render::camera::projection::CameraProjectionPlugin<bevy_render::camera::projection::Projection>
2024-01-09T19:46:53.803764Z DEBUG bevy_app::app: added plugin: bevy_render::camera::projection::CameraProjectionPlugin<bevy_render::camera::projection::OrthographicProjection>
2024-01-09T19:46:53.803797Z DEBUG bevy_app::app: added plugin: bevy_render::camera::projection::CameraProjectionPlugin<bevy_render::camera::projection::PerspectiveProjection>
2024-01-09T19:46:53.803825Z DEBUG bevy_app::app: added plugin: bevy_render::extract_resource::ExtractResourcePlugin<bevy_render::camera::manual_texture_view::ManualTextureViews>
2024-01-09T19:46:53.803852Z DEBUG bevy_app::app: added plugin: bevy_render::view::ViewPlugin
2024-01-09T19:46:53.803961Z DEBUG bevy_app::app: added plugin: bevy_render::extract_resource::ExtractResourcePlugin<bevy_render::view::Msaa>
2024-01-09T19:46:53.803973Z DEBUG bevy_app::app: added plugin: bevy_render::view::visibility::VisibilityPlugin
2024-01-09T19:46:53.804046Z DEBUG bevy_app::app: added plugin: bevy_render::mesh::MeshPlugin
2024-01-09T19:46:53.804131Z DEBUG bevy_app::app: added plugin: bevy_render::render_asset::RenderAssetPlugin<bevy_render::mesh::mesh::Mesh, bevy_render::texture::image::Image>
2024-01-09T19:46:53.804163Z DEBUG bevy_app::app: added plugin: bevy_render::globals::GlobalsPlugin
2024-01-09T19:46:53.804261Z DEBUG bevy_app::app: added plugin: bevy_render::mesh::morph::MorphPlugin
2024-01-09T19:46:53.804289Z DEBUG bevy_app::plugin_group: added plugin: bevy_render::texture::ImagePlugin
2024-01-09T19:46:53.804295Z DEBUG bevy_app::app: added plugin: bevy_render::texture::ImagePlugin
2024-01-09T19:46:53.804305Z DEBUG bevy_app::app: added plugin: bevy_render::render_asset::RenderAssetPlugin<bevy_render::texture::image::Image>
2024-01-09T19:46:53.804365Z DEBUG bevy_app::plugin_group: added plugin: bevy_render::pipelined_rendering::PipelinedRenderingPlugin
2024-01-09T19:46:53.804372Z DEBUG bevy_app::app: added plugin: bevy_render::pipelined_rendering::PipelinedRenderingPlugin
2024-01-09T19:46:53.804390Z DEBUG bevy_app::plugin_group: added plugin: bevy_core_pipeline::CorePipelinePlugin
2024-01-09T19:46:53.804398Z DEBUG bevy_app::app: added plugin: bevy_core_pipeline::CorePipelinePlugin
2024-01-09T19:46:53.804599Z DEBUG bevy_app::app: added plugin: bevy_render::extract_resource::ExtractResourcePlugin<bevy_core_pipeline::clear_color::ClearColor>
2024-01-09T19:46:53.804628Z DEBUG bevy_app::app: added plugin: bevy_core_pipeline::core_2d::Core2dPlugin
2024-01-09T19:46:53.804647Z DEBUG bevy_app::app: added plugin: bevy_render::extract_component::ExtractComponentPlugin<bevy_core_pipeline::core_2d::camera_2d::Camera2d>
2024-01-09T19:46:53.804704Z DEBUG bevy_app::app: added plugin: bevy_core_pipeline::core_3d::Core3dPlugin
2024-01-09T19:46:53.804719Z DEBUG bevy_app::app: added plugin: bevy_core_pipeline::skybox::SkyboxPlugin
2024-01-09T19:46:53.804992Z DEBUG bevy_app::app: added plugin: bevy_render::extract_component::ExtractComponentPlugin<bevy_core_pipeline::skybox::Skybox>
2024-01-09T19:46:53.805016Z DEBUG bevy_app::app: added plugin: bevy_render::extract_component::ExtractComponentPlugin<bevy_core_pipeline::core_3d::camera_3d::Camera3d>
2024-01-09T19:46:53.805125Z DEBUG bevy_app::app: added plugin: bevy_core_pipeline::deferred::copy_lighting_id::CopyDeferredLightingIdPlugin
2024-01-09T19:46:53.805193Z DEBUG bevy_app::app: added plugin: bevy_core_pipeline::blit::BlitPlugin
2024-01-09T19:46:53.805220Z DEBUG bevy_app::app: added plugin: bevy_core_pipeline::msaa_writeback::MsaaWritebackPlugin
2024-01-09T19:46:53.805234Z DEBUG bevy_app::app: added plugin: bevy_core_pipeline::tonemapping::TonemappingPlugin
2024-01-09T19:46:53.839276Z DEBUG bevy_app::app: added plugin: bevy_render::extract_resource::ExtractResourcePlugin<bevy_core_pipeline::tonemapping::TonemappingLuts>
2024-01-09T19:46:53.839337Z DEBUG bevy_app::app: added plugin: bevy_render::extract_component::ExtractComponentPlugin<bevy_core_pipeline::tonemapping::Tonemapping>
2024-01-09T19:46:53.839346Z DEBUG bevy_app::app: added plugin: bevy_render::extract_component::ExtractComponentPlugin<bevy_core_pipeline::tonemapping::DebandDither>
2024-01-09T19:46:53.839360Z DEBUG bevy_app::app: added plugin: bevy_core_pipeline::upscaling::UpscalingPlugin
2024-01-09T19:46:53.839366Z DEBUG bevy_app::app: added plugin: bevy_core_pipeline::bloom::BloomPlugin
2024-01-09T19:46:53.839723Z DEBUG bevy_app::app: added plugin: bevy_render::extract_component::ExtractComponentPlugin<bevy_core_pipeline::bloom::settings::BloomSettings>
2024-01-09T19:46:53.839735Z DEBUG bevy_app::app: added plugin: bevy_render::extract_component::UniformComponentPlugin<bevy_core_pipeline::bloom::downsampling_pipeline::BloomUniforms>
2024-01-09T19:46:53.839765Z DEBUG bevy_app::app: added plugin: bevy_core_pipeline::fxaa::FxaaPlugin
2024-01-09T19:46:53.840305Z DEBUG bevy_app::app: added plugin: bevy_render::extract_component::ExtractComponentPlugin<bevy_core_pipeline::fxaa::Fxaa>
2024-01-09T19:46:53.840334Z DEBUG bevy_app::app: added plugin: bevy_core_pipeline::contrast_adaptive_sharpening::CASPlugin
2024-01-09T19:46:53.840568Z DEBUG bevy_app::app: added plugin: bevy_render::extract_component::ExtractComponentPlugin<bevy_core_pipeline::contrast_adaptive_sharpening::ContrastAdaptiveSharpeningSettings>
2024-01-09T19:46:53.840579Z DEBUG bevy_app::app: added plugin: bevy_render::extract_component::UniformComponentPlugin<bevy_core_pipeline::contrast_adaptive_sharpening::CASUniform>
2024-01-09T19:46:53.840596Z DEBUG bevy_app::plugin_group: added plugin: bevy_sprite::SpritePlugin
2024-01-09T19:46:53.840601Z DEBUG bevy_app::app: added plugin: bevy_sprite::SpritePlugin
2024-01-09T19:46:53.840810Z DEBUG bevy_app::app: added plugin: bevy_sprite::mesh2d::mesh::Mesh2dRenderPlugin
2024-01-09T19:46:53.841127Z DEBUG bevy_app::app: added plugin: bevy_sprite::mesh2d::color_material::ColorMaterialPlugin
2024-01-09T19:46:53.841223Z DEBUG bevy_app::app: added plugin: bevy_sprite::mesh2d::material::Material2dPlugin<bevy_sprite::mesh2d::color_material::ColorMaterial>
2024-01-09T19:46:53.841303Z DEBUG bevy_app::plugin_group: added plugin: bevy_text::TextPlugin
2024-01-09T19:46:53.841314Z DEBUG bevy_app::app: added plugin: bevy_text::TextPlugin
2024-01-09T19:46:53.841422Z DEBUG bevy_app::plugin_group: added plugin: bevy_ui::UiPlugin
2024-01-09T19:46:53.841430Z DEBUG bevy_app::app: added plugin: bevy_ui::UiPlugin
2024-01-09T19:46:53.841442Z DEBUG bevy_app::app: added plugin: bevy_render::extract_component::ExtractComponentPlugin<bevy_ui::camera_config::UiCameraConfig>
2024-01-09T19:46:53.841653Z DEBUG bevy_app::app: added plugin: bevy_ui::accessibility::AccessibilityPlugin
2024-01-09T19:46:53.841819Z DEBUG bevy_app::plugin_group: added plugin: bevy_pbr::PbrPlugin
2024-01-09T19:46:53.841827Z DEBUG bevy_app::app: added plugin: bevy_pbr::PbrPlugin
2024-01-09T19:46:53.847096Z DEBUG bevy_app::app: added plugin: bevy_pbr::render::mesh::MeshRenderPlugin
2024-01-09T19:46:53.848194Z DEBUG bevy_app::app: added plugin: bevy_pbr::material::MaterialPlugin<bevy_pbr::pbr_material::StandardMaterial>
2024-01-09T19:46:53.848234Z DEBUG bevy_app::app: added plugin: bevy_render::extract_instances::ExtractInstancesPlugin<bevy_asset::id::AssetId<bevy_pbr::pbr_material::StandardMaterial>>
2024-01-09T19:46:53.848297Z DEBUG bevy_app::app: added plugin: bevy_pbr::prepass::PrepassPipelinePlugin<bevy_pbr::pbr_material::StandardMaterial>
2024-01-09T19:46:53.848779Z DEBUG bevy_app::app: added plugin: bevy_pbr::prepass::PrepassPlugin<bevy_pbr::pbr_material::StandardMaterial>
2024-01-09T19:46:53.848818Z DEBUG bevy_app::app: added plugin: bevy_pbr::ssao::ScreenSpaceAmbientOcclusionPlugin
2024-01-09T19:46:53.849704Z DEBUG bevy_app::app: added plugin: bevy_pbr::environment_map::EnvironmentMapPlugin
2024-01-09T19:46:53.849845Z DEBUG bevy_app::app: added plugin: bevy_render::extract_component::ExtractComponentPlugin<bevy_pbr::environment_map::EnvironmentMapLight>
2024-01-09T19:46:53.849857Z DEBUG bevy_app::app: added plugin: bevy_render::extract_resource::ExtractResourcePlugin<bevy_pbr::light::AmbientLight>
2024-01-09T19:46:53.849863Z DEBUG bevy_app::app: added plugin: bevy_pbr::render::fog::FogPlugin
2024-01-09T19:46:53.850026Z DEBUG bevy_app::app: added plugin: bevy_render::extract_component::ExtractComponentPlugin<bevy_pbr::fog::FogSettings>
2024-01-09T19:46:53.850040Z DEBUG bevy_app::app: added plugin: bevy_render::extract_resource::ExtractResourcePlugin<bevy_pbr::material::DefaultOpaqueRendererMethod>
2024-01-09T19:46:53.850046Z DEBUG bevy_app::app: added plugin: bevy_render::extract_component::ExtractComponentPlugin<bevy_pbr::light::ShadowFilteringMethod>
2024-01-09T19:46:53.850099Z DEBUG bevy_app::app: added plugin: bevy_pbr::deferred::DeferredPbrLightingPlugin
2024-01-09T19:46:53.850110Z DEBUG bevy_app::app: added plugin: bevy_render::extract_component::ExtractComponentPlugin<bevy_pbr::deferred::PbrDeferredLightingDepthId>
2024-01-09T19:46:53.850120Z DEBUG bevy_app::app: added plugin: bevy_render::extract_component::UniformComponentPlugin<bevy_pbr::deferred::PbrDeferredLightingDepthId>
2024-01-09T19:46:53.850329Z DEBUG bevy_app::plugin_group: added plugin: bevy_gltf::GltfPlugin
2024-01-09T19:46:53.850337Z DEBUG bevy_app::app: added plugin: bevy_gltf::GltfPlugin
2024-01-09T19:46:53.850470Z DEBUG bevy_app::plugin_group: added plugin: bevy_audio::AudioPlugin
2024-01-09T19:46:53.850478Z DEBUG bevy_app::app: added plugin: bevy_audio::AudioPlugin
2024-01-09T19:46:53.902323Z DEBUG bevy_app::plugin_group: added plugin: bevy_gilrs::GilrsPlugin
2024-01-09T19:46:53.902364Z DEBUG bevy_app::app: added plugin: bevy_gilrs::GilrsPlugin
2024-01-09T19:46:53.902786Z DEBUG log: Loaded 596 mappings.    
2024-01-09T19:46:53.908460Z DEBUG bevy_app::plugin_group: added plugin: bevy_animation::AnimationPlugin
2024-01-09T19:46:53.908475Z DEBUG bevy_app::app: added plugin: bevy_animation::AnimationPlugin
2024-01-09T19:46:53.908598Z DEBUG bevy_app::plugin_group: added plugin: bevy_gizmos::GizmoPlugin
2024-01-09T19:46:53.908607Z DEBUG bevy_app::app: added plugin: bevy_gizmos::GizmoPlugin
2024-01-09T19:46:53.908901Z DEBUG bevy_app::app: added plugin: bevy_render::extract_component::UniformComponentPlugin<bevy_gizmos::LineGizmoUniform>
2024-01-09T19:46:53.908947Z DEBUG bevy_app::app: added plugin: bevy_render::render_asset::RenderAssetPlugin<bevy_gizmos::LineGizmo>
2024-01-09T19:46:53.908978Z DEBUG bevy_app::app: added plugin: bevy_gizmos::pipeline_2d::LineGizmo2dPlugin
2024-01-09T19:46:53.908997Z DEBUG bevy_app::app: added plugin: bevy_gizmos::pipeline_3d::LineGizmo3dPlugin
2024-01-09T19:46:53.909018Z DEBUG bevy_app::app: added plugin: leafwing_input_manager::plugin::InputManagerPlugin<strat::input::Action>
2024-01-09T19:46:53.909424Z DEBUG bevy_app::app: added plugin: bevy_diagnostic::frame_time_diagnostics_plugin::FrameTimeDiagnosticsPlugin
2024-01-09T19:46:53.909449Z DEBUG bevy_app::app: added plugin: bevy_diagnostic::log_diagnostics_plugin::LogDiagnosticsPlugin
2024-01-09T19:46:53.922318Z  INFO log: Created texture Valid((0, 1, Vulkan)) with TextureDescriptor { label: None, size: Extent3d { width: 1, height: 1, depth_or_array_layers: 1 }, mip_level_count: 1, sample_count: 1, dimension: D1, format: Rgba8UnormSrgb, usage: TextureUsages(COPY_DST | TEXTURE_BINDING), view_formats: [] }    
2024-01-09T19:46:53.926232Z DEBUG log: Create view for texture (0, 1, Vulkan) filters usages to TextureUses(RESOURCE)    
2024-01-09T19:46:53.926370Z  INFO log: Created texture Valid((1, 1, Vulkan)) with TextureDescriptor { label: None, size: Extent3d { width: 1, height: 1, depth_or_array_layers: 1 }, mip_level_count: 1, sample_count: 1, dimension: D2, format: Rgba8UnormSrgb, usage: TextureUsages(COPY_DST | TEXTURE_BINDING | RENDER_ATTACHMENT), view_formats: [] }    
2024-01-09T19:46:53.926408Z DEBUG log: Create view for texture (1, 1, Vulkan) filters usages to TextureUses(RESOURCE | COLOR_TARGET)    
2024-01-09T19:46:53.926518Z  INFO log: Created texture Valid((2, 1, Vulkan)) with TextureDescriptor { label: None, size: Extent3d { width: 1, height: 1, depth_or_array_layers: 1 }, mip_level_count: 1, sample_count: 1, dimension: D2, format: Rgba8UnormSrgb, usage: TextureUsages(COPY_DST | TEXTURE_BINDING | RENDER_ATTACHMENT), view_formats: [] }    
2024-01-09T19:46:53.926553Z DEBUG log: Create view for texture (2, 1, Vulkan) filters usages to TextureUses(RESOURCE | COLOR_TARGET)    
2024-01-09T19:46:53.926654Z  INFO log: Created texture Valid((3, 1, Vulkan)) with TextureDescriptor { label: None, size: Extent3d { width: 1, height: 1, depth_or_array_layers: 6 }, mip_level_count: 1, sample_count: 1, dimension: D2, format: Rgba8UnormSrgb, usage: TextureUsages(COPY_DST | TEXTURE_BINDING | RENDER_ATTACHMENT), view_formats: [] }    
2024-01-09T19:46:53.926699Z DEBUG log: Create view for texture (3, 1, Vulkan) filters usages to TextureUses(RESOURCE)    
2024-01-09T19:46:53.926804Z  INFO log: Created texture Valid((4, 1, Vulkan)) with TextureDescriptor { label: None, size: Extent3d { width: 1, height: 1, depth_or_array_layers: 6 }, mip_level_count: 1, sample_count: 1, dimension: D2, format: Rgba8UnormSrgb, usage: TextureUsages(COPY_DST | TEXTURE_BINDING | RENDER_ATTACHMENT), view_formats: [] }    
2024-01-09T19:46:53.926841Z DEBUG log: Create view for texture (4, 1, Vulkan) filters usages to TextureUses(RESOURCE)    
2024-01-09T19:46:53.926856Z  INFO log: Created texture Valid((5, 1, Vulkan)) with TextureDescriptor { label: None, size: Extent3d { width: 1, height: 1, depth_or_array_layers: 1 }, mip_level_count: 1, sample_count: 1, dimension: D3, format: Rgba8UnormSrgb, usage: TextureUsages(COPY_DST | TEXTURE_BINDING), view_formats: [] }    
2024-01-09T19:46:53.926868Z DEBUG log: Create view for texture (5, 1, Vulkan) filters usages to TextureUses(RESOURCE)    
2024-01-09T19:46:53.926971Z  INFO log: Created texture Valid((6, 1, Vulkan)) with TextureDescriptor { label: None, size: Extent3d { width: 1, height: 1, depth_or_array_layers: 1 }, mip_level_count: 1, sample_count: 1, dimension: D2, format: Rgba8UnormSrgb, usage: TextureUsages(COPY_DST | TEXTURE_BINDING | RENDER_ATTACHMENT), view_formats: [] }    
2024-01-09T19:46:53.926996Z DEBUG log: Create view for texture (6, 1, Vulkan) filters usages to TextureUses(RESOURCE | COLOR_TARGET)    
2024-01-09T19:46:53.927105Z  INFO log: Created texture Valid((7, 1, Vulkan)) with TextureDescriptor { label: None, size: Extent3d { width: 1, height: 1, depth_or_array_layers: 6 }, mip_level_count: 1, sample_count: 1, dimension: D2, format: Rgba8UnormSrgb, usage: TextureUsages(COPY_DST | TEXTURE_BINDING | RENDER_ATTACHMENT), view_formats: [] }    
2024-01-09T19:46:53.927152Z DEBUG log: Create view for texture (7, 1, Vulkan) filters usages to TextureUses(RESOURCE)    
2024-01-09T19:46:53.927240Z  INFO log: Created texture Valid((8, 1, Vulkan)) with TextureDescriptor { label: None, size: Extent3d { width: 1, height: 1, depth_or_array_layers: 1 }, mip_level_count: 1, sample_count: 1, dimension: D2, format: Rgba8UnormSrgb, usage: TextureUsages(COPY_DST | TEXTURE_BINDING), view_formats: [] }    
2024-01-09T19:46:53.927264Z DEBUG log: Create view for texture (8, 1, Vulkan) filters usages to TextureUses(RESOURCE)    
2024-01-09T19:46:53.927302Z  INFO log: Created texture Valid((9, 1, Vulkan)) with TextureDescriptor { label: None, size: Extent3d { width: 1, height: 1, depth_or_array_layers: 1 }, mip_level_count: 1, sample_count: 1, dimension: D2, format: Rgba8UnormSrgb, usage: TextureUsages(COPY_DST | TEXTURE_BINDING), view_formats: [] }    
2024-01-09T19:46:53.927324Z DEBUG log: Create view for texture (9, 1, Vulkan) filters usages to TextureUses(RESOURCE)    
2024-01-09T19:46:53.927766Z  INFO log: Created texture Valid((10, 1, Vulkan)) with TextureDescriptor { label: None, size: Extent3d { width: 1, height: 1, depth_or_array_layers: 1 }, mip_level_count: 1, sample_count: 1, dimension: D2, format: Rgba8UnormSrgb, usage: TextureUsages(COPY_DST | TEXTURE_BINDING), view_formats: [] }    
2024-01-09T19:46:53.927803Z DEBUG log: Create view for texture (10, 1, Vulkan) filters usages to TextureUses(RESOURCE)    
2024-01-09T19:46:53.928049Z  INFO log: Created texture Valid((11, 1, Vulkan)) with TextureDescriptor { label: Some("ssao_hilbert_index_lut"), size: Extent3d { width: 64, height: 64, depth_or_array_layers: 1 }, mip_level_count: 1, sample_count: 1, dimension: D2, format: R16Uint, usage: TextureUsages(COPY_DST | TEXTURE_BINDING), view_formats: [] }    
2024-01-09T19:46:53.928079Z DEBUG log: Create view for texture (11, 1, Vulkan) filters usages to TextureUses(RESOURCE)    
2024-01-09T19:46:53.928097Z DEBUG log: texture (11, 1, Vulkan) is dropped    
2024-01-09T19:46:53.929088Z  INFO bevy_diagnostic::system_information_diagnostics_plugin::internal: SystemInfo { os: "Linux 23.10 Ubuntu", kernel: "6.5.0-14-generic", cpu: "Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz", core_count: "4", memory: "31.2 GiB" }
2024-01-09T19:46:53.942481Z  INFO log: configuring surface with SurfaceConfiguration { usage: TextureUsages(RENDER_ATTACHMENT), format: Bgra8Unorm, width: 1280, height: 720, present_mode: Fifo, alpha_mode: Auto, view_formats: [Bgra8UnormSrgb] }    
2024-01-09T19:46:53.942597Z  INFO log: Automatically choosing alpha mode by rule Auto. Chose Inherit    
2024-01-09T19:46:53.942511Z  INFO log: Created texture Valid((12, 1, Vulkan)) with TextureDescriptor { label: None, size: Extent3d { width: 1, height: 1, depth_or_array_layers: 1 }, mip_level_count: 1, sample_count: 1, dimension: D2, format: Rgba8UnormSrgb, usage: TextureUsages(COPY_DST | TEXTURE_BINDING), view_formats: [] }    

(segmentation fault)

@tamasd tamasd added C-Bug An unexpected or incorrect behavior S-Needs-Triage This issue needs to be labelled labels Jan 9, 2024
@alice-i-cecile alice-i-cecile added C-Crash A sudden unexpected crash O-Linux Specific to the Linux desktop operating system A-Windowing Platform-agnostic interface layer to run your app in and removed C-Bug An unexpected or incorrect behavior S-Needs-Triage This issue needs to be labelled labels Jan 9, 2024
@alice-i-cecile
Copy link
Member

Can you reproduce this on main? We've recently bumped our winit version, which will affect this.

@tamasd
Copy link
Author

tamasd commented Jan 9, 2024

Yes, I can reproduce it on main.

@alice-i-cecile
Copy link
Member

Great, thanks. Can you reproduce it upstream on winit itself? There's a high chance that this originates there.

@Friz64
Copy link
Contributor

Friz64 commented Jan 10, 2024

Minimal reproducer:

use bevy::{prelude::*, window::WindowMode};

fn main() {
    App::new()
        .add_plugins(DefaultPlugins.set(WindowPlugin {
            primary_window: Some(Window {
                mode: WindowMode::Fullscreen,
                ..Default::default()
            }),
            ..Default::default()
        }))
        .run();
}

The problem is this unwrap: https://github.com/bevyengine/bevy/blob/a6574786757c0a0a7ddffb99fdc40ce90980fc82/crates/bevy_winit/src/winit_windows.rs#L62C80-L62C80

winit's documentation states that EventLoopWindowTarget::primary_monitor always returns None on Wayland.

Note: This only panics when requesting the Fullscreen mode on startup as Bevy will ask winit for the current monitor instead of the primary monitor when changing the mode during runtime.

@JMS55 JMS55 added this to the 0.13 milestone Jan 10, 2024
@Friz64
Copy link
Contributor

Friz64 commented Jan 15, 2024

Wayland doesn't have the concept of a "primary" monitor. We could try to find a fallback monitor. Maybe just the first one in the list of monitors? Maybe the one with the highest resolution/refresh rate?

Not that it would matter, because requesting winit::window::Fullscreen::Exclusive is a no-op on Wayland. So even if we found a monitor, the window would not be full-screened.

We could check for Wayland, and request borderless fullscreen instead. We could simply ignore the request completely. I'm not sure what to do.

@Friz64
Copy link
Contributor

Friz64 commented Jan 15, 2024

At least when changing the fullscreen mode during runtime, any exclusive fullscreen request just gets ignored (by winit). It's also worth thinking about if this behaviour is desired.

@alice-i-cecile alice-i-cecile removed this from the 0.13 milestone Jan 24, 2024
github-merge-queue bot pushed a commit that referenced this issue Feb 10, 2024
# Objective

- Get rid of unwraps in winit fullscreen handling code, which are the
source of some crashes.
- Fix #11275

## Solution

- Replace the unwraps with warnings. Ignore the fullscreen request, do
nothing instead.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Windowing Platform-agnostic interface layer to run your app in C-Crash A sudden unexpected crash O-Linux Specific to the Linux desktop operating system
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants