Skip to content

[XMB] [Vulkan] Menu freezes with any shader pipeline activated, under certain conditions #18115

@toao1985

Description

@toao1985

Is there an existing issue for this?

  • This is a bug in RetroArch frontend
  • I have searched the existing issues

Description

If you're using menu driver XMB and video driver Vulkan, there's a chance the RetroArch menu will freeze if you have any shader pipeline effect actived (ribbon, snow, etc) when you perform certain actions, like changing video shaders or just browsing within the quick menu. When the freeze does occur, it spouts the same error message in the log:

[INFO] [Vulkan]: QueuePresent failed, destroying swapchain.
[INFO] [Vulkan]: Got 3 swapchain images.
[INFO] [Vulkan filter chain]: Creating framebuffer 2048x2048 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 2048x2048 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 2048x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 64x68 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 82x68 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1317x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1317x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1317x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1317x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Updating framebuffer size 256x240 (format: 37).
[INFO] [Vulkan filter chain]: Updating framebuffer size 256x240 (format: 43).
[INFO] [Vulkan filter chain]: Updating framebuffer size 256x1080 (format: 43).
[INFO] [Vulkan]: QueuePresent failed, destroying swapchain.
[INFO] [Vulkan]: Got 3 swapchain images.
[INFO] [Vulkan filter chain]: Creating framebuffer 2048x2048 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 2048x2048 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 2048x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 64x68 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 82x68 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1317x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1317x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1317x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Creating framebuffer 1317x1080 (max 1 level(s)).
[INFO] [Vulkan filter chain]: Updating framebuffer size 256x240 (format: 37).
[INFO] [Vulkan filter chain]: Updating framebuffer size 256x240 (format: 43).
[INFO] [Vulkan filter chain]: Updating framebuffer size 256x1080 (format: 43).

It keeps happening until I switch from fullscreen to windowed. I can go back to fullscreen after without any problems, as long as I don't trigger the freeze.

Naturally, the issue does not occur if shader pipeline effects are disabled.

Expected behavior

The user should be able to seamless navigate and perform actions within the RetroArch menu while a shader pipeline effect is activated.

Steps to reproduce the bug

  1. Set your menu driver as XMB.
  2. Set your video driver as Vulkan.
  3. Restart RetroArch, for those to take effect.
  4. Enable any shader pipeline effect (ribbon, snow, etc).
  5. Load some content.
  6. Try to change video shaders a little, using the option inside the quick menu (do not use hotkeys for that). You may need to keep loading them a little.
  7. Menu freeze happens (RetroArch itself does not hang).

Version/Commit

1.21.0 (Git 05f94af)

Bisect Results

No response

Present in the nightly version

Yes, this is reproduced in the nightly build

Platform & operating system

Linux Mint 22.1 (x64), based on Ubuntu 24.04

Affected Cores

All cores

Environment information

  • Window manager: X11
  • Affected video driver: Vulkan
  • Installed through AppImage

Relevant log output

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions