protonscr

Presentation mode is reported as fifo by mangohud when vsync is off in Cyberpunk 2077

vkd3dclosed invalid
HansKristian-Work/vkd3d-proton#1891 · opened 2024-02-11 by shmerl · updated 2024-02-11 · 5 comments · github
Sshmerl 2024-02-11 github

New version of mangohud can report Vulkan presentation mode. When running Cyberpunk 2077 (2.11), for some reason it's showing me fifo, even though vsync is off in the game. Shouldn't it be mailbox? Or how does vkd3d-proton decide on what presentation mode to set?

According to kwin developers, presentation mode is set by the client not by compositor, so it's likely vkd3d-proton deciding it.

The way to enable it in the HUD:

MANGOHUD_CONFIG=present_mode

See also: https://github.com/flightlessmango/MangoHud/issues/1190

  • GPU: Sapphire Nitro+ RX 7900 XTX
  • amdgpu 6.7.4
  • radv: Mesa 24.1.0-devel (git-8368a97294)
  • Wine version: 9.2 + esync
  • vkd3d-proton: git-9e08ee8b0f
  • DE: KDE Plasma 5.27.10, Wayland session.

Screenshot:

cp2077

Wine log:
wine.log

Mmbriar 2024-02-11 github

Probably because vkd3d-proton now uses VK_EXT_swapchain_maintenance1, which allows you to change the present mode dynamically without recreating the swapchain and mangohud can't detect that.

Sshmerl 2024-02-11 github

May be it would be good to add some logging line to vkd3d-proton about what presentation mode it decides to set? I don't see it in the log (attached it above).

Also, is there a way to detect presentation mode for mangohud after it was set dynamically like that?

Mmbriar 2024-02-11 github

Mangohud should be able to detect it, but it would have to check the new EXT struct on every present. Looks to me like it currently only checks in CreateSwapchainKHR.

Mmisyltoad maintainer 2024-02-11 github

Not a vkd3d-proton bug, closing.

Sshmerl 2024-02-11 github

Can vkd3d-proton report the setting of presentation mode in the log at least? Or it already does that?

Launch options