hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
11.19k stars 2.17k forks source link

ppsspp always force close after changing default backend render to vulkan on previous session #18928

Open hilmiarkan opened 7 months ago

hilmiarkan commented 7 months ago

Game or games this happens in

None

What area of the game / PPSSPP

-> My spec: M1 Macbook Air Sonoma -> I install ppsspp using this command on terminal: brew install ppsspp -> i open ppsspp on /opt/homebrew/Cellar/ppsspp/1.17.1/PPSSPPDL.app -> it open and worked -> i open Settings, and change Rendering mode > Backend from OpenGL to Vulkan -> ppsspp prompted to restart to make changes, then it restart. -> but it not started -> so i open the app manually via /opt/homebrew/Cellar/ppsspp/1.17.1/PPSSPPDL.app -> it force close everytime after a second i double click the app -> i tried to open this /opt/homebrew/Cellar/ppsspp/1.17.1/bin/PPSSPPSDL -> it give me this:

/opt/homebrew/Cellar/ppsspp/1.17.1/bin/PPSSPPSDL ; exit; (base) arkan@hilmi ~ % /opt/homebrew/Cellar/ppsspp/1.17.1/bin/PPSSPPSDL ; exit; VulkanMayBeAvailable: Device allowed ('SDL:macOS') Vulkan library loaded ('@executable_path/../Frameworks/libMoltenVK.dylib') 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_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_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_EXT_debug_report (0000000a) VulkanMaybeAvailable: Instance extension found: VK_EXT_debug_utils (00000002) VulkanMaybeAvailable: Instance extension found: VK_EXT_headless_surface (00000001) VulkanMaybeAvailable: Instance extension found: VK_EXT_layer_settings (00000002) VulkanMaybeAvailable: Instance extension found: VK_EXT_metal_surface (00000001) VulkanMayBeAvailable: Found platform surface extension 'VK_EXT_metal_surface' VulkanMayBeAvailable: Calling vkCreateInstance VulkanMayBeAvailable: Vulkan test instance created successfully. VulkanMayBeAvailable: Eligible device found: 'Apple M1' VulkanMayBeAvailable: Found working Vulkan API! VulkanMayBeAvailable: Destroying instance DEBUG: Vulkan might be available. Info: We compiled against SDL version 2.30.0, but we are linking against SDL version 2.30.1., be aware that this can lead to unexpected behaviors ThreadManager::Init(compute threads: 8, all: 16) 38:23:387 Core/Config.cpp:365 I[G3D]: Longest display side: 2560 pixels. Choosing scale 2 38:23:389 UI/BackgroundAudio.cpp:519 E[SYSTEM]: Failed to load the default sample for UI sound 5 38:23:389 UI/BackgroundAudio.cpp:519 E[SYSTEM]: Failed to load the default sample for UI sound 6 38:23:389 UI/NativeApp.cpp:320 E[LOADER]: Failed graphics backends: VULKAN,VULKAN,VULKAN,VULKAN,VULKAN,VULKAN,VULKAN,VULKAN,VULKAN,VULKAN,VULKAN Error creating SDL window: Failed to load Vulkan Portability library

Saving session... ...copying shared history... ...saving history...truncating history files... ...completed.

[Process completed]

What should happen

PPSSPP should open manually without forceclose

Logs

I dont know how to retrieve ppsspp logs on mac

Platform

macOS

Mobile device model or graphics card (GPU)

M1

PPSSPP version affected

1.17.1

Last working version

(first time downloaded ppsspp)

Graphics backend (3D API)

Vulkan

Checklist

EQuioMaX commented 6 months ago

Happening on NixOS as well, using the ppsspp-sdl-wayland package:

ν ❯ nix run nixpkgs#nix-info -- -m

Vulkan Instance Version: 1.3.280

Instance Extensions: count = 23

VK_EXT_acquire_drm_display : extension revision 1 VK_EXT_acquire_xlib_display : extension revision 1 VK_EXT_debug_report : extension revision 10 VK_EXT_debug_utils : extension revision 2 VK_EXT_direct_mode_display : extension revision 1 VK_EXT_display_surface_counter : extension revision 1 VK_EXT_surface_maintenance1 : extension revision 1 VK_EXT_swapchain_colorspace : extension revision 4 VK_KHR_device_group_creation : extension revision 1 VK_KHR_display : extension revision 23 VK_KHR_external_fence_capabilities : extension revision 1 VK_KHR_external_memory_capabilities : extension revision 1 VK_KHR_external_semaphore_capabilities : extension revision 1 VK_KHR_get_display_properties2 : extension revision 1 VK_KHR_get_physical_device_properties2 : extension revision 2 VK_KHR_get_surface_capabilities2 : extension revision 1 VK_KHR_portability_enumeration : extension revision 1 VK_KHR_surface : extension revision 25 VK_KHR_surface_protected_capabilities : extension revision 1 VK_KHR_wayland_surface : extension revision 6 VK_KHR_xcb_surface : extension revision 6 VK_KHR_xlib_surface : extension revision 6 VK_LUNARG_direct_driver_loading : extension revision 1

