Closed DomiStyle closed 1 year ago
I have the same issue, also on AMD. Becomes very apparent with some (but not all) NPCs in Bright Falls:
Are you able to test if the amdvlk driver shows the same issue
@Blisto91 Having the same GPU, same vkd3d-proton version with the exact same issue.
I have manually deleted the vkd3d-proton.cache
between each test. But the AMD drivers cant get past this line:
437.198:06ec:07c4:info:vkd3d-proton:vkd3d_pipeline_library_disk_thread_main: Done performing async setup of stream archive.
Also I don't think that the texture is 'missing'. I assume the texture is there but the shader messes with the scaling. Here you can see that there is a tiny repeating pattern on the stone wall.
Isn't the FBI text on the jacket fully gone though
@Blisto91 this issue is likely related to Mesh Shaders, this game has a pixel shader fallback path for GPUs without mesh shaders, you can use VKD3D_DISABLE_EXTENSIONS=VK_EXT_mesh_shader to force that pixel shader path, and those issues disappear.
Anyone with a nvidia GPU featuring Mesh Shaders can test it? its likely a RADV issue but could be something in VKD3D as well.
I'm on a 6950XT and have the same issue.
@Blisto91 this issue is likely related to Mesh Shaders, this game has a pixel shader fallback path for GPUs without mesh shaders, you can use VKD3D_DISABLE_EXTENSIONS=VK_EXT_mesh_shader to force that pixel shader path, and those issues disappear.
Adding this ENV unfortunately freezes my whole computer after loading a save.
@monkhaze try forcing shader model and feature level as well, e.g: VKD3D_DISABLE_EXTENSIONS=VK_EXT_mesh_shader VKD3D_FEATURE_LEVEL=12_0 VKD3D_SHADER_MODEL=6_5 %command%
also make sure to use latest vkd3d and proton/wine-ge version.
@monkhaze try forcing shader model and feature level as well, e.g:
VKD3D_DISABLE_EXTENSIONS=VK_EXT_mesh_shader VKD3D_FEATURE_LEVEL=12_0 VKD3D_SHADER_MODEL=6_5 %command%
also make sure to use latest vkd3d and proton/wine-ge version.
Thanks for the suggestions. Unfortunately it seems to be acting the same way.
What versions I'm currently using:
I also tried with wine-ge, proton-ge-custom but the result is the same with disabled mesh shader.
@monkhaze i'm on mesa-git, that may be the reason it works on my end, or maybe your shader cache or the part of the game where you are is triggering this specific crash, try deleting vkd3d / radv cache and load the earliest save file you can find.
This would be just for testing though, not using mesh shaders incurs at least -100% perf
Same here, tested different wine version. When I disable mesh shader, the game just black-screened. I'll try mesa-git now.
Isn't the FBI text on the jacket fully gone though
If you look at the clothing, you can see a very tiny moire effect. Especially on Alan's coat. I feel like the texture is scaled down by a very large factor, repeated over and over again and maybe mashed together to a few pixels by mip-mapping.
Edit: After updating to mesa-git, the moire effect is gone and the clothing looks slightly different. Now the texture is missing for real. But disabling mesh-shaders still doesn't work.
@Arcus92 you sure you are using vkd3d-git? try adding AW2 as non-steam, use proton-experimental and set proton-experimental branch to bleeding-edge, you may need to pass %command% -epicportal
if drm messages appear, as well as install vcrun2015-2022, best installed with protontricks by grabbing non-steam id with protontricks --list
and installing with protontricks 'gameid' uninstaller
Same things on AMD Radeon XT 6900 XT here, with Yesterday's and Today's Mesa from git master (self built).
GPU0:
apiVersion = 1.3.267
driverVersion = 23.99.99
vendorID = 0x1002
deviceID = 0x73bf
deviceType = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
deviceName = AMD Radeon RX 6900 XT (RADV NAVI21)
driverID = DRIVER_ID_MESA_RADV
driverName = radv
driverInfo = Mesa 24.0.0-devel (git-4f892ecc1e)
conformanceVersion = 1.3.0.0
deviceUUID = 00000000-4400-0000-0000-000000000000
driverUUID = 414d442d-4d45-5341-2d44-525600000000
I am using Heroic launcher, with Proton-GE-Proton8-21. No Mangohud, or other layers.
Disabling mesh sharers via env var, results in a popup:
But dismissing, it does start.
Cursor does not show in main menu, but otherwise I can start the game.
The textures looks good:
Performance is noticeably lower. Maybe 30–60% lower fps.
Also faces now render correctly (with a lot of texture detail, and bump maps, etc, where previously it was very flat and blurry, if not uniform color).
Same things on AMD Radeon XT 6900 XT here, with Yesterday's and Today's Mesa from git master (self built).
GPU0: apiVersion = 1.3.267 driverVersion = 23.99.99 vendorID = 0x1002 deviceID = 0x73bf deviceType = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU deviceName = AMD Radeon RX 6900 XT (RADV NAVI21) driverID = DRIVER_ID_MESA_RADV driverName = radv driverInfo = Mesa 24.0.0-devel (git-4f892ecc1e) conformanceVersion = 1.3.0.0 deviceUUID = 00000000-4400-0000-0000-000000000000 driverUUID = 414d442d-4d45-5341-2d44-525600000000
I am using Heroic launcher, with Proton-GE-Proton8-21. No Mangohud, or other layers.
Disabling mesh sharers via env var, results in a popup:
But dismissing, it does start.
Cursor does not show in main menu, but otherwise I can start the game.
The textures looks good:
Performance is noticeably lower. Maybe 30–60% lower fps.
Also faces now render correctly (with a lot of texture detail, and bump maps, etc, where previously it was very flat and blurry, if not uniform color).
I tried this and it fixed the texture issue, but not only was performance worse but the audio was all messed up for me as well.
I tried this and it fixed the texture issue, but not only was performance worse but the audio was all messed up for me as well.
@nebadon2025 Yes, audio is more choppy. It usually starts fine, but after a bit of time, it gets stuttery, like audio generation is not keeping up with the game. My guess is that once you disable mesh shaders, game and driver are more CPU bound, and all these threads run at same scheduler priority (only some disk loading/saving threads run at low priority), and it is just not enough spare CPU cycles to run fast enough or something.
I found that manually changing priority of some threads to real time priority, does help with audio:
for T in /proc/$(pgrep --exact --newest AlanWake2.exe)/task/*; do
if grep -q -F -e "winepulse_mainl" -e "winepulse_timer" -e "FAudio_AudioCli" -e "wine_xinput_hid" "${T}/comm"; then
printf "%s %-16s " "${T}" "$(cat "${T}/comm")"
sudo schedtool -F -p 90 "$(echo $T | awk -F/ '{print $5;}')"
fi
done
You can also add -e "WSI swapchain q" -e "vkd3d_fence" -e "vkd3d_queue" -e "dxvk-cs" -e "dxvk-submit" -e "vkd3d-swapchain"
to the list if you want to experiment, but it actually probably makes things worse.
its running alright on 24 thread cpu on my audio setup since the video i upload on youtube didn't record any audio in game since i have no idea how to record it on linux but importantly i made video to shown a difference between with disable mesh shaders and one with nothing change ...your audio seems might be issue on difference by amount of cpu cores or difference in cpu architecture that i don't know much but i do know that anyone with less than 8 cores ...it might be reason its choppy, and you onto something with reason mesh shaders is not computing right that its not proper handle correctly by cpu cores between both videos i made before and after on cpu cores usage plus i did have to add this in env RADV_PERFTEST=ext_ms,aco,gpl,sam,nggc,ngg_streamout,rtwave64 to not crash the game
after https://youtu.be/EdtOJ8rHs9A?si=vXPPkirRP_AlY7gB
before https://youtu.be/ZZTFUPigYPE?si=ZbwoMOELSpfG8a9B
remember this is on my 7900xtx...i lost substanial fps than running on windows is 60% more fps, and thing is on linux its same fps as running with RT on low even its not rendering correctly with amd fluid frames beta drivers vs alan wake beta driver does not ihave fluid and they remove antilag+ , not cool for amd doing this and make 2 separate drivers for windows users
@DRIVANnega This is off topic.
Please lets keep this issue about missing textures / blurry textures, when using mesh shaders. And delete unrelated comments.
i didn't see missing textures when testing when disabling vkd3d mesh shaders function, it need to be fix
i guess it shows in different setups with missing fbi letters that they find more than missing textures , even steam deck is rendering like that but at bellow 30 fps but remember, did amd been glorify overhype starfield game for exclusive launching 7800xt and 7700xt while making it complicated to get it run on nvidia cards ??? now here we are with this game when tables now turn on amd this time, the more i say it , it keeps gets funnier for every time i see it , what do you want me to say ???
So does anyone know if this is mesa radv related or vkd3d proton?
If it is a radv issue an issue should be made on their gitlab
Same problem on 6800xt, fixed by disabling Mesh Shader, performance became much lower. The fix works only on mesa-git
So does anyone know if this is mesa radv related or vkd3d proton?
No it hasn't been looked at closer yet. The issue here was just so it didn't get lost until then.
Someone made a MESA issue. https://gitlab.freedesktop.org/mesa/mesa/-/issues/10060
I can confirm missing textures and clay-like polygon meshes despite using freshly built mesa-git and vkd3d-proton master. PS: Also the frame times are a not quite flat but fluctuating despite using vsync on. Might be related to the main issue with mesh shaders.
At the moment, it is unclear if this is vkd3d issue, game bug, or Mesa issue. Unfortunately I could not run with mesh shaders on AMDVLK to cross-check, due to a lack of taskShader
feature in AMDVLK - as explained in https://github.com/GPUOpen-Drivers/AMDVLK/issues/341 and https://github.com/GPUOpen-Drivers/AMDVLK/issues/324
I will try to use renderdoc or something to capture some traces on Mesa.
renderdoc does not support mesh shaders yet
@Blisto91 Thanks, good to know. Also it fails to run for me anyway - in Heroic, I added /usr/bin/renderdoccmd capture
as a wrapper, and it just does some weird things, and makes game complain about some data directories.
I think I got it working with a couple of unmerged MRs for mesa and vkd3d.
I built mesa with 25530, 25659 and 25890, and vkd3d-proton with #1745 and #1749. The face textures and FBI jackets appear normal now (on RX 6800 XT):
Most likely not all of these MRs are required (as discovered by @baryluk, only mesa MR 25659 is really needed). If you want to try this, it's easy to use a patched mesa just for the game without messing up the entire system: https://gist.github.com/Venemo/a9483106565df3a83fc67a411191edbd
You can apply these patches by running the following command in your mesa git repo:
curl -sL https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25659.patch | git am
@kkoniuszy Thx. Testing now. I have my own easy to use script (for Debian, and sometimes Ubuntu), that I was using for few years: https://gist.github.com/baryluk/1041204eff4cc4fad6f1508afe67b562
I think I got it working with a couple of unmerged MRs for mesa and vkd3d.
I built mesa with 25530, 25659 and 25890, and vkd3d-proton with #1745 and #1749. The face textures and FBI jackets appear normal now (on RX 6800 XT):
Most likely not all of these MRs are required - I just picked everything that looked like mesh shader related fixes. If you want to try this, it's easy to use a patched mesa just for the game without messing up the entire system: https://gist.github.com/Venemo/a9483106565df3a83fc67a411191edbd
You can apply these patches by running the following command in your mesa git repo:
for mr in 25530 25659 25890; do curl -sL https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/$mr.patch | git am; done
and the following one in your vkd3d-proton repo:for mr in 1745 1749; do curl -sL https://github.com/HansKristian-Work/vkd3d-proton/pull/$mr.patch | git am; done
Can this method be suggested as a fix for Proton-GE?
@kkoniuszy poggers, i read gfx11 and ignored thinking its rdna3, its just nir code, that works perfectly, thank you
Applying https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25659 to current mesa-git is sufficient.
Yay!
Can this method be suggested as a fix for Proton-GE?
@dao-ken no, Proton-GE does not bundle Mesa. The issue will be fixed when 25659 gets merged and a new Mesa version with it gets released (and packaged by distro maintainers).
Applying https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25659 to current mesa-git is sufficient.
Yay!
@baryluk Thanks, I edited my previous comment.
It works just fine, thanks to all smart guys who have figured out so quickly and solved the problem! =)
Confirmed! It works! :)
Confirmed! It works! :)
hi do u have a tutorial video on how to apply this fix? or step by step where to start? im suffering the same issues textures takes longer to load and sometime missing, map textures too is so slow, thank u
hi do u have a tutorial video on how to apply this fix? or step by step where to start? im suffering the same issues textures takes longer to load and sometime missing, map textures too is so slow, thank u
Don't worry, i am already figuring out a way, to make the patched mesa radv package available for the linux community. I think the best way is to use it per vulkan-icd-loader and not replacing it with the system's mesa repo.
Don't worry, i am already figuring out a way, to make the patched mesa radv package available for the linux community.
can u do it for windows too? thank u
mesa radv
does it work for Nvidia Users?
hi do u have a tutorial video on how to apply this fix? or step by step where to start? im suffering the same issues textures takes longer to load and sometime missing, map textures too is so slow, thank u
It works just fine, thanks to all smart guys who have figured out so quickly and solved the problem! =)
hi do u have a tutorial video on how to apply this fix? or step by step where to start? im suffering the same issues textures takes longer to load and sometime missing, map textures too is so slow, thank u
The above is about a Vulkan AMD driver on Linux. It won't do anything for Nvidia users and the game doesn't use Vulkan on Windows. If you are having issues on Windows report it to the game devs. Or Nvidia if a driver bug is suspected.
The above is about a Vulkan AMD driver on Linux. It won't do anything for Nvidia users and the game doesn't use Vulkan on Windows. If you are having issues on Windows report it to the game devs. Or Nvidia if a driver bug is suspected.
thanks for the info bro
can u do it for windows too? thank u
Sorry friend, but this is not possible. Mesa radv is a special open source linux driver for amd gpus, accessable to us. As for amd's windows driver though the only people being able to regularly adjust that driver are amd developers themselves.
does it work for Nvidia Users?
I am afraid, nvidia gpu owners have no choice but to contact nvidia's support. Nvidia's drivers for both OS, namely windows and linux are proprietary, meaning closed source. Nouveau and nvk are not a viable option at the moment. But hopefully they will be in a couple of years or sooner.
can u do it for windows too? thank u
Sorry friend, but this is not possible. Mesa radv is a special open source linux driver for amd gpus, accessable to us. As for amd's windows driver though the only people being able to regularly adjust that driver are amd developers themselves.
does it work for Nvidia Users?
I am afraid, nvidia gpu owners have no choice but to contact nvidia's support. Nvidia's drivers for both OS, namely windows and linux are proprietary, meaning closed source. Nouveau and nvk are not a viable option at the moment. But hopefully they will be in a couple of years or sooner.
thanks for this info bro, i hope the devs fix this issues soon it really breaks the immersion,
I think I got it working with a couple of unmerged MRs for mesa and vkd3d.
I built mesa with ~25530~, 25659 and ~25890~, and ~vkd3d-proton with #1745 and #1749~. The face textures and FBI jackets appear normal now (on RX 6800 XT):
Most likely not all of these MRs are required (as discovered by @baryluk, only mesa MR 25659 is really needed). If you want to try this, it's easy to use a patched mesa just for the game without messing up the entire system: https://gist.github.com/Venemo/a9483106565df3a83fc67a411191edbd
You can apply these patches by running the following command in your mesa git repo:
curl -sL https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25659.patch | git am
Thanks for the help, i followed the guide and i think i compiled it correctly because running "vkmark" through the "mesa-run" script seems to work fine.
Being new to gaming on Linux i'm struggling finding a way to run the script and launching the game using the "Heroic Games Launcher", do you guys have any tip on how i could do it?
Thanks for the help, i followed the guide and i think i compiled it correctly because running "vkmark" through the "mesa-run" script seems to work fine.
Being new to gaming on Linux i'm struggling finding a way to run the script and launching the game using the "Heroic Games Launcher", do you guys have any tip on how i could do it?
If you open game settings, you should be able to add a wrapper script:
It should be similar when using mesa-run.sh
from Venemo
Alternatively exit Heroic launcher, and start entire Heroic launcher using mesa-run.sh
. It should also work then for everything started from Heroic launcher. (environment variables are inherited by all child processes)
Thanks for the help, i followed the guide and i think i compiled it correctly because running "vkmark" through the "mesa-run" script seems to work fine. Being new to gaming on Linux i'm struggling finding a way to run the script and launching the game using the "Heroic Games Launcher", do you guys have any tip on how i could do it?
If you open game settings, you should be able to add a wrapper script:
It should be similar when using
mesa-run.sh
from VenemoAlternatively exit Heroic launcher, and start entire Heroic launcher using
mesa-run.sh
. It should also work then for everything started from Heroic launcher. (environment variables are inherited by all child processes)
Thank you so much, both methods seem to work, the texture issue is fixed but sadly my performance has tanked:
Don't worry, i am already figuring out a way, to make the patched mesa radv package available for the linux community. I think the best way is to use it per vulkan-icd-loader and not replacing it with the system's mesa repo.
Is there any way we can do this for flatpaks? In flatpak I have 23.1.9 and can't get latest mesa-git, I can get to 23.3.0 but that's installing mesa-git of flathub-beta.
As mentioned in https://github.com/HansKristian-Work/vkd3d-proton/issues/1753#issuecomment-1783597078
Textures in Alan Wake II are "missing". See screenshots for details.
For comparison from a Youtube playthrough:
Software information
Alan Wake II, on any settings.
System information
Log files
steam-18084208946599428096.log
Log file shows game start, ingame and game exit.