protonscr

The Matrix Awakens textures are missing/broken/don't load (Compiled from UE5.1)

vkd3dclosed
HansKristian-Work/vkd3d-proton#1229 · opened 2022-09-11 by p0ryae · updated 2025-01-14 · 17 comments · github
Pp0ryae 2022-09-11 github

When launching Matrix Awakens by using proton, the game is pretty smooth and the character skins and NPC skins load, but when it comes to loading the world textures, car textures and road textures the game fails to do so.

image

  • Xserver version: 1.21.1.4
  • DXVK version: vkd3d-proton-2.6.0
  • Wine/Proton version: Proton Experimental Bleeding-Edge-7.0-245

More Information: After a bit of research and inspection, it seems VKD3D-Proton does not support this. The shader model 6.6 code path seems to be broken in the demo. Personally think it depends on NvAPI to use 64bit atomics in shaders.

KK0bin 2022-09-11 github

Personally think it depends on NvAPI to use 64bit atomics in shaders.

Exactly that.

Pp0ryae 2022-09-11 github

But shouldn't dxvk-nvapi take care of that?

KK0bin 2022-09-11 github

No, the vkd3d-proton shader compiler(s) would have to be aware of it.

Pp0ryae 2022-09-11 github

At the current stage of the development, is there a possibility of it being a thing near the future?

HHansKristian-Work maintainer 2022-09-12 github

Not really. We support SM 6.6 as the standard way to use 64-bit atomics.

Nnmercaldo 2022-09-23 github

Hey @DashCruft

I've got a project (with patches ) here for getting the city sample up and running under wine + vkd3d-proton.

https://github.com/ParaLock/UE5OnWine

The only missing pieces are some shader overrides you will need to do. (A couple infinite for loops)

Basically in UE5 dev they have enabled sm 6.6 features which allow the engine to avoid using nvidia extensions

Pp0ryae 2022-09-23 github

Hey @DashCruft

I've got a project (with patches ) here for getting the city sample up and running under wine + vkd3d-proton.

https://github.com/ParaLock/UE5OnWine

The only missing pieces are some shader overrides you will need to do. (A couple infinite for loops)

Basically in UE5 dev they have enabled sm 6.6 features which allow the engine to avoid using nvidia extensions

Omg...That's amazing. Going to test it right now without a doubt.

PParaLock 2022-09-23 github

@DashCruft,

Hey! Its nmercaldo again (this time from my non-school git account). If you are not using a newer build of the engine you will want to use the sm 6.6 patch from this commit:

https://github.com/ParaLock/UE5OnWine/blob/9f0c55f0f295a14ec3f512f9feb47d48cf70b72f/fix_shader_model_6_6.patch

I removed those fixes from later versions of the file due to them being present in the dev branch.

Pp0ryae 2022-09-23 github

Hm there's a bit of confusion I got. How may I use the patch with the current build of the game that I have?

PParaLock 2022-09-23 github

Hey @DashCruft,

Are you compiling the engine from source? If so try applying the patches as described in the repo. Unfortunately if you are not, your kinda out of luck, at least until UE removes vendor extension use on their end.

Pp0ryae 2022-09-23 github

Thanks. I will re-compile it with the patch as you describe and keep this thread updated.

PParaLock 2022-09-23 github

@DashCruft best of luck! Unfortunately I will be unable to provide additional support but I can definitely say that I was able to run city sample with nvidia hardware. :)

Pp0ryae 2022-09-23 github

@ParaLock When applying the patch (or even other patches) to the cloned unreal engine repo, I come up with this error:

image

Something doesn't seem to be applying right.

HHansKristian-Work maintainer 2022-09-23 github

The only missing pieces are some shader overrides you will need to do. (A couple infinite for loops)

Could you elaborate what this means? Is there a dxil-spirv bug you're trying to work around here?

BBlisto91 2024-01-29 github

@nmercaldo Friendly ping

Pp0ryae 2024-01-29 github

I think you should ping his main account for faster response.

@ParaLock friendly ping

HHansKristian-Work maintainer 2025-01-14 github

Closing as non-actionable.

Proton versions