protonscr

Automatic selection between DXVK 1.7 and later releases

protonclosed Feature Request
ValveSoftware/Proton#4201 · opened 2020-09-17 by nariox · updated 2020-10-07 · 6 comments · github
Nnariox 2020-09-17 github

Feature Request

I confirm:

  • [X] that I haven't found another request for this feature.
  • [X] that I have checked whether there are updates for my system available that
    contain this feature already.

Description

DXVK 1.7.1 requires VK_EXT_transform_feedback. This extension is not available on Haswell and earlier intel GPUs. I am not sure if this can ever be supported by gen 7.5 (and lower), but it would be neat if Proton could automatically switch between versions of DXVK by probing which vulkan extensions/versions are supported by each GPU.

Justification [optional]

AFAIK, Wine devs have not shown any interest in mainstreaming DXVK.

Risks

Creating a mess. I also admit that Haswell GPUs (or Intel iGPUs in general) have quite limited use for gaming, but DXVK does help quite a bit because my poor CPU is only dual core and reducing any amount of overhead is helpful.

Kkisak-valve maintainer 2020-09-17 github

Hello @nariox, there's a good chance the Proton devs will not be interested in the added complexity from this request because 1) the older DXVK version won't be getting any fixes making it an unsupported render path and 2) Intel Ivybridge/Haswell do not have spec-compliant Vulkan drivers. This hardware is considered incomplete/experimental by the hardware vendor.

It would be more productive to figure out what bugs are left in the driver that lead to https://gitlab.freedesktop.org/mesa/mesa/-/commit/295e5a17da53958c58d6029c6e6cf1e4a7149711.

Nnariox 2020-09-17 github

I figured as much. Thankfully DX9 remains functional and Proton is versioned in a way that I can always use an older version.

Particularly I wanted to have Overcooked 1 running alright on my machine. Overcooked 2 (native) runs beautifully, despite being much newer, but Overcooked is only playable with DXVK enabled (on my particular system).

Should I close this?

Also, thanks for showing that commit. I remember searching mesa for this extension, but I couldn't find this.

EDIT: Whadyaknow? Someone did the work for me: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3532 :)

Aaeikum 2020-09-24 github

Yeah, we won't be doing this. You'll need to convince DXVK to support your GPU. You can drop older versions of DXVK into your Proton installation (they live in dist/lib64/wine/dxvk and dist/lib/wine/dxvk), although they will be overwritten when Proton updates, and obviously this isn't officially supported.

Nnariox 2020-09-29 github

Makes sense. That's what I have been doing with the GE builds. Still, if one can make others do his work, one has to try. :wink:
Hopefully we get VK_EXT_transform_feedback on Gen 7+. Thank you for taking a look a this.

Nnariox 2020-10-07 github

@gort818 Yeah, I saw it. Thanks! I tested when the patches first came out (https://gitlab.freedesktop.org/mesa/mesa/-/issues/3532), but dumbly forgot to compile the lib32 version as well. It has been working great.

Nothing extracted yet.