libsdl-org / SDL

Simple Directmedia Layer
https://libsdl.org
zlib License
9.77k stars 1.81k forks source link

Linux vulkan unity games crash when using SDL_VIDEODRIVER=wayland #8780

Closed coronavirus6045 closed 9 months ago

coronavirus6045 commented 9 months ago

I had issues running a vulkan game that uses unity 2019 as a native wayland window. it crashes (segfault) I preloaded my system's SDL to the game using LD_PRELOAD and did the variable ststed on title I think it's an error on vk::SwapChain::Create(vk::CommandBuffer*) (i have no experience programming in VK) Is it a sdl issue or unity not letting me run in both wayland and vulkan mode/unity issue? Log (culprit is 'Caught fatal signal' and below):

Mono path[0] = '/home/[hidden]/local/share/Steam/steamapps/common/Superliminal/Superliminal_Data/Managed'
Mono config path = '/home/[hidden]/.local/share/Steam/steamapps/common/Superliminal/Superliminal_Data/MonoBleedingEdge/etc'
Preloaded 'libStandaloneFileBrowser.so'
Preloaded 'lib_burst_generated.so'
Preloaded 'libfmodsuper.so'
Preloaded 'libgvraudio.so'
Preloaded 'libopenvr_api.so'
Preloaded 'libresonanceaudio.so'
Preloaded 'libsteam_api.so'
Preloaded 'libvhacd.so'
Display 0 '2270W': 1920x1080 (primary device).
Desktop is 1920 x 1080 @ 60 Hz
[Vulkan init] extensions: count=21
[Vulkan init] extensions: name=VK_KHR_device_group_creation, enabled=0
[Vulkan init] extensions: name=VK_KHR_get_physical_device_properties2, enabled=0
[Vulkan init] extensions: name=VK_KHR_get_surface_capabilities2, enabled=0
[Vulkan init] extensions: name=VK_KHR_surface, enabled=1
[Vulkan init] extensions: name=VK_KHR_wayland_surface, enabled=1
[Vulkan init] extensions: name=VK_KHR_xcb_surface, enabled=0
[Vulkan init] extensions: name=VK_KHR_xlib_surface, enabled=1
[Vulkan init] extensions: name=VK_EXT_debug_report, enabled=0
[Vulkan init] extensions: name=VK_EXT_debug_utils, enabled=0
[Vulkan init] extensions: name=VK_KHR_display, enabled=1
[Vulkan init] extensions: name=VK_KHR_external_fence_capabilities, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_memory_capabilities, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_semaphore_capabilities, enabled=0
[Vulkan init] extensions: name=VK_KHR_get_display_properties2, enabled=0
[Vulkan init] extensions: name=VK_KHR_surface_protected_capabilities, enabled=0
[Vulkan init] extensions: name=VK_EXT_acquire_drm_display, enabled=0
[Vulkan init] extensions: name=VK_EXT_acquire_xlib_display, enabled=0
[Vulkan init] extensions: name=VK_EXT_direct_mode_display, enabled=0
[Vulkan init] extensions: name=VK_EXT_display_surface_counter, enabled=0
[Vulkan init] extensions: name=VK_EXT_swapchain_colorspace, enabled=1
[Vulkan init] extensions: name=VK_KHR_portability_enumeration, enabled=0
Vulkan detection: 2
Initialize engine version: 2019.4.35f1 (0462406dff2e)
[Subsystems] Discovering subsystems at path /home/[hidden]/.local/share/Steam/steamapps/common/Superliminal/Superliminal_Data/UnitySubsystems
GfxDevice: creating device client; threaded=1
[Vulkan init] extensions: count=21
[Vulkan init] extensions: name=VK_KHR_device_group_creation, enabled=0
[Vulkan init] extensions: name=VK_KHR_get_physical_device_properties2, enabled=0
[Vulkan init] extensions: name=VK_KHR_get_surface_capabilities2, enabled=0
[Vulkan init] extensions: name=VK_KHR_surface, enabled=1
[Vulkan init] extensions: name=VK_KHR_wayland_surface, enabled=1
[Vulkan init] extensions: name=VK_KHR_xcb_surface, enabled=0
[Vulkan init] extensions: name=VK_KHR_xlib_surface, enabled=1
[Vulkan init] extensions: name=VK_EXT_debug_report, enabled=0
[Vulkan init] extensions: name=VK_EXT_debug_utils, enabled=0
[Vulkan init] extensions: name=VK_KHR_display, enabled=1
[Vulkan init] extensions: name=VK_KHR_external_fence_capabilities, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_memory_capabilities, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_semaphore_capabilities, enabled=0
[Vulkan init] extensions: name=VK_KHR_get_display_properties2, enabled=0
[Vulkan init] extensions: name=VK_KHR_surface_protected_capabilities, enabled=0
[Vulkan init] extensions: name=VK_EXT_acquire_drm_display, enabled=0
[Vulkan init] extensions: name=VK_EXT_acquire_xlib_display, enabled=0
[Vulkan init] extensions: name=VK_EXT_direct_mode_display, enabled=0
[Vulkan init] extensions: name=VK_EXT_display_surface_counter, enabled=0
[Vulkan init] extensions: name=VK_EXT_swapchain_colorspace, enabled=1
[Vulkan init] extensions: name=VK_KHR_portability_enumeration, enabled=0
[Vulkan init] SelectPhysicalDevice requestedDeviceIndex=-1 xrDevice=(nil)
[Vulkan init] Physical Device 0x280ff80 [0]: "Intel(R) UHD Graphics (CML GT2)" deviceType=1 vendorID=8086 deviceID=9b41
[Vulkan init] Physical Device 0x2812b60 [1]: "llvmpipe (LLVM 15.0.7, 256 bits)" deviceType=4 vendorID=10005 deviceID=0
[Vulkan init] Selected physical device 0x280ff80
[Vulkan init] Graphics queue count=1
[Vulkan init] extensions: count=137
[Vulkan init] extensions: name=VK_KHR_8bit_storage, enabled=0
[Vulkan init] extensions: name=VK_KHR_16bit_storage, enabled=0
[Vulkan init] extensions: name=VK_KHR_bind_memory2, enabled=0
[Vulkan init] extensions: name=VK_KHR_buffer_device_address, enabled=0
[Vulkan init] extensions: name=VK_KHR_copy_commands2, enabled=0
[Vulkan init] extensions: name=VK_KHR_create_renderpass2, enabled=0
[Vulkan init] extensions: name=VK_KHR_dedicated_allocation, enabled=1
[Vulkan init] extensions: name=VK_KHR_deferred_host_operations, enabled=0
[Vulkan init] extensions: name=VK_KHR_depth_stencil_resolve, enabled=0
[Vulkan init] extensions: name=VK_KHR_descriptor_update_template, enabled=1
[Vulkan init] extensions: name=VK_KHR_device_group, enabled=0
[Vulkan init] extensions: name=VK_KHR_draw_indirect_count, enabled=0
[Vulkan init] extensions: name=VK_KHR_driver_properties, enabled=0
[Vulkan init] extensions: name=VK_KHR_dynamic_rendering, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_fence, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_fence_fd, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_memory, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_memory_fd, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_semaphore, enabled=0
[Vulkan init] extensions: name=VK_KHR_external_semaphore_fd, enabled=0
[Vulkan init] extensions: name=VK_KHR_format_feature_flags2, enabled=0
[Vulkan init] extensions: name=VK_KHR_get_memory_requirements2, enabled=1
[Vulkan init] extensions: name=VK_KHR_global_priority, enabled=0
[Vulkan init] extensions: name=VK_KHR_image_format_list, enabled=1
[Vulkan init] extensions: name=VK_KHR_imageless_framebuffer, enabled=0
[Vulkan init] extensions: name=VK_KHR_incremental_present, enabled=0
[Vulkan init] extensions: name=VK_KHR_maintenance1, enabled=1
[Vulkan init] extensions: name=VK_KHR_maintenance2, enabled=1
[Vulkan init] extensions: name=VK_KHR_maintenance3, enabled=0
[Vulkan init] extensions: name=VK_KHR_maintenance4, enabled=0
[Vulkan init] extensions: name=VK_KHR_maintenance5, enabled=0
[Vulkan init] extensions: name=VK_KHR_map_memory2, enabled=0
[Vulkan init] extensions: name=VK_KHR_multiview, enabled=1
[Vulkan init] extensions: name=VK_KHR_pipeline_executable_properties, enabled=0
[Vulkan init] extensions: name=VK_KHR_pipeline_library, enabled=0
[Vulkan init] extensions: name=VK_KHR_push_descriptor, enabled=0
[Vulkan init] extensions: name=VK_KHR_relaxed_block_layout, enabled=0
[Vulkan init] extensions: name=VK_KHR_sampler_mirror_clamp_to_edge, enabled=1
[Vulkan init] extensions: name=VK_KHR_sampler_ycbcr_conversion, enabled=0
[Vulkan init] extensions: name=VK_KHR_separate_depth_stencil_layouts, enabled=0
[Vulkan init] extensions: name=VK_KHR_shader_atomic_int64, enabled=0
[Vulkan init] extensions: name=VK_KHR_shader_clock, enabled=0
[Vulkan init] extensions: name=VK_KHR_shader_draw_parameters, enabled=0
[Vulkan init] extensions: name=VK_KHR_shader_float16_int8, enabled=0
[Vulkan init] extensions: name=VK_KHR_shader_float_controls, enabled=0
[Vulkan init] extensions: name=VK_KHR_shader_integer_dot_product, enabled=0
[Vulkan init] extensions: name=VK_KHR_shader_non_semantic_info, enabled=0
[Vulkan init] extensions: name=VK_KHR_shader_subgroup_extended_types, enabled=0
[Vulkan init] extensions: name=VK_KHR_shader_subgroup_uniform_control_flow, enabled=0
[Vulkan init] extensions: name=VK_KHR_shader_terminate_invocation, enabled=0
[Vulkan init] extensions: name=VK_KHR_spirv_1_4, enabled=0
[Vulkan init] extensions: name=VK_KHR_storage_buffer_storage_class, enabled=0
[Vulkan init] extensions: name=VK_KHR_swapchain, enabled=1
[Vulkan init] extensions: name=VK_KHR_swapchain_mutable_format, enabled=0
[Vulkan init] extensions: name=VK_KHR_synchronization2, enabled=0
[Vulkan init] extensions: name=VK_KHR_timeline_semaphore, enabled=0
[Vulkan init] extensions: name=VK_KHR_uniform_buffer_standard_layout, enabled=0
[Vulkan init] extensions: name=VK_KHR_variable_pointers, enabled=0
[Vulkan init] extensions: name=VK_KHR_vulkan_memory_model, enabled=0
[Vulkan init] extensions: name=VK_KHR_workgroup_memory_explicit_layout, enabled=0
[Vulkan init] extensions: name=VK_KHR_zero_initialize_workgroup_memory, enabled=0
[Vulkan init] extensions: name=VK_EXT_4444_formats, enabled=0
[Vulkan init] extensions: name=VK_EXT_border_color_swizzle, enabled=0
[Vulkan init] extensions: name=VK_EXT_buffer_device_address, enabled=0
[Vulkan init] extensions: name=VK_EXT_calibrated_timestamps, enabled=0
[Vulkan init] extensions: name=VK_EXT_color_write_enable, enabled=0
[Vulkan init] extensions: name=VK_EXT_conditional_rendering, enabled=0
[Vulkan init] extensions: name=VK_EXT_conservative_rasterization, enabled=0
[Vulkan init] extensions: name=VK_EXT_custom_border_color, enabled=0
[Vulkan init] extensions: name=VK_EXT_depth_bias_control, enabled=0
[Vulkan init] extensions: name=VK_EXT_depth_clamp_zero_one, enabled=0
[Vulkan init] extensions: name=VK_EXT_depth_clip_control, enabled=0
[Vulkan init] extensions: name=VK_EXT_depth_clip_enable, enabled=0
[Vulkan init] extensions: name=VK_EXT_descriptor_indexing, enabled=0
[Vulkan init] extensions: name=VK_EXT_display_control, enabled=0
[Vulkan init] extensions: name=VK_EXT_dynamic_rendering_unused_attachments, enabled=0
[Vulkan init] extensions: name=VK_EXT_extended_dynamic_state, enabled=0
[Vulkan init] extensions: name=VK_EXT_extended_dynamic_state2, enabled=0
[Vulkan init] extensions: name=VK_EXT_extended_dynamic_state3, enabled=0
[Vulkan init] extensions: name=VK_EXT_external_memory_dma_buf, enabled=0
[Vulkan init] extensions: name=VK_EXT_external_memory_host, enabled=0
[Vulkan init] extensions: name=VK_EXT_fragment_shader_interlock, enabled=0
[Vulkan init] extensions: name=VK_EXT_global_priority, enabled=0
[Vulkan init] extensions: name=VK_EXT_global_priority_query, enabled=0
[Vulkan init] extensions: name=VK_EXT_graphics_pipeline_library, enabled=0
[Vulkan init] extensions: name=VK_EXT_host_query_reset, enabled=0
[Vulkan init] extensions: name=VK_EXT_image_2d_view_of_3d, enabled=0
[Vulkan init] extensions: name=VK_EXT_image_drm_format_modifier, enabled=0
[Vulkan init] extensions: name=VK_EXT_image_robustness, enabled=0
[Vulkan init] extensions: name=VK_EXT_image_sliced_view_of_3d, enabled=0
[Vulkan init] extensions: name=VK_EXT_image_view_min_lod, enabled=0
[Vulkan init] extensions: name=VK_EXT_index_type_uint8, enabled=0
[Vulkan init] extensions: name=VK_EXT_inline_uniform_block, enabled=0
[Vulkan init] extensions: name=VK_EXT_line_rasterization, enabled=0
[Vulkan init] extensions: name=VK_EXT_load_store_op_none, enabled=0
[Vulkan init] extensions: name=VK_EXT_memory_budget, enabled=0
[Vulkan init] extensions: name=VK_EXT_multi_draw, enabled=0
[Vulkan init] extensions: name=VK_EXT_mutable_descriptor_type, enabled=0
[Vulkan init] extensions: name=VK_EXT_nested_command_buffer, enabled=0
[Vulkan init] extensions: name=VK_EXT_non_seamless_cube_map, enabled=0
[Vulkan init] extensions: name=VK_EXT_pci_bus_info, enabled=0
[Vulkan init] extensions: name=VK_EXT_physical_device_drm, enabled=0
[Vulkan init] extensions: name=VK_EXT_pipeline_creation_cache_control, enabled=0
[Vulkan init] extensions: name=VK_EXT_pipeline_creation_feedback, enabled=0
[Vulkan init] extensions: name=VK_EXT_pipeline_robustness, enabled=0
[Vulkan init] extensions: name=VK_EXT_post_depth_coverage, enabled=0
[Vulkan init] extensions: name=VK_EXT_primitive_topology_list_restart, enabled=0
[Vulkan init] extensions: name=VK_EXT_primitives_generated_query, enabled=0
[Vulkan init] extensions: name=VK_EXT_private_data, enabled=0
[Vulkan init] extensions: name=VK_EXT_provoking_vertex, enabled=0
[Vulkan init] extensions: name=VK_EXT_queue_family_foreign, enabled=0
[Vulkan init] extensions: name=VK_EXT_robustness2, enabled=0
[Vulkan init] extensions: name=VK_EXT_sample_locations, enabled=0
[Vulkan init] extensions: name=VK_EXT_sampler_filter_minmax, enabled=0
[Vulkan init] extensions: name=VK_EXT_scalar_block_layout, enabled=0
[Vulkan init] extensions: name=VK_EXT_separate_stencil_usage, enabled=0
[Vulkan init] extensions: name=VK_EXT_shader_atomic_float, enabled=0
[Vulkan init] extensions: name=VK_EXT_shader_atomic_float2, enabled=0
[Vulkan init] extensions: name=VK_EXT_shader_demote_to_helper_invocation, enabled=0
[Vulkan init] extensions: name=VK_EXT_shader_module_identifier, enabled=0
[Vulkan init] extensions: name=VK_EXT_shader_stencil_export, enabled=0
[Vulkan init] extensions: name=VK_EXT_shader_subgroup_ballot, enabled=0
[Vulkan init] extensions: name=VK_EXT_shader_subgroup_vote, enabled=0
[Vulkan init] extensions: name=VK_EXT_shader_viewport_index_layer, enabled=0
[Vulkan init] extensions: name=VK_EXT_subgroup_size_control, enabled=0
[Vulkan init] extensions: name=VK_EXT_texel_buffer_alignment, enabled=0
[Vulkan init] extensions: name=VK_EXT_tooling_info, enabled=0
[Vulkan init] extensions: name=VK_EXT_transform_feedback, enabled=0
[Vulkan init] extensions: name=VK_EXT_vertex_attribute_divisor, enabled=0
[Vulkan init] extensions: name=VK_EXT_vertex_input_dynamic_state, enabled=0
[Vulkan init] extensions: name=VK_EXT_ycbcr_image_arrays, enabled=0
[Vulkan init] extensions: name=VK_GOOGLE_decorate_string, enabled=0
[Vulkan init] extensions: name=VK_GOOGLE_hlsl_functionality1, enabled=0
[Vulkan init] extensions: name=VK_GOOGLE_user_type, enabled=0
[Vulkan init] extensions: name=VK_INTEL_shader_integer_functions2, enabled=0
[Vulkan init] extensions: name=VK_NV_compute_shader_derivatives, enabled=0
[Vulkan init] extensions: name=VK_VALVE_mutable_descriptor_type, enabled=0
Vulkan API version 1.1.0 (1.3.267 supported by driver)
Vulkan vendor=[Intel] id=[8086]
Vulkan renderer=[Intel(R) UHD Graphics (CML GT2)] id=[9b41]
Vulkan device type 1
Vulkan driverversion=[0x05c03002] uint=[96481282]
Vulkan PSO: cache data not found [path=/tmp/PillowCastle/SuperliminalSteam/vulkan_pso_cache.bin]
Begin MonoManager ReloadAssembly
- Completed reload, in  0.052 seconds
requesting resize 1280 x 720
requesting fullscreen 1280 x 720 at 0 Hz
Desktop is 1920 x 1080 @ 60 Hz
InitializeOrResetSwapChain 1280x720 hdr=0 samples=1
Unsupported backend 6
Unsupported windowing backend 0 
(Filename:  Line: 234)

