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
10.8k stars 2.12k forks source link

Black screen on Vulkan/Wayland on Raspberry Pi 4 (-DUSE_WAYLAND_WSI=ON) #14737

Open vanfanel opened 2 years ago

vanfanel commented 2 years ago

Game or games this happens in

None

What area of the game / PPSSPP

None

What should happen

Menu/GUI should be shown.

It's shown when using GLES2 on the same setup (on Wayland too).

Logs

pi@raspberrypi:~/emulation/psp $ ./PPSSPPSDL VulkanMayBeAvailable: Device allowed ('SDL:Linux') VulkanMayBeAvailable: Library loaded ('libvulkan.so') VulkanMayBeAvailable: Enumerating instance extensions VulkanMayBeAvailable: Instance extension count: 8 VulkanMaybeAvailable: Instance extension found: VK_KHR_display (00000017) VulkanMaybeAvailable: Instance extension found: VK_KHR_external_memory_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_KHR_wayland_surface (00000006) VulkanMaybeAvailable: Instance extension found: VK_EXT_debug_report (00000009) VulkanMaybeAvailable: Instance extension found: VK_EXT_debug_utils (00000001) VulkanMayBeAvailable: Calling vkCreateInstance VulkanMayBeAvailable: Vulkan test instance created successfully. VulkanMayBeAvailable: Found working Vulkan API! VulkanMayBeAvailable: Destroying instance DEBUG: Vulkan might be available. Info: We compiled against SDL version 2.0.16 and we are linking against SDL version 2.0.16. :) ThreadManager::Init(compute threads: 4, all: 8) 55:26:177 Core/Config.cpp:619 I[G3D]: Longest display side: -1 pixels. Choosing scale 1 Pixels: 960 x 544 Virtual pixels: 960 x 544 loading control pad mappings from gamecontrollerdb.txt: SUCCESS!

Platform

Raspberry Pi

Mobile phone model or graphics card

VideoCore using V3DV (MESA GIT)

PPSSPP version affected

Current GIT code

Last working version

None

Graphics backend (3D API)

Vulkan

Checklist

vanfanel commented 2 years ago

Just in case previous information is not clean. Just built PPSSPP current GIT on the Pi4 successfully, with: -Debian 10, GCC 8.3.0, current GIT MESA -With Wayland support (using the -DUSE_WAYLAND_WSI=ON build flag)

As a result, it shows a black screen when running with the Wayland renderer (while it works fine with the GLES2 renderer). No apparent errors as you can see on the console logs.

Maybe I am the first to try -DUSE_WAYLAND_WSI=ON on a Pi? Other software works fine using Vulkan on a Wayland window on the Pi4 on the same setup.

ghost commented 1 year ago

@vanfanel I see that on your command you just typed ./PPSSPP, try with SDL_VIDEODRIVER=wayland ./PPSSPP, and tell me if it works or not.