libretro / libretro/RetroArch

Retroarch AppImage does not start with video driver set to vulkan on Linux/mesa/RADV

Open
#13,714 18 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Description

With video_driver = "vulkan" set Retroarch immediately crashes, it does not even start.

Vulkan works with literally everything else on my system.

Expected behavior

Retroarch starts.

Actual behavior

It crashes.

Steps to reproduce the bug
  1. Be running a Linux system, possibly specific to AMD GPUs and mesa
  2. Run the AppImage
  3. Set video driver to vulkan
  4. Try running Retroarch again
Bisect Results
Version/Commit

This happens on latest 2022-03-08 nightly and 1.9.14 stable, I have not tried any older.

Environment information
  • OS: Arch Linux x86_64
  • GPU: 5500XT
  • Driver: Mesa 22.1.0
[INFO] RetroArch 1.10.1 (Git 9bcee06)
[INFO] === Build =======================================
[INFO] CPU Model Name: AMD Ryzen 5 3600 6-Core Processor              
[INFO] Capabilities:  MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE4.2 AES AVX
[INFO] Built: Mar  8 2022
[INFO] Version: 1.10.1
[INFO] Git: 9bcee06
[INFO] =================================================
[INFO] [Input]: Found input driver: "x".
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] [Core]: Version of libretro API: 1, Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Video]: Set video size to: 960x720.
[ERROR] [Wayland/Vulkan]: Failed to connect to Wayland server.
[INFO] [Vulkan]: Vulkan dynamic library loaded.
[ERROR] [Vulkan]: Could not find instance extensions. Will attempt without them.
[ERROR] Failed to create Vulkan instance (-9).
[INFO] [Vulkan]: Vulkan dynamic library loaded.
[ERROR] [Vulkan]: Could not find instance extensions. Will attempt without them.
[ERROR] Failed to create Vulkan instance (-9).
[ERROR] [Vulkan]: Failed to create Vulkan context.
[WARN] Failed to bind API (#9, version 1.0) on context driver "wayland".
[WARN] Failed to bind API (#9, version 1.0) on context driver "x".
[WARN] Failed to bind API (#9, version 1.0) on context driver "egl_x".
[WARN] Failed to bind API (#9, version 1.0) on context driver "kms".
[WARN] Failed to bind API (#9, version 1.0) on context driver "gl_sdl".
[INFO] [Vulkan]: Found vulkan context: "null".
[INFO] [Vulkan]: Detecting screen resolution: 320x240.
[INFO] [Vulkan]: Using resolution 320x240.
[ERROR] [Vulkan]: Failed to get context data.
[ERROR] [Video]: Cannot open video driver ... Exiting ...
[ERROR] Fatal error received in: "video_driver_init_internal()"
[INFO] [Core]: Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[INFO] [Core]: Unloading core..
[INFO] [Core]: Unloading core symbols..

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

Reproduce the crash with the AppImage, Linux/Mesa/RADV environment, and video_driver = "vulkan". Start with the video_driver_init_internal() failure and the logged Vulkan instance-creation errors. Done means RetroArch starts successfully with the Vulkan video driver on the reported setup.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, linux
Domain
computer-graphics, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.