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

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

Open
5 tasks done
hilmiarkan opened this issue Mar 15, 2024 · 5 comments
Open
5 tasks done

Comments

@hilmiarkan
Copy link

hilmiarkan commented Mar 15, 2024

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

  • Test in the latest git build in case it's already fixed.
  • Search for other reports of the same issue.
  • Try resetting settings or older versions and include if the issue is related.
  • Try without any cheats and without loading any save states.
  • Include logs or screenshots of issue.
@EQuioMaX
Copy link

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

ν ❯ nix run nixpkgs#nix-info -- -m
  • system: "x86_64-linux"
  • host os: Linux 6.8.7-cachyos, NixOS, 24.05 (Uakari), 24.05.20240419.5c24cf2
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.18.2
  • nixpkgs: /nix/store/v4pcs3nzx54m5bmxd39win0rgl2d2hbx-source

Logs:

VulkanMayBeAvailable: Device allowed ('SDL:Linux')
Vulkan library loaded ('libvulkan.so.1')
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_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_debug_report (0000000a)
VulkanMaybeAvailable: Instance extension found: VK_EXT_debug_utils (00000002)
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_surface_protected_capabilities (00000001)
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_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_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.
VulkanMayBeAvailable: Eligible device found: 'AMD Radeon RX 7800 XT (RADV NAVI32)'
VulkanMayBeAvailable: Eligible device found: 'AMD Radeon Graphics (RADV RAPHAEL_MENDOCINO)'
VulkanMayBeAvailable: Ineligible device found and ignored: 'llvmpipe (LLVM 17.0.6, 256 bits)'
VulkanMayBeAvailable: Found working Vulkan API!
VulkanMayBeAvailable: Destroying instance
DEBUG: Vulkan might be available.
Info: We compiled against SDL version 2.30.2 and we are linking against SDL version 2.30.2. :)
ThreadManager::Init(compute threads: 16, all: 32)
34:17:240 Core/Config.cpp:365 I[G3D]: Longest display side: 2560 pixels. Choosing scale 2
34:17:243 UI/BackgroundAudio.cpp:519 E[SYSTEM]: Failed to load the default sample for UI sound 5
34:17:243 UI/BackgroundAudio.cpp:519 E[SYSTEM]: Failed to load the default sample for UI sound 6
34:17:243 UI/NativeApp.cpp:320 E[LOADER]: Failed graphics backends: VULKAN,VULKAN,VULKAN,VULKAN,VULKAN,VULKAN
xkbcommon: ERROR: couldn't find a Compose file for locale "en_IN" (mapped to "en_IN.ISO8859-1")
Vulkan subsystem 6 not supported

Vulkan works in general, I am able to use DXVK, VKD3D, and play native Vulkan games.

==========
VULKANINFO
==========

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
Copy link
Owner

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
Copy link
Author

hilmiarkan commented Apr 21, 2024

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
Copy link
Owner

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

@hilmiarkan
Copy link
Author

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

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

4 participants