protonscr

Shadow of War does not start

dxvkclosed nvidia proprietary
doitsujin/dxvk#834 · opened 2018-12-28 by felixdoerre · updated 2019-01-01 · 7 comments · github
Ffelixdoerre 2018-12-28 github

First of all: Thank you very much for this awesome project. I've been using it for running many games successfully. However I have one game, that makes problems.

When launching "Middle Earth: Shadow of War" with Steam + Proton + dxvk the games does not launch but segfaults. I initially tried with dxvk 0.90 (bundled with proton), but the application segfaults immediately after it tries to query for IDXGIOutput1. I saw, you implemented DXGIOutput1-4 in newer dxvk versions so I just upgraded the dxvk inside Proton to v0.94. Now the game launcher further. However after a few more "Unknown interface queries" the game crashes again, right after a failed query for DXGIOutput6.
Generally it seems, that "segfault" is this game's way of 'handling' missing DirectX-Interfaces.
So I suppose the game is missing those interfaces (and DXGIOutput6 most desperately of all). I've looked up all the other Interface-UUIDs:

  • IDXGIFactory5
  • IDXGIOutput6 (and I assume this one is the critical one)
  • ID3D11Device2
  • ID3D11Device3
  • ID3D11Device4

So my question is: Do you have any plans on implementing those Interfaces (or even stubs for them)?

Software information

Game: Middle Earth: Shadow of War

System information

  • GPU: Nvidia Quadro M2200 + Intel(R) HD Graphics P630 (Kaby Lake GT2)
  • Driver:
  • Wine version: Proto 3.16
  • DXVK version: 0.94

Log files

Ddoitsujin maintainer 2018-12-28 github

I highly doubt that the game requires those interfaces, since they were added only in a rather recent Windows 10 update. I don't have any plan to support DXGI 1.6 at the moment.

Your issue ist most likely related to your extremely old Nvidia driver, please update to 415.22.

Ffelixdoerre 2018-12-29 github

I've updated to the latest driver that is packaged experimentally for debian, namely 410.78. It still crashes (this time probably in libnvidia-tls.so.410.78). I'll try to update to 415.22 but that is more complicated for me. So the problem doesn't seem to be the missing interfaces. As it's not the driver that seems to crash an apitrace might be worth it. So I'll also work on getting an apitrace.

Ddoitsujin maintainer 2018-12-29 github

According to the ProtonDB entry, this game should run fine with some tweaks and the 415.xy drivers, so it might be worth checking that out first.

Ffelixdoerre 2018-12-30 github

Thanks for the link, I wasn't aware of that DB. However the game does not get to the point, where it generates render.cfg, so the workaround clearly isn't helping me.

I've upgraded to 415.22 and it didn't change anything. It still segfaults inside the nvidia driver.

I've managed to get the game running, by ditching the Primus (Nvidia+Intel) configuration and running the game on intel-only. This isn't a really good solution for me, but... ok. I am trying to run the game with (my own) vulkan layer (https://github.com/felixdoerre/primus_vk) to render on the nvidia card and display on the intel. It also proves that the missing interfaces do not cause the Game to crash.
If you're interested:

  • When running without primus-vk (i.e. having a headless nvidia card that is not able to create surfaces for the primary display and an intel card that could to that), the whole combination causes a segfault in the nvidia driver.
  • When running with primus-vk I get a segfault inside the vulkan-loader. So there I have a chance to debug/understand what's happening.

So all in all: thanks for your help. For now it seems that dxvk is doing everything correctly, so sorry for the wrong issue.

Mmassatt212 2018-12-30 github

Shadow of War Works
But you cannot set the resolution of the game stuck at some low as resolution below 1024

Ffelixdoerre 2018-12-30 github

On the intel graphics I am able to set the resolution to 1920x1080 (my native resolution). For the hybrid Intel+Nvidia graphics I am still working on understanding, what's crashing here.

Ffelixdoerre 2019-01-01 github

The crash was totally my bad. There were unclean parts in primus-vk. I have patched that (and will upload them to master in the next few days). Now it works perfectly! Thank you both for your help!

@massatt212 As is in ProtonDB shown:

after changing "ScreenHeight16by9" and ScreenWidth16by9" in steamapps/compatdata/356190/pfx/drive_c/users/steamuser/Local Settings/Application Data/WB Games/Shadow of War/render.cfg, it runs perfectly.

This hack is only required when I launch it hybridly with nv+intel. On intel only, the resolution detection works fine.

Nothing extracted yet.