Instance Layers: count = 16

VK_LAYER_FROG_gamescope_wsi_x86_64 Gamescope WSI (XWayland Bypass) Layer (x86_64) 1.3.221 version 1 VK_LAYER_INTEL_nullhw INTEL NULL HW 1.1.73 version 1 VK_LAYER_KHRONOS_shader_object Khronos Shader object layer 1.3.280 version 1 VK_LAYER_KHRONOS_synchronization2 Khronos Synchronization2 layer 1.3.280 version 1 VK_LAYER_KHRONOS_timeline_semaphore Khronos timeline Semaphore layer 1.3.280 version 1 VK_LAYER_KHRONOS_validation Khronos Validation Layer 1.3.280 version 1 VK_LAYER_MANGOAPP_overlay Mangoapp Layer 1.3.0 version 1 VK_LAYER_MANGOAPP_overlay Mangoapp Layer 1.3.0 version 1 VK_LAYER_MANGOHUD_overlay_32_x86 Vulkan Hud Overlay 1.3.0 version 1 VK_LAYER_MANGOHUD_overlay_64_x86_64 Vulkan Hud Overlay 1.3.0 version 1 VK_LAYER_MESA_device_select Linux device selection layer 1.3.211 version 1 VK_LAYER_MESA_overlay Mesa Overlay layer 1.3.211 version 1 VK_LAYER_VALVE_steam_fossilize_32 Steam Pipeline Caching Layer 1.3.207 version 1 VK_LAYER_VALVE_steam_fossilize_64 Steam Pipeline Caching Layer 1.3.207 version 1 VK_LAYER_VALVE_steam_overlay_32 Steam Overlay Layer 1.3.207 version 1 VK_LAYER_VALVE_steam_overlay_64 Steam Overlay Layer 1.3.207 version 1

Devices:

GPU0: apiVersion = 1.3.274 driverVersion = 24.0.5 vendorID = 0x1002 deviceID = 0x747e deviceType = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU deviceName = AMD Radeon RX 7800 XT (RADV NAVI32) driverID = DRIVER_ID_MESA_RADV driverName = radv driverInfo = Mesa 24.0.5 conformanceVersion = 1.3.0.0 deviceUUID = 00000000-0300-0000-0000-000000000000 driverUUID = 414d442d-4d45-5341-2d44-525600000000 GPU1: apiVersion = 1.3.274 driverVersion = 24.0.5 vendorID = 0x1002 deviceID = 0x164e deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU deviceName = AMD Radeon Graphics (RADV RAPHAEL_MENDOCINO) driverID = DRIVER_ID_MESA_RADV driverName = radv driverInfo = Mesa 24.0.5 conformanceVersion = 1.3.0.0 deviceUUID = 00000000-1200-0000-0000-000000000000 driverUUID = 414d442d-4d45-5341-2d44-525600000000 GPU2: apiVersion = 1.3.274 driverVersion = 0.0.1 vendorID = 0x10005 deviceID = 0x0000 deviceType = PHYSICAL_DEVICE_TYPE_CPU deviceName = llvmpipe (LLVM 17.0.6, 256 bits) driverID = DRIVER_ID_MESA_LLVMPIPE driverName = llvmpipe driverInfo = Mesa 24.0.5 (LLVM 17.0.6) conformanceVersion = 1.3.1.1 deviceUUID = 6d657361-3234-2e30-2e35-000000000000 driverUUID = 6c6c766d-7069-7065-5555-494400000000

hrydgard commented 6 months ago

the VULKAN,VULKAN,VULKAN thing is a bug and should be fixed, heh.

"Error creating SDL window: Failed to load Vulkan Portability library" is a strange message. I don't know what the Vulkan Portability Library is, this feels more like a platform issue than a PPSSPP issue?

"Vulkan subsystem 6 not supported" also seems like a platform issue to me, that's not our log. Seems to be the same issue as #13845 though..

hilmiarkan commented 6 months ago

Is there anyway to change it back to opengl without launching the app first?

I tried uninstalling and then installing it again using brew install ppsspp, but when i open the app it still force close by itself immediately.

CleanShot 2024-04-22 at 05 41 52

hrydgard commented 6 months ago

Yes, you can edit the file ~/.config/ppsspp/PSP/SYSTEM/ppsspp.ini, changing GPUBackend = 3 to GPUBackend = 0.

hilmiarkan commented 6 months ago

thank you so much! it worked now

btw the name is GraphicsBackend and i changed the value to only "0" and also remove the line FailedGraphicBackends

CleanShot 2024-04-23 at 16 31 01