Caught fatal signal - signo:11 code:1 errno:0 addr:0x40
Obtained 14 stack frames.
#0  0x00715a13a42520 in __sigaction
#1  0x0071595eb1c9df in vkGetPhysicalDeviceSurfaceFormats2KHR
#2  0x00715a144fba77 in vk::SwapChain::Create(vk::CommandBuffer*)
#3  0x00715a144fc3aa in vk::SwapChain::UpdateConfiguration(vk::SwapChainConfiguration const&, bool, vk::CommandBuffer*)
#4  0x00715a144db351 in GfxDeviceVK::UpdatePrimarySwapChain(vk::SwapChainConfiguration const&)
#5  0x00715a144db201 in GfxDeviceVK::AdjustPrimarySwapChain(unsigned long, int, int, int, int, int, bool, bool, int, int, bool, DepthBufferFormat, int&, int&, int&)
#6  0x00715a144c196b in vk::InitializeOrResetSwapChain(unsigned long, int, int, int, int, int, bool, bool, int, bool, int&, int&, int&)
#7  0x00715a14e4c0d4 in ScreenManagerLinux::SetResolutionImmediate(int, int, FullscreenMode, int)
#8  0x00715a146bdf57 in ScreenManager::SetRequestedResolution()
#9  0x00715a147d9d33 in SwitchToStandaloneDefaultSettings(CommandLineParamOverrides const*)
#10 0x00715a149713c2 in PlayerMain(int, char**)
#11 0x00715a13a29d90 in __libc_init_first
#12 0x00715a13a29e40 in __libc_start_main
#13 0x00000000400569 in _start
Kontrabant commented 9 months ago

Unsupported backend 6

6 is the enum value that corresponds to SDL_SYSWM_WAYLAND, so Unity is saying that it doesn't know what to do with this window system type. Unity or the title itself has to be updated to use VK_KHR_wayland_surface to create the swapchain for native Wayland surfaces.

coronavirus6045 commented 9 months ago

man they forgot to do that despite that version supporting both