v3dv: Libretro's Flycast Core requires 1.1 features, Running Results in Segmentation Fault
System information
- OS: Raspbian OS 64-bit
- GPU: Broadcom VideoCore VI
- Kernel version: 5.10-rc5
- Mesa version: Mesa 21.0.0-devel (git-5d55ca9c)
- OC Settings: cpu_freq=2100, and v3d_freq=825 <-- these settings have been stable for me.
Describe the issue
Background: Libretro Flycast (lr-flycast) is a ported version of Flycast, a Dreamcast, Naomi, & Atomiswave emulator. This port works as a core used within the RetroArch frontend that supports many different emulators. Libretro Flycast has both OpenGL/GLES and Vulkan renderers.
Issue: Until recently, the Vulkan renderer was not compiled for the Raspberry Pi 4. But now that v3dv is 1.0 conformant the lr-flycast core was compiled with make -j4 "HAVE_LTCG=0" "WITH_DYNAREC=arm64" "HOST_CPU_FLAGS=-DTARGET_LINUX_ARMv8" "HAVE_GL3=1" "FORCE_GLES=1" "HAVE_GENERIC_JIT=0" "HAVE_VULKAN=1" "DEBUG=1"
but trying to run the lr-flycast core results in a segfault. Switching back to the GLES driver it works correctly. UPDATED make w/ "HAVE_LTCG=0"
Additional Info:
- RetroArch v1.9.0 (git 988515d): Initiating RetroArch on its own works just fine and has been working since the v3dv source became public months ago. Other cores do work using the v3dv driver - i.e. DuckStation, MAME, MAME2K3+, and PPSSPP via X11. RetroArch was compiled with the following flags:
CFLAGS="-mcpu=cortex-a72" CXXFLAGS="-mcpu=cortex-a72" ./configure --disable-sdl --enable-sdl2 --disable-oss --disable-al --disable-jack --disable-qt --disable-pulse --enable-opengles --enable-opengles3_1 --disable-opengles3_2 --disable-videocore --enable-kms --enable-egl --enable-vulkan --disable-wayland
- This is the RetroArch log of the lr-flycast core working using the GLES context - https://pastebin.com/BJJCueLf
- This is the RetroArch log of the lr-flycast core not working using the Vulkan context - https://pastebin.com/WJYCnphj
- Function where back trace stack is pointing to --> lr-flycast vulkan_context.cpp
Regression
N/A
Log files as attachment
DMESG - https://pastebin.com/77yt4DZ8
GDB Backtrace Output - https://pastebin.com/y4PAgGBj Updated w/ DEBUG build