libretro / libretro/RetroArch

[bug/improvement] about video renderer [vulkan] Title to change due to update situation

Open
#10,233 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

gpu api: vulkan platform: android
Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

[UPDATE]
The problem wasn't about video driver but about the assets of ppsspp (presents but for some kind of reason they make RA/PPSSPP crash to desktop).
Erasing the assets folder will make ppsspp run again (obviously assets are a must to write/save/load and have the classic psp interface).
The log file of RetroArch on DEBUG level doesn't helped to figure out the problem, nothing was wrong (except the online archivement system that tries to load segacd/saturn one instead of psp).
There's really need to set the assets in a different directory and manually instead of keep them together in the package as already ppsspp does? why you choose this way (to remove the assets and make them a "standalone" download by users? doesn't have more sense to automatize the process or keep the folder structure of ppsspp as the original one?

Description

1.RetroArch allow the final user to select various video rendering/driver solution also if are not supported by the system (for example vulkan). This cause a crash on launch of retroarch without any possibility to change back the driver (except if the user will manually erase the RetroArch.cfg (tested on Android 32bit system)

Expected behavior

More than expected seems more logic to don't have at all the possibility to select "vulkan" if not supported by the system.
Add a routine in order to check if the system support vulkan or, after RA failed to launch because of vulkan as video driver, add a fallback to default render driver in order to don't force the complete RA uninstall. If RA code will be able to gather the right info to determine "why RA itself doesn't launch correctly" it will use a fallback driver in order to allow the user to still use the application.

Actual behavior

RetroArch doesn't launch anymore, in a loop of crash to desktop on launch because the user selected vulkan as video driver. No error messages, no informations about it as, right about now, not every user are also able to find and search for RetroArch configuration file and erase/modify it manually.

Steps to reproduce the bug

1.Select vulkan on a system that doesn't support vulkan
2.Exit retroarch and save configuration
3.Launch RetroArch

Few Words

I stated that the system doesn't support Vulkan but after a little research it seems that actually the gpu support it. So the problem can be a wrong way to implement vulkan api or to use/call the interceptor.
Technically there is some work also about the interceptor for Vulkan API because the Mali-G31 MP2 gpu support Vulkan as stated on
this official vulkan/arm developer link.

Version/Commit

RetroArch: 32bit version from play store (maybe can be useful to add into the online updater also the possibility to download the nighty build?)

Environment information
  • OS: Android 9 (pie) (32bit version)
  • CPU Amlogic S905X2 -GPU Mali-G31 MP2

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file, test, or entry point is named. Start by reproducing the launch crash on the stated Android 9 32-bit environment after selecting Vulkan and saving the configuration. Done would require a decided, tested way to prevent or recover from the unsupported-driver crash, but the report also raises a separate assets-folder problem.

Written by the indexing model from the issue text.

Assessment

Tech stack
android
Domain
computer-graphics, mobile-dev
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.