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] Blank window with Vulkan backend #13845

Closed
michelesr opened this issue Dec 31, 2020 · 18 comments
Closed

[Wayland] Blank window with Vulkan backend #13845

michelesr opened this issue Dec 31, 2020 · 18 comments

Comments

@michelesr
Copy link

What happens?

On Arch Linux, running PPSSPPSDL (v1.10.3) with SLD_VIDEODRIVER=wayland and Vulkan backend set in the config, the following message is printed and execution halts.

Vulkan subsystem 6 not supported

Full output:

I: VulkanLoader.cpp:268: VulkanMayBeAvailable: Device allowed ('SDL:Linux')
I: VulkanLoader.cpp:275: VulkanMayBeAvailable: Library loaded ('libvulkan.so')
I: VulkanLoader.cpp:328: VulkanMayBeAvailable: Enumerating instance extensions
I: VulkanLoader.cpp:339: VulkanMayBeAvailable: Instance extension count: 18
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_device_group_creation (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_display (00000017)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_external_fence_capabilities (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_external_memory_capabilities (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_external_semaphore_capabilities (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_get_display_properties2 (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_get_physical_device_properties2 (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_get_surface_capabilities2 (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_surface (00000019)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_surface_protected_capabilities (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_wayland_surface (00000006)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_xcb_surface (00000006)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_xlib_surface (00000006)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_EXT_acquire_xlib_display (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_EXT_debug_report (00000008)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_EXT_direct_mode_display (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_EXT_display_surface_counter (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_EXT_debug_utils (00000002)
I: VulkanLoader.cpp:385: VulkanMayBeAvailable: Calling vkCreateInstance
I: VulkanLoader.cpp:392: VulkanMayBeAvailable: Vulkan test instance created successfully.
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

I: VulkanLoader.cpp:429: VulkanMayBeAvailable: Found working Vulkan API!
I: VulkanLoader.cpp:436: VulkanMayBeAvailable: Destroying instance
DEBUG: Vulkan might be available.
Info: We compiled against SDL version 2.0.12, but we are linking against SDL version 2.0.14., be aware that this can lead to unexpected behaviors
I: Config.cpp:527: Longest display side: -1 pixels. Choosing scale 1
Pixels: 960 x 544
Virtual pixels: 960 x 544
I: VulkanLoader.cpp:457: VulkanLoad: Found library 'libvulkan.so'
W: VulkanLoader.cpp:478: VulkanLoad: Base functions loaded.
W: VulkanLoader.cpp:551: Vulkan instance functions loaded.
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

I: VulkanContext.cpp:519: Chose physical device 0: 0x55ff01188380
I: VulkanContext.cpp:555: Memory Types (1):
I: VulkanContext.cpp:564:   0: Heap 0; Flags: DEVICE_LOCAL HOST_VISIBLE HOST_CACHED HOST_COHERENT
W: VulkanLoader.cpp:558: Vulkan device functions loaded.
I: VulkanLoader.cpp:574: Missing (device): vkGetPhysicalDeviceSparseImageFormatProperties
I: VulkanContext.cpp:676: Device created.

Vulkan subsystem 6 not supported

NOTE: the program starts fine when SLD_VIDEODRIVER=x11 is set.

What should happen?

The program should start normally.

What hardware, operating system, and PPSSPP version? On desktop, GPU matters for graphical issues.

CPU: Intel Core i7-8750H
GPU: Intel UHD Graphics 630 (Mobile)
Mesa and Vulkan Intel drivers version: 20.3.1
OS: Arch Linux, on Linux 5.9.14
WM: Sway (Wayland)

@michelesr
Copy link
Author

michelesr commented Dec 31, 2020

Actually turns out that you need to set -DUSE_WAYLAND_WSI=ON CMake flag... However after doing that I get a blank window when running with SDL_VIDEODRIVER=wayland.

@michelesr
Copy link
Author

michelesr commented Dec 31, 2020

Tested on weston too. The window doesn't spawn at all. It shouldn't be a SDL2 issue given that other programs (such as mednafen) are able to run properly on weston with the Wayland video driver. Any advice?

Full output:

I: VulkanLoader.cpp:268: VulkanMayBeAvailable: Device allowed ('SDL:Linux')
I: VulkanLoader.cpp:275: VulkanMayBeAvailable: Library loaded ('libvulkan.so')
I: VulkanLoader.cpp:328: VulkanMayBeAvailable: Enumerating instance extensions
I: VulkanLoader.cpp:339: VulkanMayBeAvailable: Instance extension count: 18
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_device_group_creation (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_display (00000017)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_external_fence_capabilities (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_external_memory_capabilities (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_external_semaphore_capabilities (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_get_display_properties2 (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_get_physical_device_properties2 (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_get_surface_capabilities2 (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_surface (00000019)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_surface_protected_capabilities (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_wayland_surface (00000006)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_xcb_surface (00000006)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_KHR_xlib_surface (00000006)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_EXT_acquire_xlib_display (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_EXT_debug_report (00000008)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_EXT_direct_mode_display (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_EXT_display_surface_counter (00000001)
I: VulkanLoader.cpp:347: VulkanMaybeAvailable: Instance extension found: VK_EXT_debug_utils (00000002)
I: VulkanLoader.cpp:385: VulkanMayBeAvailable: Calling vkCreateInstance
I: VulkanLoader.cpp:392: VulkanMayBeAvailable: Vulkan test instance created successfully.
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

I: VulkanLoader.cpp:429: VulkanMayBeAvailable: Found working Vulkan API!
I: VulkanLoader.cpp:436: VulkanMayBeAvailable: Destroying instance
DEBUG: Vulkan might be available.
Info: We compiled against SDL version 2.0.14 and we are linking against SDL version 2.0.14. :)
I: Config.cpp:527: Longest display side: -1 pixels. Choosing scale 1
Pixels: 960 x 544
Virtual pixels: 960 x 544
I: VulkanLoader.cpp:457: VulkanLoad: Found library 'libvulkan.so'
W: VulkanLoader.cpp:478: VulkanLoad: Base functions loaded.
W: VulkanLoader.cpp:551: Vulkan instance functions loaded.
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

I: VulkanContext.cpp:519: Chose physical device 0: 0x55f4b03771a0
I: VulkanContext.cpp:555: Memory Types (1):
I: VulkanContext.cpp:564:   0: Heap 0; Flags: DEVICE_LOCAL HOST_VISIBLE HOST_CACHED HOST_COHERENT
W: VulkanLoader.cpp:558: Vulkan device functions loaded.
I: VulkanLoader.cpp:574: Missing (device): vkGetPhysicalDeviceSparseImageFormatProperties
I: VulkanContext.cpp:676: Device created.

I: VulkanContext.cpp:719: Creating Vulkan surface for window
I: VulkanContext.cpp:868: swapchain_format: 44 (/2)
I: VulkanContext.cpp:872: gfx_queue_: 0x55f4b06450f8
I: VulkanContext.cpp:909: surfCapabilities_.currentExtent: -1x-1
I: VulkanContext.cpp:910: surfCapabilities_.minImageExtent: 1x1
I: VulkanContext.cpp:911: surfCapabilities_.maxImageExtent: 16384x16384
I: VulkanContext.cpp:916: swapChainExtent: 1x1
I: VulkanContext.cpp:922: Supported present mode: 1 (MAILBOX)
I: VulkanContext.cpp:922: Supported present mode: 2 (FIFO)
I: VulkanContext.cpp:943: Chosen present mode: 1 (MAILBOX)
I: VulkanContext.cpp:949: numSwapChainImages: 5
I: VulkanContext.cpp:963: Supported transforms: IDENTITY
I: VulkanContext.cpp:964: Current transform: IDENTITY
I: VulkanContext.cpp:997: Chosen pretransform transform: IDENTITY
I: VulkanContext.cpp:1047: Created swapchain: 1x1
I: VulkanQueueRunner.cpp:11: VulkanQueueRunner::CreateDeviceObjects
I: VulkanRenderManager.cpp:219: Starting Vulkan submission thread (threadInitFrame_ = 0)
E: png_load.cpp:48: pngLoad: No such file or directory
I: NativeApp.cpp:810: NativeInitGraphics
I: NativeApp.cpp:905: NativeInitGraphics completed
I: NativeApp.cpp:1340: NativeResized - setting flag
I: SDLMain.cpp:117: SDL: Trying a different device
loading control pad mappings from gamecontrollerdb.txt: SUCCESS!
I: Core.cpp:190: pixel_res: 1920x1080. Calling NativeResized()
I: NativeApp.cpp:1340: NativeResized - setting flag
I: NativeApp.cpp:1068: Resized flag set - recalculating bounds
I: VulkanRenderManager.cpp:348: Running first frame (0)
I: VulkanRenderManager.cpp:242: Vulkan submission thread joined. Frame=1
I: VulkanContext.cpp:334: VulkanContext::DestroyObjects (including swapchain)
I: VulkanContext.cpp:719: Creating Vulkan surface for window
I: VulkanContext.cpp:868: swapchain_format: 44 (/2)
I: VulkanContext.cpp:872: gfx_queue_: 0x55f4b06450f8
I: VulkanContext.cpp:909: surfCapabilities_.currentExtent: -1x-1
I: VulkanContext.cpp:910: surfCapabilities_.minImageExtent: 1x1
I: VulkanContext.cpp:911: surfCapabilities_.maxImageExtent: 16384x16384
I: VulkanContext.cpp:916: swapChainExtent: 1x1
I: VulkanContext.cpp:922: Supported present mode: 1 (MAILBOX)
I: VulkanContext.cpp:922: Supported present mode: 2 (FIFO)
I: VulkanContext.cpp:943: Chosen present mode: 1 (MAILBOX)
I: VulkanContext.cpp:949: numSwapChainImages: 5
I: VulkanContext.cpp:963: Supported transforms: IDENTITY
I: VulkanContext.cpp:964: Current transform: IDENTITY
I: VulkanContext.cpp:997: Chosen pretransform transform: IDENTITY
I: VulkanContext.cpp:1047: Created swapchain: 1x1
I: VulkanRenderManager.cpp:207: Updating inflight frames to 3
I: VulkanRenderManager.cpp:219: Starting Vulkan submission thread (threadInitFrame_ = 1)
I: screen.cpp:131: ScreenManager::resized(dp: 1920x1080)
I: VulkanRenderManager.cpp:348: Running first frame (1)

@unknownbrackets
Copy link
Collaborator

Does OpenGL work fine? Can you try the latest git build, instead of v1.10.3?

-[Unknown]

@michelesr
Copy link
Author

Does OpenGL work fine?

Not really, but I reckon it is because I need to install the Wayland variant of GLEW (which is glew-wayland on Arch Linux), because I'm getting this:

Failed to initialize glew!
GL init error ''
E: png_load.cpp:48: pngLoad: No such file or directory

Can you try the latest git build, instead of v1.10.3?

I'll give it a go, and try OpenGL with glew-wayland too.

@michelesr
Copy link
Author

No luck with wayland/vulkan on the latest master (7568ba9). However OpenGL works if you install glew-wayland instead of glew, however that breaks OpenGL in X/XWayland.

When running with SDL_VIDEODRIVER=wayland and Vulkan backend on Sway, a blank (fully trasparent, black if put on fullscreen) window is created, the terminal output is:

VulkanMayBeAvailable: Device allowed ('SDL:Linux')
VulkanMayBeAvailable: Library loaded ('libvulkan.so')
VulkanMayBeAvailable: Enumerating instance extensions
VulkanMayBeAvailable: Instance extension count: 18
VulkanMaybeAvailable: Instance extension found: VK_KHR_device_group_creation (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_display (00000017)
VulkanMaybeAvailable: Instance extension found: VK_KHR_external_fence_capabilities (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_external_memory_capabilities (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_external_semaphore_capabilities (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_get_display_properties2 (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_get_physical_device_properties2 (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_get_surface_capabilities2 (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_surface (00000019)
VulkanMaybeAvailable: Instance extension found: VK_KHR_surface_protected_capabilities (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_wayland_surface (00000006)
VulkanMaybeAvailable: Instance extension found: VK_KHR_xcb_surface (00000006)
VulkanMaybeAvailable: Instance extension found: VK_KHR_xlib_surface (00000006)
VulkanMaybeAvailable: Instance extension found: VK_EXT_acquire_xlib_display (00000001)
VulkanMaybeAvailable: Instance extension found: VK_EXT_debug_report (00000008)
VulkanMaybeAvailable: Instance extension found: VK_EXT_direct_mode_display (00000001)
VulkanMaybeAvailable: Instance extension found: VK_EXT_display_surface_counter (00000001)
VulkanMaybeAvailable: Instance extension found: VK_EXT_debug_utils (00000002)
VulkanMayBeAvailable: Calling vkCreateInstance
VulkanMayBeAvailable: Vulkan test instance created successfully.
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

VulkanMayBeAvailable: Found working Vulkan API!
VulkanMayBeAvailable: Destroying instance
DEBUG: Vulkan might be available.
Info: We compiled against SDL version 2.0.14 and we are linking against SDL version 2.0.14. :)
24:08:519 Core/Config.cpp:542 I[G3D]: Longest display side: -1 pixels. Choosing scale 1
Pixels: 960 x 544
Virtual pixels: 960 x 544
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

loading control pad mappings from gamecontrollerdb.txt: SUCCESS!

And after closing the window:

NativeShutdown called
Vulkan submission thread joined. Frame=1
VulkanRenderManager destructor
Vulkan submission thread was already stopped.
VulkanQueueRunner::DestroyDeviceObjects
VulkanContext::DestroyDevice (performing deletes)
Leaving main

On Weston no window is created (while it is created properly with OpenGL and glew-wayland)

@michelesr michelesr changed the title [Wayland] Vulkan subsystem 6 not supported [Wayland] Blank window with Vulkan backend Dec 31, 2020
@SupervisedThinking
Copy link

I have the same issue if I try to use Vulkan + Wayland, GLES + Wayland works fine.

Vulkan 1.2.201
Nvidia 495.44
Sway 1.6.1
PPSSPP 1.12.3

VulkanMayBeAvailable: Device allowed ('SDL:Linux')
VulkanMayBeAvailable: Library loaded ('libvulkan.so')
VulkanMayBeAvailable: Enumerating instance extensions
VulkanMayBeAvailable: Instance extension count: 16
VulkanMaybeAvailable: Instance extension found: VK_KHR_device_group_creation (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_display (00000017)
VulkanMaybeAvailable: Instance extension found: VK_KHR_external_fence_capabilities (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_external_memory_capabilities (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_external_semaphore_capabilities (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_get_display_properties2 (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_get_physical_device_properties2 (00000002)
VulkanMaybeAvailable: Instance extension found: VK_KHR_get_surface_capabilities2 (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_surface (00000019)
VulkanMaybeAvailable: Instance extension found: VK_KHR_surface_protected_capabilities (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_wayland_surface (00000006)
VulkanMaybeAvailable: Instance extension found: VK_EXT_acquire_drm_display (00000001)
VulkanMaybeAvailable: Instance extension found: VK_EXT_debug_report (0000000a)
VulkanMaybeAvailable: Instance extension found: VK_EXT_direct_mode_display (00000001)
VulkanMaybeAvailable: Instance extension found: VK_EXT_display_surface_counter (00000001)
VulkanMaybeAvailable: Instance extension found: VK_EXT_debug_utils (00000002)
VulkanMayBeAvailable: Calling vkCreateInstance
VulkanMayBeAvailable: Vulkan test instance created successfully.
VulkanMayBeAvailable: Found working Vulkan API!
VulkanMayBeAvailable: Destroying instance
53:39:108 Core/Config.cpp:627 I[G3D]: Longest display side: -1 pixels. Choosing scale 1
53:39:114 Core/Config.cpp:1409 I[LOADER]: Loading controller config: /storage/.config/ppsspp/PSP/SYSTEM/controls.ini
53:39:115 Core/Config.cpp:1452 I[LOADER]: Config loaded: '/storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini'
53:39:124 Core/Config.cpp:1534 I[LOADER]: Config saved (got storage permission): '/storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini'
53:39:150 Core/Config.cpp:1547 I[LOADER]: Controller config saved: /storage/.config/ppsspp/PSP/SYSTEM/controls.ini
xkbcommon: ERROR: couldn't find a Compose file for locale "C.UTF-8" (mapped to "C.UTF-8")
53:39:158 Vulkan/VulkanLoader.cpp:468 I[G3D]: VulkanLoad: Found library 'libvulkan.so'
53:39:158 Vulkan/VulkanLoader.cpp:489 I[G3D]: VulkanLoad: Base functions loaded.
53:39:178 Vulkan/VulkanLoader.cpp:565 I[G3D]: Vulkan instance functions loaded.
53:39:178 Vulkan/VulkanContext.cpp:513 I[G3D]: Chose physical device 0: 0x244b240
53:39:178 Vulkan/VulkanContext.cpp:553 I[G3D]: Memory Types (11):
53:39:178 Vulkan/VulkanContext.cpp:558 I[G3D]:   7: Heap 0; Flags: DEVICE_LOCAL   
53:39:178 Vulkan/VulkanContext.cpp:558 I[G3D]:   8: Heap 1; Flags: HOST_VISIBLE HOST_COHERENT   
53:39:178 Vulkan/VulkanContext.cpp:558 I[G3D]:   9: Heap 1; Flags: HOST_VISIBLE HOST_CACHED HOST_COHERENT   
53:39:178 Vulkan/VulkanContext.cpp:558 I[G3D]:   10: Heap 2; Flags: DEVICE_LOCAL HOST_VISIBLE HOST_COHERENT   
53:39:196 Vulkan/VulkanLoader.cpp:572 I[G3D]: Vulkan device functions loaded.
53:39:196 Vulkan/VulkanContext.cpp:657 I[G3D]: Device created.

53:39:196 Vulkan/VulkanContext.cpp:708 I[G3D]: Creating Vulkan surface for window (0x2186740 0x236da30)
53:39:198 Vulkan/VulkanContext.cpp:885 I[G3D]: swapchain_format: 44 (/1)
53:39:198 Vulkan/VulkanContext.cpp:934 I[G3D]: surfCapabilities_.current: -1x-1 min: 1x1 max: 16384x16384 computed: 1x1
53:39:198 Vulkan/VulkanContext.cpp:950 I[G3D]: Supported present modes: MAILBOX, FIFO
53:39:199 Vulkan/VulkanContext.cpp:982 I[G3D]: Chosen present mode: 1 (MAILBOX). numSwapChainImages: 3/8
53:39:199 Vulkan/VulkanContext.cpp:1025 I[G3D]: Transform supported: IDENTITY  current: IDENTITY  chosen: IDENTITY 
53:39:199 Vulkan/VulkanContext.cpp:1076 I[G3D]: Created swapchain: 1x1
53:39:200 Vulkan/VulkanQueueRunner.cpp:31 I[G3D]: VulkanQueueRunner::CreateDeviceObjects
53:39:309 Vulkan/VulkanRenderManager.cpp:290 I[G3D]: Starting Vulkan submission thread (threadInitFrame_ = 0)
53:39:310 UI/NativeApp.cpp:904 I[SYSTEM]: NativeInitGraphics
53:39:372 UI/NativeApp.cpp:973 I[SYSTEM]: NativeInitGraphics completed
53:39:372 UI/NativeApp.cpp:1485 I[G3D]: NativeResized - setting flag
DEBUG: Vulkan might be available.
Info: We compiled against SDL version 2.0.18 and we are linking against SDL version 2.0.18. :)
ThreadManager::Init(compute threads: 12, all: 16)
Pixels: 1920 x 1080
Virtual pixels: 1920 x 1080
loading control pad mappings from gamecontrollerdb.txt: SUCCESS!
53:39:375 Core/Config.cpp:1600 I[LOADER]: Version check: Already up to date, erasing any upgrade message
53:39:433 UI/NativeApp.cpp:1180 I[G3D]: Resized flag set - recalculating bounds
53:39:433 Vulkan/VulkanRenderManager.cpp:429 I[G3D]: Running first frame (0)
53:39:437 Vulkan/VulkanRenderManager.cpp:314 I[G3D]: Vulkan submission thread joined. Frame=1
53:39:437 Vulkan/VulkanRenderManager.cpp:373 I[G3D]: Backbuffers destroyed
53:39:437 Vulkan/VulkanContext.cpp:934 I[G3D]: surfCapabilities_.current: -1x-1 min: 1x1 max: 16384x16384 computed: 1x1
53:39:437 Vulkan/VulkanContext.cpp:950 I[G3D]: Supported present modes: MAILBOX, FIFO
53:39:437 Vulkan/VulkanContext.cpp:982 I[G3D]: Chosen present mode: 1 (MAILBOX). numSwapChainImages: 3/8
53:39:437 Vulkan/VulkanContext.cpp:1025 I[G3D]: Transform supported: IDENTITY  current: IDENTITY  chosen: IDENTITY 
53:39:438 Vulkan/VulkanContext.cpp:1076 I[G3D]: Created swapchain: 1x1
53:39:438 Vulkan/VulkanRenderManager.cpp:278 I[G3D]: Updating inflight frames to 2
53:39:438 Vulkan/VulkanRenderManager.cpp:290 I[G3D]: Starting Vulkan submission thread (threadInitFrame_ = 1)
53:39:438 UI/Screen.cpp:144 I[SYSTEM]: ScreenManager::resized(dp: 1920x1080)
53:39:438 Vulkan/VulkanRenderManager.cpp:429 I[G3D]: Running first frame (1)
53:39:601 Core/Config.cpp:1534 I[LOADER]: Config saved (clearFailedGPUBackends): '/storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini'
53:39:744 Core/Config.cpp:1547 I[LOADER]: Controller config saved: /storage/.config/ppsspp/PSP/SYSTEM/controls.ini
55:23:025 UI/NativeApp.cpp:1023 I[SYSTEM]: NativeShutdownGraphics
55:23:025 UI/NativeApp.cpp:1063 I[SYSTEM]: NativeShutdownGraphics done
55:23:045 Core/Config.cpp:1534 I[LOADER]: Config saved (NativeShutdown): '/storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini'
55:23:085 Core/Config.cpp:1547 I[LOADER]: Controller config saved: /storage/.config/ppsspp/PSP/SYSTEM/controls.ini
55:23:085 UI/NativeApp.cpp:1511 I[SYSTEM]: NativeShutdown called
Vulkan submission thread joined. Frame=1
Backbuffers destroyed
VulkanRenderManager destructor
Vulkan submission thread was already stopped.
VulkanQueueRunner::DestroyDeviceObjects
VulkanContext::DestroyDevice (performing deletes)
Leaving main

@hrydgard
Copy link
Owner

hrydgard commented Dec 8, 2021

some very suspicious stuff here:

53:39:437 Vulkan/VulkanContext.cpp:934 I[G3D]: surfCapabilities_.current: -1x-1 min: 1x1 max: 16384x16384 computed: 1x1
53:39:437 Vulkan/VulkanContext.cpp:950 I[G3D]: Supported present modes: MAILBOX, FIFO
53:39:437 Vulkan/VulkanContext.cpp:982 I[G3D]: Chosen present mode: 1 (MAILBOX). numSwapChainImages: 3/8
53:39:437 Vulkan/VulkanContext.cpp:1025 I[G3D]: Transform supported: IDENTITY  current: IDENTITY  chosen: IDENTITY 
53:39:438 Vulkan/VulkanContext.cpp:1076 I[G3D]: Created swapchain: 1x1

Maybe we can't rely on surfCapabilities to compute the right swapchain size, and need to fall back to some other method.

@SupervisedThinking
Copy link

SupervisedThinking commented Dec 8, 2021

Indeed it looks like a smal colored pixel is centered in the middle of the screen, round about 1x1 could be possible. Otherwise I've tested the build (https://github.com/SupervisedThinking/LibreELEC-RR/tree/master-rr-wayland) with the usual stuff like vkcube, vkcubepp and Retroarch which is displayed fine.

SDL is 2.0.18 - everything else should be latest, so wayland 1.19 / protos 1.24 etc.

1638987881242

@ghost
Copy link

ghost commented Jul 2, 2022

I can't use wayland with SDL_VIDEODRIVER=wayland at all it just insta crashes for me lol.
using the latest PPSSPP stable and dev builds.

@thesourcehim
Copy link
Contributor

This is still an issue in 1.14.4. ppsspp fails to initialize vulkan with error "Vulkan subsystem 6 not supported" when run under wayland. Additionally, if ppsspp is compiled with -DUSE_WAYLAND_WSI=ON it segfaults on startup if set to use vulkan.

@unknownbrackets
Copy link
Collaborator

Well, "Vulkan subsystem 6 not supported" means it was not compiled with -DUSE_WAYLAND_WSI=ON, so the segfault is the interesting thing.

It'd help if you could check the backtrace, i.e. #14423 (comment). If possible, I'd recommend doing so with the latest git build, just in case a recent fix has improved things.

-[Unknown]

@thesourcehim
Copy link
Contributor

I tested latest git version (debug build) with -DUSE_WAYLAND_WSI=ON
To use prime render offload on my laptop I use the following environment variables:

export __NV_PRIME_RENDER_OFFLOAD=1
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export __VK_LAYER_NV_optimus=NVIDIA_only
export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0

This limits nvidia optimus vulkan layer to only show nvidia adapters.
So when run with these variables set, ppsspp fails to initialize vulkan and crashes, log:

Starting program: /mnt/d/PPSSPP/PPSSPPSDL 

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.fedoraproject.org/>
Enable debuginfod for this session? (y or [n]) n
Debuginfod has been disabled.
To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
VulkanMayBeAvailable: Device allowed ('SDL:Linux')
VulkanMayBeAvailable: Library loaded ('libvulkan.so')
VulkanMayBeAvailable: Enumerating instance extensions
VulkanMayBeAvailable: Instance extension count: 20
VulkanMaybeAvailable: Instance extension found: VK_KHR_device_group_creation (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_display (00000017)
VulkanMaybeAvailable: Instance extension found: VK_KHR_external_fence_capabilities (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_external_memory_capabilities (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_external_semaphore_capabilities (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_get_display_properties2 (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_get_physical_device_properties2 (00000002)
VulkanMaybeAvailable: Instance extension found: VK_KHR_get_surface_capabilities2 (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_surface (00000019)
VulkanMaybeAvailable: Instance extension found: VK_KHR_surface_protected_capabilities (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_wayland_surface (00000006)
VulkanMaybeAvailable: Instance extension found: VK_KHR_xcb_surface (00000006)
VulkanMaybeAvailable: Instance extension found: VK_KHR_xlib_surface (00000006)
VulkanMaybeAvailable: Instance extension found: VK_EXT_acquire_drm_display (00000001)
VulkanMaybeAvailable: Instance extension found: VK_EXT_acquire_xlib_display (00000001)
VulkanMaybeAvailable: Instance extension found: VK_EXT_debug_report (0000000a)
VulkanMaybeAvailable: Instance extension found: VK_EXT_debug_utils (00000002)
VulkanMaybeAvailable: Instance extension found: VK_EXT_direct_mode_display (00000001)
VulkanMaybeAvailable: Instance extension found: VK_EXT_display_surface_counter (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_portability_enumeration (00000001)
VulkanMayBeAvailable: Calling vkCreateInstance
VulkanMayBeAvailable: Vulkan test instance created successfully.
[New Thread 0x7fffe95ff6c0 (LWP 33523)]
VulkanMayBeAvailable: Eligible device found: 'NVIDIA GeForce RTX 3060 Laptop GPU'
VulkanMayBeAvailable: Eligible device found: 'Intel(R) UHD Graphics (CML GT2)'
VulkanMayBeAvailable: Ineligible device found and ignored: 'llvmpipe (LLVM 15.0.7, 256 bits)'
VulkanMayBeAvailable: Found working Vulkan API!
VulkanMayBeAvailable: Destroying instance
[Thread 0x7fffe95ff6c0 (LWP 33523) exited]
DEBUG: Vulkan might be available.
[New Thread 0x7ffff3e9c6c0 (LWP 33524)]
Info: We compiled against SDL version 2.26.3 and we are linking against SDL version 2.26.3. :)
ThreadManager::Init(compute threads: 16, all: 32)
[New Thread 0x7fffe95ff6c0 (LWP 33525)]
[New Thread 0x7fffecdff6c0 (LWP 33526)]
[New Thread 0x7fffec5fe6c0 (LWP 33527)]
[New Thread 0x7fffebdfd6c0 (LWP 33528)]
[New Thread 0x7fffe8dfe6c0 (LWP 33529)]
[New Thread 0x7fffdffff6c0 (LWP 33530)]
[New Thread 0x7fffdf7fe6c0 (LWP 33531)]
[New Thread 0x7fffdeffd6c0 (LWP 33532)]
[New Thread 0x7fffde7fc6c0 (LWP 33533)]
[New Thread 0x7fffddffb6c0 (LWP 33534)]
[New Thread 0x7fffdd7fa6c0 (LWP 33535)]
[New Thread 0x7fffdcff96c0 (LWP 33536)]
[New Thread 0x7fffdc7f86c0 (LWP 33537)]
[New Thread 0x7fffdbff76c0 (LWP 33538)]
[New Thread 0x7fffdb7f66c0 (LWP 33539)]
[New Thread 0x7fffdaff56c0 (LWP 33540)]
[New Thread 0x7fffda7f46c0 (LWP 33541)]
[New Thread 0x7fffd9ff36c0 (LWP 33542)]
[New Thread 0x7fffd97f26c0 (LWP 33543)]
[New Thread 0x7fffd8ff16c0 (LWP 33544)]
[New Thread 0x7fffd87f06c0 (LWP 33545)]
[New Thread 0x7fffd7fef6c0 (LWP 33546)]
[New Thread 0x7fffd77ee6c0 (LWP 33547)]
[New Thread 0x7fffd6fed6c0 (LWP 33548)]
[New Thread 0x7fffd67ec6c0 (LWP 33549)]
[New Thread 0x7fffd5feb6c0 (LWP 33550)]
[New Thread 0x7fffd57ea6c0 (LWP 33551)]
[New Thread 0x7fffd4fe96c0 (LWP 33552)]
[New Thread 0x7fffd47e86c0 (LWP 33553)]
[New Thread 0x7fffd3fe76c0 (LWP 33554)]
[New Thread 0x7fffd37e66c0 (LWP 33555)]
[New Thread 0x7fffd2fe56c0 (LWP 33556)]
Registered VFS for prefix : /usr/local/share/ppsspp/assets
Registered VFS for prefix : /mnt/d/PPSSPP/assets
Registered VFS for prefix : /mnt/d/PPSSPP
Registered VFS for prefix : /usr/local/share/ppsspp/assets
Registered VFS for prefix : /usr/local/share/games/ppsspp/assets
Registered VFS for prefix : /usr/share/ppsspp/assets
Registered VFS for prefix : /usr/share/games/ppsspp/assets
Registered VFS for prefix : assets
Registered VFS for prefix : /home/thesource
27:40:361 Core/Config.cpp:634 I[G3D]: Longest display side: 1920 pixels. Choosing scale 2
27:40:370 Core/Config.cpp:1433 I[LOADER]: Loading controller config: /home/thesource/.config/ppsspp/PSP/SYSTEM/controls.ini
[New Thread 0x7fffc51ff6c0 (LWP 33557)]
27:40:371 Core/Config.cpp:1454 I[LOADER]: Config loaded: '/home/thesource/.config/ppsspp/PSP/SYSTEM/ppsspp.ini'
[Thread 0x7fffc51ff6c0 (LWP 33557) exited]
27:40:374 UI/NativeApp.cpp:808 D[SYSTEM]: ScreenManager!
27:40:374 UI/NativeApp.cpp:373 N[LOADER]: Not checking for failed graphics backends in debug mode
dp_xres/yres: 960, 544
pixel_xres/yres: 960, 544
dpi, x, y: 1.000000, 1.000000, 1.000000
pixel_in_dps: 1.000000, 1.000000
dpi_real: 1.000000, 1.000000
display_hz: 60.000000
rotation: 0
1.000000 0.000000 0.000000 0.000000
0.000000 1.000000 0.000000 0.000000
0.000000 0.000000 1.000000 0.000000
0.000000 0.000000 0.000000 1.000000

27:40:448 Vulkan/VulkanLoader.cpp:291 I[G3D]: VulkanLoad: Library loaded ('libvulkan.so')
27:40:448 Vulkan/VulkanLoader.cpp:523 I[G3D]: VulkanLoad: Base functions loaded.
27:40:451 Vulkan/VulkanContext.cpp:143 I[G3D]: Vulkan debug_utils validation enabled.
27:40:451 Vulkan/VulkanContext.cpp:200 W[G3D]: Validation on but instance layer not available - dropping layers
27:40:455 Vulkan/VulkanLoader.cpp:599 I[G3D]: Vulkan instance functions loaded.
[New Thread 0x7fffbe1ff6c0 (LWP 33559)]
27:40:478 Vulkan/VulkanContext.cpp:788 I[G3D]: Debug callback registered with vkCreateDebugUtilsMessengerEXT.
27:40:478 Vulkan/VulkanContext.cpp:538 I[G3D]: Chose physical device 0: NVIDIA GeForce RTX 3060 Laptop GPU
27:40:478 Vulkan/VulkanContext.cpp:578 I[G3D]: Memory Types (5):
27:40:478 Vulkan/VulkanContext.cpp:583 I[G3D]:   1: Heap 0; Flags: DEVICE_LOCAL   
27:40:478 Vulkan/VulkanContext.cpp:583 I[G3D]:   2: Heap 1; Flags: HOST_VISIBLE HOST_COHERENT   
27:40:478 Vulkan/VulkanContext.cpp:583 I[G3D]:   3: Heap 1; Flags: HOST_VISIBLE HOST_CACHED HOST_COHERENT   
27:40:478 Vulkan/VulkanContext.cpp:583 I[G3D]:   4: Heap 0; Flags: DEVICE_LOCAL HOST_VISIBLE HOST_COHERENT   
[New Thread 0x7fffbd9fe6c0 (LWP 33561)]
[New Thread 0x7fffbd1fd6c0 (LWP 33562)]
[New Thread 0x7fffbc9fc6c0 (LWP 33563)]
[New Thread 0x7fffaffff6c0 (LWP 33564)]
27:40:520 Vulkan/VulkanLoader.cpp:606 I[G3D]: Vulkan device functions loaded.
27:40:520 Vulkan/VulkanContext.cpp:714 I[G3D]: Vulkan Device created: NVIDIA GeForce RTX 3060 Laptop GPU
27:40:520 Vulkan/VulkanLoader.cpp:313 I[G3D]: Forcing Vulkan availability to true
27:40:520 Vulkan/VulkanContext.cpp:816 I[G3D]: Creating Vulkan surface for window (0x29bf570 0x2bf22b0)
27:40:538 Vulkan/VulkanContext.cpp:1177 I[G3D]: swapchain_format: 44 (/1)
27:40:538 Vulkan/VulkanContext.cpp:1235 I[G3D]: surfCapabilities_.current: 1920x1080 min: 1x1 max: 16384x16384 computed: 1920x1080
27:40:538 Vulkan/VulkanContext.cpp:1251 I[G3D]: Supported present modes: MAILBOX, FIFO
27:40:538 Vulkan/VulkanContext.cpp:1283 I[G3D]: Chosen present mode: 2 (FIFO). numSwapChainImages: 3/8
27:40:538 Vulkan/VulkanContext.cpp:1330 I[G3D]: Transform supported: IDENTITY  current: IDENTITY  chosen: IDENTITY 
[New Thread 0x7fffa7fff6c0 (LWP 33566)]
[New Thread 0x7fffa77fe6c0 (LWP 33567)]
[New Thread 0x7fffa6ffd6c0 (LWP 33568)]
27:40:591 Vulkan/VulkanContext.cpp:1391 I[G3D]: Created swapchain: 1920x1080
27:40:591 Vulkan/VulkanQueueRunner.cpp:47 I[G3D]: VulkanQueueRunner::CreateDeviceObjects
27:40:949 Vulkan/VulkanRenderManager.cpp:299 I[G3D]: Starting Vulkan submission thread
[New Thread 0x7fff9ffff6c0 (LWP 33569)]
27:40:950 Vulkan/VulkanRenderManager.cpp:301 I[G3D]: Starting Vulkan compiler thread
[New Thread 0x7fff9f7fe6c0 (LWP 33570)]
27:40:950 UI/NativeApp.cpp:859 I[SYSTEM]: NativeInitGraphics
27:40:951 Vulkan/VulkanRenderManager.cpp:131 I[G3D]: Pipeline (x/2) time on : 0.45 ms, 0.55 ms since scheduling  rpType: 0010 sampleBits: 1 (global_color)
27:40:951 Vulkan/VulkanRenderManager.cpp:131 I[G3D]: Pipeline (x/2) time on : 0.48 ms, 0.59 ms since scheduling  rpType: 0010 sampleBits: 1 (global_texcolor)
27:40:953 UI/NativeApp.cpp:921 I[SYSTEM]: NativeInitGraphics completed
27:40:953 SDL/SDLMain.cpp:122 I[AUDIO]: SDL: Trying a different audio device
[New Thread 0x7fff9effd6c0 (LWP 33571)]
loading control pad mappings from gamecontrollerdb.txt: SUCCESS!
[New Thread 0x7fff9e7fc6c0 (LWP 33572)]
27:40:962 UI/DiscordIntegration.cpp:60 I[SYSTEM]: Discord connection initialized
27:41:009 Vulkan/VulkanMemory.cpp:398 D[G3D]: pushBuffer: Created new block of size 16.0 MB in 0.00 ms
27:41:015 Vulkan/VulkanMemory.cpp:398 D[G3D]: pushBuffer: Created new block of size 8.0 MB in 1.10 ms
27:41:016 UI/NativeApp.cpp:1151 I[G3D]: Resized flag set - recalculating bounds
27:41:017 Vulkan/VulkanRenderManager.cpp:331 I[G3D]: Vulkan submission thread joined. Frame=1
27:41:017 Vulkan/VulkanRenderManager.cpp:339 I[G3D]: Vulkan compiler thread joined.
[Thread 0x7fff9f7fe6c0 (LWP 33570) exited]
[Thread 0x7fff9ffff6c0 (LWP 33569) exited]
27:41:017 Vulkan/VulkanQueueRunner.cpp:247 I[G3D]: Backbuffers destroyed
[Thread 0x7fffa7fff6c0 (LWP 33566) exited]
[destroyed object]: error 7: importing the supplied dmabufs failed
[Thread 0x7fffa6ffd6c0 (LWP 33568) exited]
[Thread 0x7fffa77fe6c0 (LWP 33567) exited]
27:41:018 Vulkan/VulkanContext.cpp:1235 I[G3D]: surfCapabilities_.current: 1920x1080 min: 1x1 max: 16384x16384 computed: 1920x1080
27:41:018 Vulkan/VulkanContext.cpp:1251 I[G3D]: Supported present modes: MAILBOX, FIFO
27:41:018 Vulkan/VulkanContext.cpp:1283 I[G3D]: Chosen present mode: 2 (FIFO). numSwapChainImages: 3/8
27:41:018 Vulkan/VulkanContext.cpp:1330 I[G3D]: Transform supported: IDENTITY  current: IDENTITY  chosen: IDENTITY 
27:41:018 Vulkan/VulkanContext.cpp:1388 E[G3D]: vkCreateSwapchainKHR failed!
27:41:018 Vulkan/VulkanRenderManager.cpp:269 E[G3D]: No swapchain - can't create backbuffers
27:41:018 UI/Screen.cpp:141 I[SYSTEM]: ScreenManager::resized(dp: 1920x1080)
27:41:018 UI/NativeApp.cpp:976 I[SYSTEM]: NativeShutdownGraphics
27:41:018 UI/NativeApp.cpp:1023 I[SYSTEM]: NativeShutdownGraphics done
27:41:018 Core/Config.cpp:1461 W[LOADER]: Not saving config - secondary instances don't.
27:41:018 UI/NativeApp.cpp:1463 I[SYSTEM]: NativeShutdown called
27:41:018 UI/NativeApp.cpp:1467 I[SYSTEM]: Missing translation [Graphics]: Vulkan, debug build
[Thread 0x7fff9e7fc6c0 (LWP 33572) exited]
[Thread 0x7fffd87f06c0 (LWP 33545) exited]
[Thread 0x7fffd37e66c0 (LWP 33555) exited]
[Thread 0x7fffd3fe76c0 (LWP 33554) exited]
[Thread 0x7fffd2fe56c0 (LWP 33556) exited]
[Thread 0x7fffd47e86c0 (LWP 33553) exited]
[Thread 0x7fffd4fe96c0 (LWP 33552) exited]
[Thread 0x7fffd57ea6c0 (LWP 33551) exited]
[Thread 0x7fffd5feb6c0 (LWP 33550) exited]
[Thread 0x7fffd67ec6c0 (LWP 33549) exited]
[Thread 0x7fffd6fed6c0 (LWP 33548) exited]
[Thread 0x7fffd77ee6c0 (LWP 33547) exited]
[Thread 0x7fffd7fef6c0 (LWP 33546) exited]
[Thread 0x7fffd8ff16c0 (LWP 33544) exited]
[Thread 0x7fffd97f26c0 (LWP 33543) exited]
[Thread 0x7fffd9ff36c0 (LWP 33542) exited]
[Thread 0x7fffda7f46c0 (LWP 33541) exited]
[Thread 0x7fffdaff56c0 (LWP 33540) exited]
[Thread 0x7fffdb7f66c0 (LWP 33539) exited]
[Thread 0x7fffdbff76c0 (LWP 33538) exited]
[Thread 0x7fffdc7f86c0 (LWP 33537) exited]
[Thread 0x7fffdcff96c0 (LWP 33536) exited]
[Thread 0x7fffdd7fa6c0 (LWP 33535) exited]
[Thread 0x7fffddffb6c0 (LWP 33534) exited]
[Thread 0x7fffde7fc6c0 (LWP 33533) exited]
[Thread 0x7fffdeffd6c0 (LWP 33532) exited]
[Thread 0x7fffdf7fe6c0 (LWP 33531) exited]
[Thread 0x7fffdffff6c0 (LWP 33530) exited]
[Thread 0x7fffe8dfe6c0 (LWP 33529) exited]
[Thread 0x7fffebdfd6c0 (LWP 33528) exited]
[Thread 0x7fffec5fe6c0 (LWP 33527) exited]
[Thread 0x7fffecdff6c0 (LWP 33526) exited]
[Thread 0x7fffe95ff6c0 (LWP 33525) exited]
terminate called after throwing an instance of 'std::system_error'
  what():  Invalid argument

Backtrace:

#0  0x00007ffff77cfe5c in __pthread_kill_implementation () from /lib64/libc.so.6
No symbol table info available.
#1  0x00007ffff777fa76 in raise () from /lib64/libc.so.6
No symbol table info available.
#2  0x00007ffff77697fc in abort () from /lib64/libc.so.6
No symbol table info available.
#3  0x00007ffff7aa2b97 in __gnu_cxx::__verbose_terminate_handler() [clone .cold] () from /lib64/libstdc++.so.6
No symbol table info available.
#4  0x00007ffff7aae48c in __cxxabiv1::__terminate(void (*)()) () from /lib64/libstdc++.so.6
No symbol table info available.
#5  0x00007ffff7aae4f7 in std::terminate() () from /lib64/libstdc++.so.6
No symbol table info available.
#6  0x00007ffff7aae758 in __cxa_throw () from /lib64/libstdc++.so.6
No symbol table info available.
#7  0x00007ffff7aa593a in std::__throw_system_error(int) () from /lib64/libstdc++.so.6
No symbol table info available.
#8  0x00007ffff7adbc90 in std::thread::join() () from /lib64/libstdc++.so.6
No symbol table info available.
#9  0x0000000000b492c1 in VulkanRenderManager::StopThread (this=0x3257ba0) at /mnt/d/projects/git/ppsspp/Common/GPU/Vulkan/VulkanRenderManager.cpp:323
No locals.
#10 0x0000000000b49548 in VulkanRenderManager::DestroyBackbuffers (this=0x3257ba0) at /mnt/d/projects/git/ppsspp/Common/GPU/Vulkan/VulkanRenderManager.cpp:367
No locals.
#11 0x0000000000c01105 in Draw::VKContext::HandleEvent (this=0x32579e0, ev=Draw::Event::LOST_BACKBUFFER, width=1920, height=1080, param1=0x0, param2=0x0)
    at /mnt/d/projects/git/ppsspp/Common/GPU/Vulkan/thin3d_vulkan.cpp:1723
        __FUNCTION__ = "HandleEvent"
#12 0x0000000000bdc79f in SDLVulkanGraphicsContext::Shutdown (this=0x2bada40) at /mnt/d/projects/git/ppsspp/SDL/SDLVulkanGraphicsContext.cpp:149
No locals.
#13 0x0000000000bd87ed in main (argc=1, argv=0x7fffffffd418) at /mnt/d/projects/git/ppsspp/SDL/SDLMain.cpp:1256
        compiled = {major = 2 '\002', minor = 26 '\032', patch = 3 '\003'}
        linked = {major = 2 '\002', minor = 26 '\032', patch = 3 '\003'}
        set_xres = -1
        set_yres = -1
        w = 0
        h = 0
        portrait = false
        set_ipad = false
        set_dpi = 1
        set_scale = 1
        remain_argc = 1
        remain_argv = {0x7fffffffd8c5 "/mnt/d/PPSSPP/PPSSPPSDL", 0x0 <repeats 255 times>}
        mode = 4129
        app_name = "ppsspp"
        app_name_nice = "PPSSPP"
--Type <RET> for more, q to quit, c to continue without paging--
        version = "v1.14.4-913-g2157610bf"
        landscape = true
        joystick_enabled = true
        displayMode = {format = 370546692, w = 1920, h = 1080, refresh_rate = 120, driverdata = 0x29bfa00}
        should_be_zero = 0
        dpi_scale = 1
        path = "/home/thesource/\000v\v\001\000\000\000\000\002\000\000\000\000\000\000\000`\300\377\377\377\177\000\000\005\000\000\000\000\000\000\000.orga", '\000' <repeats 19 times>, "\001\000\000\000\001\001\001\000Nv\v\001\000\000\000\000\001\000\000\000\000\000\000\000\240\300\377\377\377\177\000\000\004\000\000\000\000\000\000\000orga", '\000' <repeats 28 times>, "Nv\v\001\000\000\000\000\001\000\000\000\000\000\000\000\340\300\377\377\377\177\000\000\v\000\000\000\000\000\000\000.headersize\000\000\000\000\0007\fP\001", '\000' <repeats 12 times>...
        the_path = 0x7fffffffdd2a "/home/thesource"
        external_dir = 0x159fd75 "/tmp"
        x = 536805376
        y = 536805376
        graphicsContext = 0x2bada40
        window = 0x2c3ded0
        error_message = ""
        useEmuThread = false
        iconPath = "/mnt/d/PPSSPP/assets/icon_regular_72.png\000ar_72.png\000ign\000\000\000\000\000\000\000\000\000\000:w\v\001\000\000\000\000\002\000\000\000\000\000\000\000`\260\377\377\377\177\000\000\a\000\000\000\000\000\000\000.aligna\000\000\000\000\000\000\000\000\000:w\v\001\000\000\000\000\001\000\000\000\000\000\000\000\220\260\377\377\377\177\000\000\005\000\000\000\000\000\000\000.fill", '\000' <repeats 11 times>, ":w\v\001\000\000\000\000\004\000\000\000\000\000\000\000\300\260\377\377\377\177\000\000\004\000\000\000\000\000\000\000defs", '\000' <repeats 12 times>...
        width = 72
        height = 72
        imageData = 0x0
        framecount = 1
        mouseDown = false
        mouseDeltaX = 0
        mouseDeltaY = 0
        mouseWheelMovedUpFrames = 0
        mouseWheelMovedDownFrames = 0
        mouseCaptured = false
        windowHidden = false

If run without those variables set, ppsspp still can not initialize vulkan, but does not crash, falls back to OpenGL instead:

VulkanMayBeAvailable: Device allowed ('SDL:Linux')
VulkanMayBeAvailable: Library loaded ('libvulkan.so')
VulkanMayBeAvailable: Enumerating instance extensions
VulkanMayBeAvailable: Instance extension count: 20
VulkanMaybeAvailable: Instance extension found: VK_KHR_device_group_creation (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_display (00000017)
VulkanMaybeAvailable: Instance extension found: VK_KHR_external_fence_capabilities (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_external_memory_capabilities (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_external_semaphore_capabilities (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_get_display_properties2 (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_get_physical_device_properties2 (00000002)
VulkanMaybeAvailable: Instance extension found: VK_KHR_get_surface_capabilities2 (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_surface (00000019)
VulkanMaybeAvailable: Instance extension found: VK_KHR_surface_protected_capabilities (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_wayland_surface (00000006)
VulkanMaybeAvailable: Instance extension found: VK_KHR_xcb_surface (00000006)
VulkanMaybeAvailable: Instance extension found: VK_KHR_xlib_surface (00000006)
VulkanMaybeAvailable: Instance extension found: VK_EXT_acquire_drm_display (00000001)
VulkanMaybeAvailable: Instance extension found: VK_EXT_acquire_xlib_display (00000001)
VulkanMaybeAvailable: Instance extension found: VK_EXT_debug_report (0000000a)
VulkanMaybeAvailable: Instance extension found: VK_EXT_debug_utils (00000002)
VulkanMaybeAvailable: Instance extension found: VK_EXT_direct_mode_display (00000001)
VulkanMaybeAvailable: Instance extension found: VK_EXT_display_surface_counter (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_portability_enumeration (00000001)
VulkanMayBeAvailable: Calling vkCreateInstance
VulkanMayBeAvailable: Vulkan test instance created successfully.
VulkanMayBeAvailable: Eligible device found: 'Intel(R) UHD Graphics (CML GT2)'
VulkanMayBeAvailable: Eligible device found: 'NVIDIA GeForce RTX 3060 Laptop GPU'
VulkanMayBeAvailable: Ineligible device found and ignored: 'llvmpipe (LLVM 15.0.7, 256 bits)'
VulkanMayBeAvailable: Found working Vulkan API!
VulkanMayBeAvailable: Destroying instance
DEBUG: Vulkan might be available.
Info: We compiled against SDL version 2.26.3 and we are linking against SDL version 2.26.3. :)
ThreadManager::Init(compute threads: 16, all: 32)
Registered VFS for prefix : /usr/local/share/ppsspp/assets
Registered VFS for prefix : /mnt/d/PPSSPP/assets
Registered VFS for prefix : /mnt/d/PPSSPP
Registered VFS for prefix : /usr/local/share/ppsspp/assets
Registered VFS for prefix : /usr/local/share/games/ppsspp/assets
Registered VFS for prefix : /usr/share/ppsspp/assets
Registered VFS for prefix : /usr/share/games/ppsspp/assets
Registered VFS for prefix : assets
Registered VFS for prefix : /home/thesource
34:13:896 Core/Config.cpp:634 I[G3D]: Longest display side: 1920 pixels. Choosing scale 2
34:13:905 Core/Config.cpp:1433 I[LOADER]: Loading controller config: /home/thesource/.config/ppsspp/PSP/SYSTEM/controls.ini
34:13:907 Core/Config.cpp:1454 I[LOADER]: Config loaded: '/home/thesource/.config/ppsspp/PSP/SYSTEM/ppsspp.ini'
34:13:910 UI/NativeApp.cpp:808 D[SYSTEM]: ScreenManager!
34:13:910 UI/NativeApp.cpp:373 N[LOADER]: Not checking for failed graphics backends in debug mode
dp_xres/yres: 960, 544
pixel_xres/yres: 960, 544
dpi, x, y: 1.000000, 1.000000, 1.000000
pixel_in_dps: 1.000000, 1.000000
dpi_real: 1.000000, 1.000000
display_hz: 60.000000
rotation: 0
1.000000 0.000000 0.000000 0.000000
0.000000 1.000000 0.000000 0.000000
0.000000 0.000000 1.000000 0.000000
0.000000 0.000000 0.000000 1.000000

34:13:935 Vulkan/VulkanLoader.cpp:291 I[G3D]: VulkanLoad: Library loaded ('libvulkan.so')
34:13:935 Vulkan/VulkanLoader.cpp:523 I[G3D]: VulkanLoad: Base functions loaded.
34:13:938 Vulkan/VulkanContext.cpp:143 I[G3D]: Vulkan debug_utils validation enabled.
34:13:938 Vulkan/VulkanContext.cpp:200 W[G3D]: Validation on but instance layer not available - dropping layers
34:13:945 Vulkan/VulkanLoader.cpp:599 I[G3D]: Vulkan instance functions loaded.
34:13:965 Vulkan/VulkanContext.cpp:788 I[G3D]: Debug callback registered with vkCreateDebugUtilsMessengerEXT.
34:13:965 Vulkan/VulkanContext.cpp:538 I[G3D]: Chose physical device 1: NVIDIA GeForce RTX 3060 Laptop GPU
34:13:965 Vulkan/VulkanContext.cpp:578 I[G3D]: Memory Types (5):
34:13:965 Vulkan/VulkanContext.cpp:583 I[G3D]:   1: Heap 0; Flags: DEVICE_LOCAL   
34:13:965 Vulkan/VulkanContext.cpp:583 I[G3D]:   2: Heap 1; Flags: HOST_VISIBLE HOST_COHERENT   
34:13:965 Vulkan/VulkanContext.cpp:583 I[G3D]:   3: Heap 1; Flags: HOST_VISIBLE HOST_CACHED HOST_COHERENT   
34:13:965 Vulkan/VulkanContext.cpp:583 I[G3D]:   4: Heap 0; Flags: DEVICE_LOCAL HOST_VISIBLE HOST_COHERENT   
34:14:001 Vulkan/VulkanLoader.cpp:606 I[G3D]: Vulkan device functions loaded.
34:14:001 Vulkan/VulkanContext.cpp:714 I[G3D]: Vulkan Device created: NVIDIA GeForce RTX 3060 Laptop GPU
34:14:001 Vulkan/VulkanLoader.cpp:313 I[G3D]: Forcing Vulkan availability to true
34:14:001 Vulkan/VulkanContext.cpp:816 I[G3D]: Creating Vulkan surface for window (0x2cc3a90 0x2c292d0)
34:14:002 Vulkan/VulkanContext.cpp:1177 I[G3D]: swapchain_format: 44 (/1)
34:14:002 Vulkan/VulkanContext.cpp:1235 I[G3D]: surfCapabilities_.current: 1920x1080 min: 1x1 max: 16384x16384 computed: 1920x1080
34:14:002 Vulkan/VulkanContext.cpp:1251 I[G3D]: Supported present modes: MAILBOX, FIFO
34:14:002 Vulkan/VulkanContext.cpp:1283 I[G3D]: Chosen present mode: 2 (FIFO). numSwapChainImages: 3/8
34:14:002 Vulkan/VulkanContext.cpp:1330 I[G3D]: Transform supported: IDENTITY  current: IDENTITY  chosen: IDENTITY 
34:14:006 Vulkan/VulkanContext.cpp:1388 E[G3D]: vkCreateSwapchainKHR failed!
34:14:006 Vulkan/VulkanContext.cpp:1426 I[G3D]: VulkanContext::DestroyDevice (performing deletes)
Vulkan init error '' - falling back to GL

@unknownbrackets
Copy link
Collaborator

Well, "[destroyed object]: error 7: importing the supplied dmabufs failed" looks a bit strange and is probably coming from the driver or SDL or something. But overall the problem is that vkCreateSwapchainKHR failed.

In the one that doesn't go to GL, we are able to get far enough to create a swapchain initially, but then get a resize event for some reason (it ends up resizing to the same size, though.) Creating the resized swapchain is what fails, even though it appears to be with the same parameters as before.

Maybe there's not enough VRAM available for 6x 1920x1080 buffers or something, and it has deferred actually freeing the first buffers?

-[Unknown]

@thesourcehim
Copy link
Contributor

I tried with both nvidia rtx 3060 laptop and intel UHD, the result is the same, so it's unlikely a driver's fault.

@thesourcehim
Copy link
Contributor

I can confirm that with the issue #17410 fixed vulkan can be used natively under wayland with Indel UHD graphics. So it seems this is nvidia driver issue (native wayland apps can not use nvidia vulkan prime render offload at least). I tested with vkcube-wayland and faced the same error: "error 7: importing the supplied dmabufs failed" when trying to launch it on nvidia gpu, it runs just fine on intel one.

@thesourcehim
Copy link
Contributor

I tested new nvidia driver 545.29.06 which introduces vulkan offloading for wayland apps, but it seems not everything works just yet.
vkcube-wayland works fine, but ppsspp 1.16.6 crashes:

Starting program: /mnt/d/PPSSPP/PPSSPPSDL 

To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.                                                                                  
[Thread debugging using libthread_db enabled]                                                                                                                                                                            
Using host libthread_db library "/lib64/libthread_db.so.1".                                                                                                                                         
VulkanMayBeAvailable: Device allowed ('SDL:Linux')                                                                                                                                                                       
VulkanMayBeAvailable: Library loaded ('libvulkan.so')                                                                                                                                                                    
VulkanMayBeAvailable: Enumerating instance extensions                                                                                                                                               
VulkanMayBeAvailable: Instance extension count: 23                                                                                                                                                                       
VulkanMaybeAvailable: Instance extension found: VK_KHR_device_group_creation (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_display (00000017)
VulkanMaybeAvailable: Instance extension found: VK_KHR_external_fence_capabilities (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_external_memory_capabilities (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_external_semaphore_capabilities (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_get_display_properties2 (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_get_physical_device_properties2 (00000002)
VulkanMaybeAvailable: Instance extension found: VK_KHR_get_surface_capabilities2 (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_surface (00000019)
VulkanMaybeAvailable: Instance extension found: VK_KHR_wayland_surface (00000006)
VulkanMaybeAvailable: Instance extension found: VK_KHR_xcb_surface (00000006)
VulkanMaybeAvailable: Instance extension found: VK_KHR_xlib_surface (00000006)
VulkanMaybeAvailable: Instance extension found: VK_EXT_acquire_drm_display (00000001)
VulkanMaybeAvailable: Instance extension found: VK_EXT_acquire_xlib_display (00000001)
VulkanMaybeAvailable: Instance extension found: VK_EXT_debug_report (0000000a)
VulkanMaybeAvailable: Instance extension found: VK_EXT_debug_utils (00000002)
VulkanMaybeAvailable: Instance extension found: VK_EXT_direct_mode_display (00000001)
VulkanMaybeAvailable: Instance extension found: VK_EXT_display_surface_counter (00000001)
VulkanMaybeAvailable: Instance extension found: VK_EXT_swapchain_colorspace (00000004)
VulkanMaybeAvailable: Instance extension found: VK_KHR_surface_protected_capabilities (00000001)
VulkanMaybeAvailable: Instance extension found: VK_EXT_surface_maintenance1 (00000001)
VulkanMaybeAvailable: Instance extension found: VK_KHR_portability_enumeration (00000001)
VulkanMaybeAvailable: Instance extension found: VK_LUNARG_direct_driver_loading (00000001)
VulkanMayBeAvailable: Calling vkCreateInstance                                                                                       
VulkanMayBeAvailable: Vulkan test instance created successfully.                                                                                                                                                         
[New Thread 0x7fffe5bff6c0 (LWP 58717)]
VulkanMayBeAvailable: Eligible device found: 'NVIDIA GeForce RTX 3060 Laptop GPU'
VulkanMayBeAvailable: Eligible device found: 'Intel(R) UHD Graphics (CML GT2)'
VulkanMayBeAvailable: Ineligible device found and ignored: 'llvmpipe (LLVM 16.0.6, 256 bits)'
VulkanMayBeAvailable: Found working Vulkan API!
VulkanMayBeAvailable: Destroying instance
[Thread 0x7fffe5bff6c0 (LWP 58717) exited]
DEBUG: Vulkan might be available.                                                                                        
[New Thread 0x7ffff1d8d6c0 (LWP 58726)]                                                                                                                                                                                  
Info: We compiled against SDL version 2.26.5 and we are linking against SDL version 2.26.5. :)                                                                                                                           
ThreadManager::Init(compute threads: 16, all: 32)
[New Thread 0x7fffe5bff6c0 (LWP 58728)]
[New Thread 0x7ffff19aa6c0 (LWP 58729)]
[New Thread 0x7ffff11a96c0 (LWP 58730)]
[New Thread 0x7fffe8bff6c0 (LWP 58731)]
[New Thread 0x7fffe83fe6c0 (LWP 58732)]
[New Thread 0x7fffe7bfd6c0 (LWP 58733)]
[New Thread 0x7fffe73fc6c0 (LWP 58734)]
[New Thread 0x7fffe53fe6c0 (LWP 58735)]
[New Thread 0x7fffe4bfd6c0 (LWP 58736)]
[New Thread 0x7fffdbfff6c0 (LWP 58737)]
[New Thread 0x7fffdb7fe6c0 (LWP 58738)]
[New Thread 0x7fffdaffd6c0 (LWP 58739)]
[New Thread 0x7fffda7fc6c0 (LWP 58740)]
[New Thread 0x7fffd9ffb6c0 (LWP 58741)]
[New Thread 0x7fffd97fa6c0 (LWP 58742)]
[New Thread 0x7fffd8ff96c0 (LWP 58743)]
[New Thread 0x7fffd87f86c0 (LWP 58744)]
[New Thread 0x7fffd7ff76c0 (LWP 58745)]
[New Thread 0x7fffd77f66c0 (LWP 58746)]
[New Thread 0x7fffd6ff56c0 (LWP 58747)]
[New Thread 0x7fffd67f46c0 (LWP 58748)]
[New Thread 0x7fffd5ff36c0 (LWP 58749)]
[New Thread 0x7fffd57f26c0 (LWP 58750)]
[New Thread 0x7fffd4ff16c0 (LWP 58751)]
[New Thread 0x7fffd47f06c0 (LWP 58752)]
[New Thread 0x7fffd3fef6c0 (LWP 58753)]
[New Thread 0x7fffd37ee6c0 (LWP 58754)]
[New Thread 0x7fffd2fed6c0 (LWP 58755)]
[New Thread 0x7fffd27ec6c0 (LWP 58756)]
[New Thread 0x7fffd1feb6c0 (LWP 58757)]
[New Thread 0x7fffd17ea6c0 (LWP 58758)]
[New Thread 0x7fffd0fe96c0 (LWP 58759)]
Registered VFS for prefix : /usr/local/share/ppsspp/assets
Registered VFS for prefix : /mnt/d/PPSSPP/assets
Registered VFS for prefix : /mnt/d/PPSSPP
Registered VFS for prefix : /usr/local/share/ppsspp/assets
Registered VFS for prefix : /usr/local/share/games/ppsspp/assets
Registered VFS for prefix : /usr/share/ppsspp/assets
Registered VFS for prefix : /usr/share/games/ppsspp/assets
Registered VFS for prefix : assets
Registered VFS for prefix : /home/thesource
03:44:793 Core/Config.cpp:329 I[G3D]: Longest display side: 1920 pixels. Choosing scale 2
03:44:810 Core/Config.cpp:1196 I[LOADER]: Loading controller config: /home/thesource/.config/ppsspp/PSP/SYSTEM/controls.ini
[New Thread 0x7fffc2fff6c0 (LWP 58760)]
03:44:811 Core/Config.cpp:1212 I[LOADER]: Config loaded: '/home/thesource/.config/ppsspp/PSP/SYSTEM/ppsspp.ini'
[Thread 0x7fffc2fff6c0 (LWP 58760) exited]
03:44:814 Core/System.cpp:725 I[IO]: Creating '/home/thesource/.config/ppsspp/PSP' and subdirs:
03:44:814 File/FileUtil.cpp:537 D[COMMON]: CreateDir('/home/thesource/.config/ppsspp/PSP')
03:44:814 File/FileUtil.cpp:561 W[COMMON]: CreateDir: mkdir failed on /home/thesource/.config/ppsspp/PSP: already exists
03:44:814 File/FileUtil.cpp:573 D[COMMON]: CreateFullPath: path exists /home/thesource/.config/ppsspp/PSP/Cheats
03:44:814 File/FileUtil.cpp:573 D[COMMON]: CreateFullPath: path exists /home/thesource/.config/ppsspp/PSP/SAVEDATA
03:44:814 File/FileUtil.cpp:573 D[COMMON]: CreateFullPath: path exists /home/thesource/.config/ppsspp/PSP/PPSSPP_STATE
03:44:814 File/FileUtil.cpp:573 D[COMMON]: CreateFullPath: path exists /home/thesource/.config/ppsspp/PSP/GAME
03:44:814 File/FileUtil.cpp:573 D[COMMON]: CreateFullPath: path exists /home/thesource/.config/ppsspp/PSP/SYSTEM
03:44:814 File/FileUtil.cpp:573 D[COMMON]: CreateFullPath: path exists /home/thesource/.config/ppsspp/PSP/TEXTURES
03:44:814 File/FileUtil.cpp:573 D[COMMON]: CreateFullPath: path exists /home/thesource/.config/ppsspp/PSP/PLUGINS
03:44:814 File/FileUtil.cpp:573 D[COMMON]: CreateFullPath: path exists /home/thesource/.config/ppsspp/PSP/SYSTEM/CACHE
03:44:815 UI/BackgroundAudio.cpp:388 W[AUDIO]: Failed to load sample 'sfx_achievement_unlocked.wav'
03:44:815 UI/BackgroundAudio.cpp:521 E[SYSTEM]: Failed to load the default sample for UI sound 5
03:44:815 UI/BackgroundAudio.cpp:388 W[AUDIO]: Failed to load sample 'sfx_leaderbord_submitted.wav'
03:44:815 UI/BackgroundAudio.cpp:521 E[SYSTEM]: Failed to load the default sample for UI sound 6
03:44:815 UI/NativeApp.cpp:781 D[SYSTEM]: ScreenManager!
03:44:815 UI/NativeApp.cpp:317 N[LOADER]: Not checking for failed graphics backends in debug mode
03:44:815 Core/RetroAchievements.cpp:220 I[ACHIEVEMENTS]: RetroAchievements: Using host: http://retroachievements.org
03:44:815 Core/RetroAchievements.cpp:220 I[ACHIEVEMENTS]: RetroAchievements: Attempting to log in thesourcehim (with token)
03:44:815 Net/HTTPRequest.cpp:13 I[HTTP]: HTTP POST request: http://retroachievements.org/dorequest.php (Подключение к серверу RetroAchievements...)
[New Thread 0x7fffc27fe6c0 (LWP 58761)]                                                                                                                                   
03:45:629 Net/HTTPClient.cpp:152 I[HTTP]: connect(28): Ignoring unreachable resolved address ::2a06:98c1:3123:e000:0:0                                                                                                   
03:45:629 Net/HTTPClient.cpp:152 I[HTTP]: connect(28): Ignoring unreachable resolved address ::2a06:98c1:3122:e000:0:0
03:45:832 Vulkan/VulkanLoader.cpp:295 I[G3D]: VulkanLoad: Library loaded ('libvulkan.so')                                                                                                                                
03:45:832 Vulkan/VulkanLoader.cpp:527 I[G3D]: VulkanLoad: Base functions loaded.
03:45:837 Vulkan/VulkanContext.cpp:144 I[G3D]: Vulkan debug_utils validation enabled.
03:47:485 Net/HTTPClient.cpp:594 I[HTTP]: Completed requesting http://retroachievements.org/dorequest.php (storing result to memory)                                                                                                                                                          
[Thread 0x7fffc27fe6c0 (LWP 58761) exited]                                                                                                                                                                               
[New Thread 0x7fffb7dff6c0 (LWP 58805)]                                                                                                                                                                                  
04:04:241 Vulkan/VulkanLoader.cpp:603 I[G3D]: Vulkan instance functions loaded.
04:04:270 Vulkan/VulkanContext.cpp:817 I[G3D]: Debug callback registered with vkCreateDebugUtilsMessengerEXT.
04:04:270 Vulkan/VulkanContext.cpp:539 I[G3D]: Chose physical device 0: NVIDIA GeForce RTX 3060 Laptop GPU
04:04:270 Vulkan/VulkanContext.cpp:581 I[G3D]: Memory Types (5):
04:04:270 Vulkan/VulkanContext.cpp:586 I[G3D]:   1: Heap 0; Flags: DEVICE_LOCAL   
04:04:270 Vulkan/VulkanContext.cpp:586 I[G3D]:   2: Heap 1; Flags: HOST_VISIBLE HOST_COHERENT   
04:04:270 Vulkan/VulkanContext.cpp:586 I[G3D]:   3: Heap 1; Flags: HOST_VISIBLE HOST_CACHED HOST_COHERENT   
04:04:270 Vulkan/VulkanContext.cpp:586 I[G3D]:   4: Heap 0; Flags: DEVICE_LOCAL HOST_VISIBLE HOST_COHERENT   
[New Thread 0x7fffb75fe6c0 (LWP 58807)]
[New Thread 0x7fffb6dfd6c0 (LWP 58808)]
[New Thread 0x7fffb65fc6c0 (LWP 58809)]
[New Thread 0x7fffb5dfb6c0 (LWP 58811)]
[New Thread 0x7fffb55fa6c0 (LWP 58813)]
04:04:297 Vulkan/VulkanLoader.cpp:610 I[G3D]: Vulkan device functions loaded.
04:04:297 Vulkan/VulkanLoader.cpp:627 I[G3D]: Missing (device): vkGetDeviceBufferMemoryRequirements
04:04:297 Vulkan/VulkanLoader.cpp:630 I[G3D]: Missing (device): vkGetDeviceImageMemoryRequirements
04:04:297 Vulkan/VulkanContext.cpp:743 I[G3D]: Vulkan Device created: NVIDIA GeForce RTX 3060 Laptop GPU
04:04:297 Vulkan/VulkanLoader.cpp:317 I[G3D]: Setting Vulkan availability to true
04:04:297 Vulkan/VulkanContext.cpp:845 I[G3D]: Creating Vulkan surface for window (0x2e7b9d0 0x2c1b4e0)
04:04:298 Vulkan/VulkanContext.cpp:1206 I[G3D]: swapchain_format: 37 (/7)
04:04:298 Vulkan/VulkanContext.cpp:1270 I[G3D]: surfCapabilities_.current: 1920x1080 min: 1x1 max: 16384x16384 computed: 1920x1080
04:04:298 Vulkan/VulkanContext.cpp:1289 I[G3D]: Supported present modes: MAILBOX, FIFO
04:04:298 Vulkan/VulkanContext.cpp:1317 I[G3D]: Chosen present mode: 2 (FIFO). numSwapChainImages: 3/8
04:04:298 Vulkan/VulkanContext.cpp:1364 I[G3D]: Transform supported: IDENTITY  current: IDENTITY  chosen: IDENTITY 
04:04:309 Vulkan/VulkanContext.cpp:1427 I[G3D]: Created swapchain: 1920x1080
04:04:310 Vulkan/VulkanQueueRunner.cpp:47 I[G3D]: VulkanQueueRunner::CreateDeviceObjects
04:04:675 Vulkan/VulkanRenderManager.cpp:322 I[G3D]: Starting Vulkan submission thread
[New Thread 0x7fff9c94b6c0 (LWP 58815)]
04:04:676 Vulkan/VulkanRenderManager.cpp:325 I[G3D]: Starting Vulkan compiler thread
[New Thread 0x7fff9c14a6c0 (LWP 58816)]
04:04:676 UI/NativeApp.cpp:829 I[SYSTEM]: NativeInitGraphics
04:04:677 Vulkan/VulkanRenderManager.cpp:136 I[G3D]: Pipeline (x/2) time on : 0.59 ms, 0.69 ms since scheduling  rpType: 0008 sampleBits: 1 (global_color)
04:04:677 Vulkan/VulkanRenderManager.cpp:136 I[G3D]: Pipeline (x/2) time on : 0.61 ms, 0.70 ms since scheduling  rpType: 0008 sampleBits: 1 (global_texcolor)
04:04:687 UI/NativeApp.cpp:893 I[SYSTEM]: NativeInitGraphics completed
04:04:687 SDL/SDLMain.cpp:160 I[AUDIO]: SDL: Trying a different audio device
[New Thread 0x7fff9b9496c0 (LWP 58817)]
loading control pad mappings from gamecontrollerdb.txt: SUCCESS!
04:04:697 Core/RetroAchievements.cpp:220 I[ACHIEVEMENTS]: RetroAchievements: Login failed: Invalid user/token combination.
04:04:697 Core/RetroAchievements.cpp:383 E[ACHIEVEMENTS]: Callback: Failure logging in via token: -34, Invalid user/token combination.
[New Thread 0x7fffc27fe6c0 (LWP 58819)]
04:04:698 UI/DiscordIntegration.cpp:60 I[SYSTEM]: Discord connection initialized
04:04:747 Vulkan/VulkanMemory.cpp:375 D[G3D]: pushBuffer: Created new block of size 16.0 MB in 0.02 ms
04:04:752 Vulkan/VulkanMemory.cpp:375 D[G3D]: pushBuffer: Created new block of size 8.0 MB in 1.14 ms
04:04:762 UI/NativeApp.cpp:1163 I[G3D]: Resized flag set - recalculating bounds
[New Thread 0x7fff9b1486c0 (LWP 58823)]
04:04:766 Vulkan/VulkanRenderManager.cpp:366 I[G3D]: Vulkan submission thread joined. Frame=1
[Thread 0x7fff9c94b6c0 (LWP 58815) exited]
04:04:766 Vulkan/VulkanRenderManager.cpp:374 I[G3D]: Vulkan compiler thread joined.
[Thread 0x7fff9c14a6c0 (LWP 58816) exited]
04:04:766 Vulkan/VulkanQueueRunner.cpp:247 I[G3D]: Backbuffers destroyed

Thread 1 "PPSSPPSDL" received signal SIGSEGV, Segmentation fault.
0x00007ffff7fb9806 in wl_list_empty (list=list@entry=0x0) at ../src/wayland-util.c:81
81              return list->next == list;                                                                                                                                                                               
Missing separate debuginfos, use: dnf debuginfo-install xorg-x11-drv-nvidia-libs-545.29.06-1.fc39.x86_64
(gdb) bt full
#0  0x00007ffff7fb9806 in wl_list_empty (list=list@entry=0x0) at ../src/wayland-util.c:81
No locals.
#1  0x00007ffff7fb996e in wl_display_prepare_read_queue (display=display@entry=0x2e7b9d0, queue=queue@entry=0x0) at ../src/wayland-client.c:1853
        ret = <optimized out>
#2  0x00007ffff7fbb561 in wl_display_dispatch_queue (display=0x2e7b9d0, queue=0x0) at ../src/wayland-client.c:1965
        ret = <optimized out>
#3  0x00007ffff5908583 in ?? () from /lib64/libnvidia-glcore.so.545.29.06
No symbol table info available.
#4  0x00007ffff5901537 in ?? () from /lib64/libnvidia-glcore.so.545.29.06
No symbol table info available.
#5  0x00007ffff59364a6 in ?? () from /lib64/libnvidia-glcore.so.545.29.06
No symbol table info available.
#6  0x00007ffff6d36c9c in ?? () from /lib64/libGLX_nvidia.so.0
No symbol table info available.
#7  0x00007fffb878a91f in DispatchDestroySwapchainKHR () at /usr/src/debug/vulkan-validation-layers-1.3.250.1-2.fc39.x86_64/layers/vulkan/generated/layer_chassis_dispatch.cpp:661
No locals.
#8  vulkan_layer_chassis::DestroySwapchainKHR () at /usr/src/debug/vulkan-validation-layers-1.3.250.1-2.fc39.x86_64/layers/vulkan/generated/chassis.cpp:5661
No locals.
#9  0x0000000000b97545 in VulkanContext::DestroySwapchain (this=0x2c448f0) at /mnt/d/projects/git/ppsspp/Common/GPU/Vulkan/VulkanContext.cpp:351
No locals.
#10 0x0000000000c712be in SDLVulkanGraphicsContext::Resize (this=0x2cc5d00) at /mnt/d/projects/git/ppsspp/SDL/SDLVulkanGraphicsContext.cpp:184
No locals.
#11 0x00000000004391c8 in NativeFrame (graphicsContext=0x2cc5d00) at /mnt/d/projects/git/ppsspp/UI/NativeApp.cpp:1180
        menuThrottle = true
        startTime = 19.886282025
        toProcess = std::vector of length 0, capacity 0
        __FUNCTION__ = "NativeFrame"
        ortho = {{{xx = 0.00104166672, xy = 0, xz = 0, xw = 0, yx = 0, yy = 0.00185356813, yz = 0, yw = 0, zx = 0, zy = 0, zz = 0.5, zw = 0, wx = -1, wy = -1, wz = 0.5, ww = 1}, m = {0.00104166672, 0, 0, 0, 0, 
              0.00185356813, 0, 0, 0, 0, 0.5, 0, -1, -1, 0.5, 1}}}
        debugFlags = Draw::DebugFlags::NONE
        interval = 1
        presentMode = Draw::PresentMode::FIFO
#12 0x00000000005ba427 in UpdateRunLoop (ctx=0x2cc5d00) at /mnt/d/projects/git/ppsspp/Core/Core.cpp:201
No locals.
#13 0x0000000000c6b482 in main (argc=1, argv=0x7fffffffd308) at /mnt/d/projects/git/ppsspp/SDL/SDLMain.cpp:1466
        startTime = 19.886237855000001
        event = {type = 32512, common = {type = 32512, timestamp = 25318}, display = {type = 32512, timestamp = 25318, display = 0, event = 0 '\000', padding1 = 0 '\000', padding2 = 0 '\000', padding3 = 0 '\000', 
            data1 = 0}, window = {type = 32512, timestamp = 25318, windowID = 0, event = 0 '\000', padding1 = 0 '\000', padding2 = 0 '\000', padding3 = 0 '\000', data1 = 0, data2 = 0}, key = {type = 32512, 
            timestamp = 25318, windowID = 0, state = 0 '\000', repeat = 0 '\000', padding2 = 0 '\000', padding3 = 0 '\000', keysym = {scancode = SDL_SCANCODE_UNKNOWN, sym = 0, mod = 0, unused = 0}}, edit = {
            type = 32512, timestamp = 25318, windowID = 0, text = '\000' <repeats 31 times>, start = 0, length = 0}, editExt = {type = 32512, timestamp = 25318, windowID = 0, text = 0x0, start = 0, length = 0}, 
--Type <RET> for more, q to quit, c to continue without paging--
          text = {type = 32512, timestamp = 25318, windowID = 0, text = '\000' <repeats 31 times>}, motion = {type = 32512, timestamp = 25318, windowID = 0, which = 0, state = 0, x = 0, y = 0, xrel = 0, yrel = 0}, 
          button = {type = 32512, timestamp = 25318, windowID = 0, which = 0, button = 0 '\000', state = 0 '\000', clicks = 0 '\000', padding1 = 0 '\000', x = 0, y = 0}, wheel = {type = 32512, timestamp = 25318, 
            windowID = 0, which = 0, x = 0, y = 0, direction = 0, preciseX = 0, preciseY = 0, mouseX = 0, mouseY = 0}, jaxis = {type = 32512, timestamp = 25318, which = 0, axis = 0 '\000', padding1 = 0 '\000', 
            padding2 = 0 '\000', padding3 = 0 '\000', value = 0, padding4 = 0}, jball = {type = 32512, timestamp = 25318, which = 0, ball = 0 '\000', padding1 = 0 '\000', padding2 = 0 '\000', padding3 = 0 '\000', 
            xrel = 0, yrel = 0}, jhat = {type = 32512, timestamp = 25318, which = 0, hat = 0 '\000', value = 0 '\000', padding1 = 0 '\000', padding2 = 0 '\000'}, jbutton = {type = 32512, timestamp = 25318, 
            which = 0, button = 0 '\000', state = 0 '\000', padding1 = 0 '\000', padding2 = 0 '\000'}, jdevice = {type = 32512, timestamp = 25318, which = 0}, jbattery = {type = 32512, timestamp = 25318, which = 0, 
            level = SDL_JOYSTICK_POWER_EMPTY}, caxis = {type = 32512, timestamp = 25318, which = 0, axis = 0 '\000', padding1 = 0 '\000', padding2 = 0 '\000', padding3 = 0 '\000', value = 0, padding4 = 0}, 
          cbutton = {type = 32512, timestamp = 25318, which = 0, button = 0 '\000', state = 0 '\000', padding1 = 0 '\000', padding2 = 0 '\000'}, cdevice = {type = 32512, timestamp = 25318, which = 0}, ctouchpad = {
            type = 32512, timestamp = 25318, which = 0, touchpad = 0, finger = 0, x = 0, y = 0, pressure = 0}, csensor = {type = 32512, timestamp = 25318, which = 0, sensor = 0, data = {0, 0, 0}, timestamp_us = 0}, 
          adevice = {type = 32512, timestamp = 25318, which = 0, iscapture = 0 '\000', padding1 = 0 '\000', padding2 = 0 '\000', padding3 = 0 '\000'}, sensor = {type = 32512, timestamp = 25318, which = 0, data = {0, 
              0, 0, 0, 0, 0}, timestamp_us = 0}, quit = {type = 32512, timestamp = 25318}, user = {type = 32512, timestamp = 25318, windowID = 0, code = 0, data1 = 0x0, data2 = 0x0}, syswm = {type = 32512, 
            timestamp = 25318, msg = 0x0}, tfinger = {type = 32512, timestamp = 25318, touchId = 0, fingerId = 0, x = 0, y = 0, dx = 0, dy = 0, pressure = 0, windowID = 0}, mgesture = {type = 32512, 
            timestamp = 25318, touchId = 0, dTheta = 0, dDist = 0, x = 0, y = 0, numFingers = 0, padding = 0}, dgesture = {type = 32512, timestamp = 25318, touchId = 0, gestureId = 0, numFingers = 0, error = 0, 
            x = 0, y = 0}, drop = {type = 32512, timestamp = 25318, file = 0x0, windowID = 0}, padding = "\000\177\000\000\346b", '\000' <repeats 49 times>}
        keys = 0x7ffff7ee054a <SDL_keyboard.lto_priv.0+522> ""
        renderThreadPaused = false
        compiled = {major = 2 '\002', minor = 26 '\032', patch = 5 '\005'}
        linked = {major = 2 '\002', minor = 26 '\032', patch = 5 '\005'}
        set_xres = -1
        set_yres = -1
        portrait = false
        set_ipad = false
        set_dpi = 0
        set_scale = 1
        remain_argc = 1
        remain_argv = {0x7fffffffd7f4 "/mnt/d/PPSSPP/PPSSPPSDL", 0x0 <repeats 255 times>}
        mode = 12321
        app_name = "ppsspp"
        app_name_nice = "PPSSPP"
        version = "v1.16.6"
        landscape = true
        joystick_enabled = true
        displayMode = {format = 370546692, w = 1920, h = 1080, refresh_rate = 120, driverdata = 0x2cdc4d0}
        should_be_zero = 0
        path = "/home/thesource/\000\277\377\377\377\177\000\000\017\000\000\000\000\000\000\000.erroronwarning\000\326\351\026\001\000\000\000\000\000\000\000\000\377\177\000\000@u\266\002\000\000\000\000\020\000\000\000\000\000\000\000\020", '\000' <repeats 15 times>, "\001\353\026\001", '\000' <repeats 12 times>, "P\300\377\377\377\177\000\000\a\000\000\000\000\000\000\000.nocash\000\000\000\000\000\000\000\000\000&\354\026\001", '\000' <repeats 12 times>, "\200\300\377\377\377\177\000\000\004\000\000\000\000\000\000\000.sym", '\000' <repeats 12 times>, "K\355\026\001", '\000' <repeats 12 times>...
        the_path = 0x7fffffffdc77 "/home/thesource"
        external_dir = 0x16adb18 "/tmp"
        x = 536805376
--Type <RET> for more, q to quit, c to continue without paging--
        y = 536805376
        w = 960
        h = 544
        graphicsContext = 0x2cc5d00
        window = 0x2c65b40
        error_message = ""
        dpi_scale = 0.999479473
        useEmuThread = false
        iconPath = "/mnt/d/PPSSPP/assets/icon_regular_72.png\000ar_72.png\000\000\000\000\000\000\260\235\266\002", '\000' <repeats 12 times>, "\363\310\354r\357\372\221\n\000u\332\001", '\000' <repeats 12 times>, "0\260\377\377\377\177\000\000\347\315\022\001\000\000\000\000\270\235\266\002\000\000\000\000\270\235\266\002\000\000\000\000\300\301\377\377\377\177\000\000\300\301\377\377\377\177\000\000\200\260\377\377\377\177\000\000\251\311\022\001\000\000\000\000\360g\266\002\000\000\000\000а\377\377\377\177\000\000\300\301\377\377\377\177\000\000\000u\332\001\000\000\000\000\200\260\377\377\377\177\000\0001"...
        width = 72
        height = 72
        imageData = 0x0
        inputTracker = {mouseDown = false, mouseDeltaX = 0, mouseDeltaY = 0, mouseWheelMovedUpFrames = 0, mouseWheelMovedDownFrames = 0, mouseCaptured = false}

@hrydgard
Copy link
Owner

How is this now?

@hrydgard hrydgard added this to the v1.20 milestone Feb 24, 2025
@michelesr
Copy link
Author

How is this now?

It seems to be working fine on my side. I can use Wayland SDL backend with the Vulkan renderer just fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants