protonscr

Regression with Hitman 2 struggling to switch from windowed -> fullscreen mode on Wayland

dxvkclosed
doitsujin/dxvk#3499 · opened 2023-06-16 by alasky17 · updated 2023-06-19 · 1 comments · github
Aalasky17 2023-06-16 github

This is a strange one. I am very consistently running into a problem on Wayland with Proton 8.0-3-rc1 where Hitman 2 is taking an extraordinarily long time (in one case nearly 2 minutes) to regain focus completely after using alt+enter to resume fullscreen mode from windowed mode (see repro steps below).

I ran a git bisect which blamed 83a29428 "[dxgi] Only enumerate outputs which belong to the adapter or associated iGPU" and when I revert that alongside 14eb46900 "[dxgi] Be more robust against monitor enumeration issues" and 550e04c57 "[dxgi] Preserve system monitor sort order in enumMonitors()" (in order for the revert to apply cleanly), it consistently "fixes" the issue and I no longer can reproduce the problem.

However, when I tried to get a log from experimental-bleeding-edge-8.0-47059-20230615-pe794f1-w67ff8a-dc5ab5b-v0f33ca I could also not reproduce the problem. I tried using the dxvk version from bleeding-edge with Proton 8.0-3, and I'm somehow still getting the problem, so it does not appear that the problem is fixed in DXVK master, and yet somehow the problem is not reproducing for me on the BE build.

Since this was so inconsistent, I asked other folks to try to repro, and someone else saw the same issue as me with Proton 8.0-3-rc1 on a different setup (also AMD+Wayland, but different monitors, GPU, etc). This makes me suspect that there might be some real issue here, although the behavior on BE makes it seem like we are just getting "unlucky" with the timing on 8.0-3. I will ask them tomorrow to test BE and see what happens there. Edit: They saw the same thing as me - for some reason the problem is not currently reproducing on BE, although the difference does not seem to be the dxvk version.

Steps to reproduce most effectively:
0) Use Wayland (most testing done with Wayland+Plasma)

  1. Launch Hitman 2 in exclusive fullscreen mode
  2. alt+enter to go to windowed mode
  3. alt+enter a second time (which should switch the game back to fullscreen mode)
    When the problem occurs, the custom cursor will return and you will not be able to click on anything (because the game is now "in focus", but the game window will appear minimized for some time between a few seconds and several minutes, before eventually reappearing fullscreened.

Software information

Hitman 2 (863550)

System information

  • WM: Plasma Wayland
  • GPU: AMD RX 570
  • Driver: radv Mesa 23.1.2
  • Wine version: Proton 8.0-3-rc1
  • DXVK version: HEAD at 4d254b13bee632e3f5c274e0a7d1aa919238d6a [dxgi] Unlock presenter lock early during presentation
    Bisect blamed: 83a294285e90c65554bc851c4d4a126aa15916a4 [dxgi] Only enumerate outputs which belong to the adapter or associated iGPU

Log files

Log of failure on Proton 8.0-3rc1
hitman-2-alt-enter-wayland-trouble.zip

xrandr output - xrandroutput.txt

vulkaninfo output - vulkan-info-output.txt

Aalasky17 2023-06-19 github

It turns out that the dxvk commit was a red herring and we were just getting "unlucky" with the timing on 8.0-3rc1. @gofman dug into this and found the issue in winex11.drv. I'm going to close this issue since it turns out that the behavior was unrelated to the dxvk change.

Proton versions