nuclei
September 8, 2023, 5:28pm
24
I continued testing to find a potential temporary fix. While the shader_model=6_6 helped starting the game, I now encounter constant crashes while playing for either a few seconds or a few minutes, and also confirmed this works with both 530 and 525 drivers, and the 525 version shows more clear graphic corruption and artifacts than 530. However both seem equally unstable, exiting the game with Xid 11 (which is apparently “Invalid or corrupted push buffer stream”). Sometimes the freeze requires rebooting the computer entirely, as it is not fixable.
I tested all 535 driver versions available on custom versions in github/nvidia-all, none of them manage to get in game, they crash during loading, or at loading end.
I tested this potential fix for crash issues:
opened 03:35PM - 07 Sep 23 UTC
Salamu alaykum friends of the penguin,
This solution is for special case vkd3… d freezes and crashes, reported by a minority of amd gpu users [here](https://github.com/ValveSoftware/Proton/issues/7064).
The bigger nvidia issues are obviously another story due to [NV_device_generated_compute](https://github.com/HansKristian-Work/vkd3d-proton/issues/1678#issuecomment-1702489043).
Nonetheless this finding might help the latter as well.
I haven't found any hints to this solution on the game's dedicated [protondb](https://www.protondb.com/app/1716740). I could have posted it there, but it could have been lost in the flood of reports. Due to it's special and rare nature, it could rather shed some light for the devs on possible root causes of the freezes and crashes to strengthen vkd3d's basis. If this solution is trivial though, i am going to close this post.
I experience reproducible freezes and crashes after 1-2 minutes, every time i launch the game.
I tried the following workarounds without any success.:
- put the in-game-settings to low, deactivated FSR and VRS
- deactivated ReBar temporarily per RADV_PERFTEST=nosam and as a rule-out i also set VKD3D_CONFIG=no_upload_hvv
- activated VKD3D_CONFIG=force_compute_root_parameters_push_ubo taken from this [thread](https://github.com/HansKristian-Work/vkd3d-proton/issues/1678)
Additionally i followed this vkd3d's dev recommendation from [here](https://github.com/HansKristian-Work/vkd3d-proton/issues/1678#issuecomment-1702489043) and did the following.:
- ugraded to newer kernel, currently 6.5.2-250.vanilla.fc38.x86_64
- upgraded to mesa git
- i built a fresh vkd3d-proton master
However i found the solution just benath the environment variable no_upload_hvv on the [vkd3d-proton github page](https://github.com/HansKristian-Work/vkd3d-proton).
After deleting every env. var. and just adding the following one, i experienced no more crashes or freezes.:
> VKD3D_CONFIG=force_host_cached
With this the game ran stable. After about half an hour i closed the game. To rule out margins of errors, i removed that env. var. and relaunched the game. And again the game freezed and crashed after 1-2 minutes after launch. But as soon, as i added back VKD3D_CONFIG=force_host_cached, the game ran stable throughout the test. I was able to observe this behavior in three rounds of testing.
I am going to add the logs per VKD3D_LOG_FILE for both test scenarios at the end of this report.
### Software information
Starfield, with settings from low to ultra
### System information
- GPU: RX 6650 XT
- Driver: mesa-git 23.3.0-devel
- Wine version: wine-ge-proton8-14
- VKD3D-Proton version: v2.9La5b0291b
### Log files
log file after the freeze and crash:
[starfield-vkd3d - freeze-and-crash.log](https://github.com/HansKristian-Work/vkd3d-proton/files/12550813/starfield-vkd3d.-.freeze-and-crash.log)
log file of stable run per VKD3D_CONFIG=force_host_cached
[starfield-vkd3d - runs stable per force_host_cached.log](https://github.com/HansKristian-Work/vkd3d-proton/files/12550821/starfield-vkd3d.-.runs.stable.per.force_host_cached.log)
Which requires adding:
VKD3D_CONFIG=no_upload_hvv VKD3D_CONFIG=force_host_cached
to already used VKD3D_SHADER_MODEL=6_6
But this does not help.
I will try using gamescope to remedy the crash issues as suggested by someone on Protondb (believed to arise from alt-tabbing in game). Although I am dubious of the claim since I do not tab out and the crash appear anyway.
Thanks again
1 Like
Driver 525.125.06 patched for kernel 6.5.1 is the most stable combination I’ve tested so far, allowing the game to played for extended periods with terrible performance but no crashing. Patching driver 530.41.03 for kernel 6.4.14 allows for greatly improved performance at the cost of random crashing on loading screens.
This issue is directly related to a bug with VK_NV_device_generated_commands_compute in driver version 530+
More information about the issue:
HansKristian-Work:master
← HansKristian-Work:dgc-compute
opened 09:29AM - 26 Jul 23 UTC
Simple implementation. Just needs to consider that COMPUTE tokens can also be us… ed as well and need to use the correct bind_points for pipeline layouts, etc.
VKD3D_TEST_FILTER=multi_dispatch passes on RADV with MR: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24275
Fails on latest NV beta with:
```
d3d12:608: Driver name: NVIDIA, driver info: 525.47.34.
2cac:info:vkd3d_pipeline_library_disk_thread_main: Performing async setup of stream archive ...
2cac:info:vkd3d_pipeline_library_disk_cache_merge: No write cache exists. No need to merge any disk caches.
2cac:info:vkd3d_pipeline_library_disk_cache_initial_setup: Merging pipeline libraries took 0.019 ms.
2cac:info:vkd3d_pipeline_library_disk_cache_initial_setup: Mapping read-only cache took 0.023 ms.
2cac:info:vkd3d_pipeline_library_disk_cache_initial_setup: Parsing stream archive took 0.003 ms.
2cac:info:vkd3d_pipeline_library_disk_cache_initial_setup: Cannot load existing on-disk cache due to driver version mismatch.
2cac:info:vkd3d_pipeline_library_disk_thread_main: Done performing async setup of stream archive.
d3d12: ======== test_execute_indirect_multi_dispatch begin ========
2ca0:info:vkd3d_get_vk_version: vkd3d-proton - applicationVersion: 2.9.0.
2ca0:info:vkd3d_instance_init: vkd3d-proton - build: bef79dabe5cc2d9.
2ca0:fixme:debug_vk_queue_flags: Unrecognized flag(s) 0x20.
2ca0:fixme:debug_vk_queue_flags: Unrecognized flag(s) 0x40.
2ca0:fixme:debug_vk_queue_flags: Unrecognized flag(s) 0x100.
2ca0:info:vkd3d_memory_info_upload_hvv_memory_properties: Topology: No more than 1 device local heap, assuming ReBAR-style access. Using DEVICE_LOCAL | HOST_COHERENT for UPLOAD.
2ca0:info:vkd3d_memory_info_init_budgets: Applying resizable BAR budget to memory types: 0x10.
2ca0:info:vkd3d_bindless_state_get_bindless_flags: Device supports VK_EXT_mutable_descriptor_type.
2ca0:info:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
2ca0:info:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
2ca0:info:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
2ca0:info:d3d12_device_caps_init_shader_model: Enabling support for SM 6.6.
2ca0:fixme:d3d12_device_caps_init_feature_options1: TotalLaneCount = 4416, may be inaccurate.
2ca0:info:vkd3d_pipeline_library_init_disk_cache: Attempting to load disk cache from: vkd3d-proton.cache.
2cb4:info:vkd3d_pipeline_library_disk_thread_main: Performing async setup of stream archive ...
2cb4:info:vkd3d_pipeline_library_disk_cache_merge: No write cache exists. No need to merge any disk caches.
2cb4:info:vkd3d_pipeline_library_disk_cache_initial_setup: Merging pipeline libraries took 0.013 ms.
2cb4:info:vkd3d_pipeline_library_disk_cache_initial_setup: Mapping read-only cache took 0.013 ms.
2cb4:info:vkd3d_pipeline_library_disk_cache_initial_setup: Parsing stream archive took 0.002 ms.
2cb4:info:vkd3d_pipeline_library_disk_cache_initial_setup: Cannot load existing on-disk cache due to driver version mismatch.
2cb4:info:vkd3d_pipeline_library_disk_thread_main: Done performing async setup of stream archive.
2cb4:info:vkd3d_pipeline_library_disk_thread_main: Pipeline cache marked dirty. Flush is scheduled.
d3d12: ======== test_execute_indirect_multi_dispatch end ==========
d3d12: ======== test_execute_indirect_multi_dispatch_root_constants begin ========
2ca0:info:vkd3d_get_vk_version: vkd3d-proton - applicationVersion: 2.9.0.
2ca0:info:vkd3d_instance_init: vkd3d-proton - build: bef79dabe5cc2d9.
2ca0:fixme:debug_vk_queue_flags: Unrecognized flag(s) 0x20.
2ca0:fixme:debug_vk_queue_flags: Unrecognized flag(s) 0x40.
2ca0:fixme:debug_vk_queue_flags: Unrecognized flag(s) 0x100.
2ca0:info:vkd3d_memory_info_upload_hvv_memory_properties: Topology: No more than 1 device local heap, assuming ReBAR-style access. Using DEVICE_LOCAL | HOST_COHERENT for UPLOAD.
2ca0:info:vkd3d_memory_info_init_budgets: Applying resizable BAR budget to memory types: 0x10.
2ca0:info:vkd3d_bindless_state_get_bindless_flags: Device supports VK_EXT_mutable_descriptor_type.
2ca0:info:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
2ca0:info:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
2ca0:info:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
2ca0:info:d3d12_device_caps_init_shader_model: Enabling support for SM 6.6.
2ca0:fixme:d3d12_device_caps_init_feature_options1: TotalLaneCount = 4416, may be inaccurate.
2ca0:info:vkd3d_pipeline_library_init_disk_cache: Attempting to load disk cache from: vkd3d-proton.cache.
2cbe:info:vkd3d_pipeline_library_disk_thread_main: Performing async setup of stream archive ...
2cbe:info:vkd3d_pipeline_library_disk_cache_merge: Merging disk caches.
2cbe:info:vkd3d_pipeline_library_disk_cache_merge: Read-only cache is out of date, discarding it.
2cbe:info:vkd3d_pipeline_library_disk_cache_merge: Successfully promoted write cache to read cache.
2cbe:info:vkd3d_pipeline_library_disk_cache_initial_setup: Merging pipeline libraries took 0.113 ms.
2cbe:info:vkd3d_pipeline_library_disk_cache_initial_setup: Mapping read-only cache took 0.007 ms.
2cbe:info:vkd3d_pipeline_library_disk_cache_initial_setup: Parsing stream archive took 0.004 ms.
2cbe:info:vkd3d_pipeline_library_disk_thread_main: Done performing async setup of stream archive.
2cbe:info:vkd3d_pipeline_library_disk_thread_main: Pipeline cache marked dirty. Flush is scheduled.
test_execute_indirect_multi_dispatch_root_constants:1884: Todo succeeded: Failed to create command signature, hr #0.
test_execute_indirect_multi_dispatch_root_constants:1954: Test failed: Iteration 0: Expected 90007, got 7.
test_execute_indirect_multi_dispatch_root_constants:1954: Test failed: Iteration 1: Expected 969370, got 7.
test_execute_indirect_multi_dispatch_root_constants:1954: Test failed: Iteration 2: Expected 138007, got 7.
test_execute_indirect_multi_dispatch_root_constants:1954: Test failed: Iteration 3: Expected 861955, got 7.
test_execute_indirect_multi_dispatch_root_constants:1954: Test failed: Iteration 4: Expected 138007, got 7.
test_execute_indirect_multi_dispatch_root_constants:1954: Test failed: Iteration 5: Expected 888658, got 7.
test_execute_indirect_multi_dispatch_root_constants:1954: Test failed: Iteration 6: Expected 559252, got 7.
test_execute_indirect_multi_dispatch_root_constants:1954: Test failed: Iteration 7: Expected 1029832, got 7.
d3d12: ======== test_execute_indirect_multi_dispatch_root_constants end ==========
d3d12: ======== test_execute_indirect_multi_dispatch_root_descriptors begin ========
2ca0:info:vkd3d_get_vk_version: vkd3d-proton - applicationVersion: 2.9.0.
2ca0:info:vkd3d_instance_init: vkd3d-proton - build: bef79dabe5cc2d9.
2ca0:fixme:debug_vk_queue_flags: Unrecognized flag(s) 0x20.
2ca0:fixme:debug_vk_queue_flags: Unrecognized flag(s) 0x40.
2ca0:fixme:debug_vk_queue_flags: Unrecognized flag(s) 0x100.
2ca0:info:vkd3d_memory_info_upload_hvv_memory_properties: Topology: No more than 1 device local heap, assuming ReBAR-style access. Using DEVICE_LOCAL | HOST_COHERENT for UPLOAD.
2ca0:info:vkd3d_memory_info_init_budgets: Applying resizable BAR budget to memory types: 0x10.
2ca0:info:vkd3d_bindless_state_get_bindless_flags: Device supports VK_EXT_mutable_descriptor_type.
2ca0:info:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
2ca0:info:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
2ca0:info:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
2ca0:info:d3d12_device_caps_init_shader_model: Enabling support for SM 6.6.
2ca0:fixme:d3d12_device_caps_init_feature_options1: TotalLaneCount = 4416, may be inaccurate.
2ca0:info:vkd3d_pipeline_library_init_disk_cache: Attempting to load disk cache from: vkd3d-proton.cache.
2cc8:info:vkd3d_pipeline_library_disk_thread_main: Performing async setup of stream archive ...
2cc8:info:vkd3d_pipeline_library_disk_cache_merge: Merging disk caches.
2cc8:info:vkd3d_pipeline_library_disk_cache_merge: Done merging shader caches, existing entries: 1, new entries: 1.
2cc8:info:vkd3d_pipeline_library_disk_cache_merge: Successfully replaced shader cache with merged cache.
2cc8:info:vkd3d_pipeline_library_disk_cache_initial_setup: Merging pipeline libraries took 0.163 ms.
2cc8:info:vkd3d_pipeline_library_disk_cache_initial_setup: Mapping read-only cache took 0.010 ms.
2cc8:info:vkd3d_pipeline_library_disk_cache_initial_setup: Parsing stream archive took 0.005 ms.
2cc8:info:vkd3d_pipeline_library_disk_thread_main: Done performing async setup of stream archive.
test_execute_indirect_multi_dispatch_root_descriptors:1714: Todo succeeded: Failed to create command signature, hr #0.
test_execute_indirect_multi_dispatch_root_descriptors:1779: Test failed: Value 0: Expected 24, got 0.
test_execute_indirect_multi_dispatch_root_descriptors:1779: Test failed: Value 1: Expected 420, got 0.
test_execute_indirect_multi_dispatch_root_descriptors:1779: Test failed: Value 2: Expected 1440, got 0.
test_execute_indirect_multi_dispatch_root_descriptors:1779: Test failed: Value 3: Expected 1188, got 0.
test_execute_indirect_multi_dispatch_root_descriptors:1779: Test failed: Value 4: Expected 4368, got 0.
test_execute_indirect_multi_dispatch_root_descriptors:1779: Test failed: Value 5: Expected 13650, got 0.
test_execute_indirect_multi_dispatch_root_descriptors:1779: Test failed: Value 6: Expected 19584, got 0.
test_execute_indirect_multi_dispatch_root_descriptors:1779: Test failed: Value 7: Expected 11970, got 0.
test_execute_indirect_multi_dispatch_root_descriptors:1779: Test failed: Value 8: Expected 96, got 0.
test_execute_indirect_multi_dispatch_root_descriptors:1779: Test failed: Value 9: Expected 840, got 0.
test_execute_indirect_multi_dispatch_root_descriptors:1779: Test failed: Value 10: Expected 1440, got 0.
test_execute_indirect_multi_dispatch_root_descriptors:1779: Test failed: Value 11: Expected 792, got 0.
test_execute_indirect_multi_dispatch_root_descriptors:1779: Test failed: Value 12: Expected 1092, got 0.
test_execute_indirect_multi_dispatch_root_descriptors:1779: Test failed: Value 13: Expected 2730, got 0.
test_execute_indirect_multi_dispatch_root_descriptors:1779: Test failed: Value 14: Expected 4896, got 0.
test_execute_indirect_multi_dispatch_root_descriptors:1779: Test failed: Value 15: Expected 2394, got 0.
d3d12: ======== test_execute_indirect_multi_dispatch_root_descriptors end ==========
d3d12: 81 tests executed (24 failures, 2 successful todo, 0 skipped, 0 todo, 0 bugs).
```
opened 02:17AM - 01 Sep 23 UTC
The game just crashes during the first loading screen.
The logs show
```
…
70498.977:0128:01dc:err:vkd3d-proton:vkd3d_view_map_create_view: Intense view map pressure! Got 1024 views in hash map 000000018dcd8dc8.
70498.977:0128:01dc:err:vkd3d-proton:vkd3d_view_map_create_view: Intense view map pressure! Got 1024 views in hash map 000000018dcd9048.
```
then a short bit later
```
70503.294:0128:0224:err:vkd3d-proton:d3d12_command_queue_execute: Failed to submit queue(s), vr -4.
70503.294:0128:0224:err:vkd3d-proton:d3d12_command_queue_execute: Failed to submit queue(s), vr -4.
70503.294:0128:0224:err:vkd3d-proton:d3d12_command_queue_execute: Failed to submit queue(s), vr -4.
70503.294:0128:0224:err:vkd3d-proton:d3d12_command_queue_execute: Failed to submit queue(s), vr -4.
70503.294:0128:0224:err:vkd3d-proton:d3d12_command_queue_signal: Failed to submit signal operation, vr -4.
```
and that repeats forever
### Software information
Starfield
Max settings and lowest settings
### System information
- GPU: RTX 4090
- Driver: 535-104-5
- Wine version: steam
- VKD3D-Proton version: steam proton experimental
### Log files
Please attach Proton or Wine logs as a text file:
[steam-1716740.log](https://github.com/HansKristian-Work/vkd3d-proton/files/12492227/steam-1716740.log)
Distro: Gentoo
Driver: 535.43.09
Kernel: 6.5.1
VKD3D: vkd3d: Enable NV_dgcc on newer drivers. · HansKristian-Work/vkd3d-proton@2044ea1 · GitHub
Proton: GE 8-14
Vulkan: 1.3.262
DE: i3 version 4.21-126-g30131ed6+
GPU: RTX 2080Ti
CPU: Ryzen 9 5950x
4 Likes
nuclei
September 9, 2023, 9:21am
26
Thanks, I’m also trying 525.125.06 on latest manjaro kernel 6.5.01, but it seems to crash a lot, I’m unsure if something changed as I thought day one of trying this that it was pretty good.
I often get Xid 11 but Xid 13 happens on a lot of crashes, again with a lot of graphical glitches it is quite remarkable it lasts a few minutes before crashing.
[ 1009.245913] NVRM: GPU at PCI:0000:07:00: GPU-b62e513b-bd4f-18c0-4e9b-2a046dd5d346
[ 1009.245918] NVRM: Xid (PCI:0000:07:00): 13, pid=‘’, name=, Graphics Exception: SKEDCHECK02_LOCA
L_MEMORY_LOW_SIZE failed
[ 1009.245921] NVRM: Xid (PCI:0000:07:00): 13, pid=‘’, name=, Graphics Exception: SKEDCHECK06_REGI
STER_COUNT failed
[ 1009.245923] NVRM: Xid (PCI:0000:07:00): 13, pid=‘’, name=, Graphics Exception: SKEDCHECK14_SHAR
ED_MEMORY_SIZE failed
[ 1009.245924] NVRM: Xid (PCI:0000:07:00): 13, pid=‘’, name=, Graphics Exception: SKEDCHECK16_CTA_
THREAD_DIMENSION_ZERO failed
[ 1009.245930] NVRM: Xid (PCI:0000:07:00): 13, pid=‘’, name=, Graphics Exception: ESR 0x407020=0xa
02200 0x407028=0xc00 0x40702c=0x10520fb 0x407030=0x0
[ 1009.246127] NVRM: Xid (PCI:0000:07:00): 13, pid=18763, name=Starfield.exe, Graphics Exception: ChID 00bf, Class 0
000c1c0, Offset 00000418, Data 00000000
Distro: Manjaro KDE Plasma
Driver: 535.43.09
Kernel: 6.5.1
Proton: GE 8-14
GPU: GTX 1080
CPU: Ryzen 5600x
Ty for putting more work into this nuclei than it appears nvidia is, will not be buying another one of their GPUs again.
2 Likes
nuclei
September 9, 2023, 10:42am
28
Idk, it seems NVIDIA is doing the responsible thing and tracking the bug, the timeline is likely a few days / a week / or more so they should have plenty of information to work on this.
You can also look at Starfield (1716740) · Issue #7064 · ValveSoftware/Proton · GitHub for people also trying things.
A fix should come at some point. Windows drivers are also not ideal at the moment, so there is a lot of work for NVIDIA rn.
1 Like
sheeen
September 9, 2023, 11:54am
29
Game has been released more than a week ago and no fix yet, Nvidia really don’t care about Linux customers, sad.
My next GPU will be branded AMD, I’m bored of those closed source drivers they don’t care about.
4 Likes
john307
September 9, 2023, 12:55pm
30
Really appreciate all the folks in the thread contributing so much great information for Nvidia. It’s a shame that nobody at Nvidia tried to launch such a highly anticipated game with their latest drivers at least once before release and instead relies on the community.
Hopefully we can see a fix soon but this is definitely making me second guess my graphics card purchase as a loyal Nvidia customer of many years and more recent adopter of Linux. Of course issues are expected from time to time but this is pretty blatant, I can’t imagine the uproar if Nvidia’s Windows customers found a similar level of bug on launch day.
1 Like
sheeen:
Game has been released more than a week ago and no fix yet, Nvidia really don’t care about Linux customers, sad.
My next GPU will be branded AMD, I’m bored of those closed source drivers they don’t care about.
Agreed. I’d only purchased my mobile 4080 & 4090 based laptops for DLSS3 (which is great) but second class support for open platforms (where the owner still retains control of their own hardware…) has overshadowed the benefit of DLSS3 in my jaded opinion. I’m now willing to suffer the inferior AMD performance in exchange for compatibility. Sad times today and darker times ahead I fear.
@Wen_Su Any deadlines on this one? I understand that linux community is not a priority for nv, however it would be nice for us to understand this fix will take days, weeks or months.
I can confirm everything that was said before, drivers 525xx drivers running around 20-30fps, 535xx drivers not working at all. Arch linux kernel 6.4.12 with RTX3070
1 Like
Sad reality of linux gaming is that this game is not designed to play on linux in any way and doesn’t have any linux distribution as a preferable operating system. So you should say “thanks” that Starfield uses vulkan as graphics API at first place, and when all this fixes will be shipped we can play it 140-150fps easy just because of vulkan.
So technically nvidia is fixing their products for a platform that doesn’t even supported by game devs in any way. This is roughly the same if I will complain about doom 2015 not running properly on chrome-os or ms-dos or whatever not supported OS out there.
Starfield uses DX12, not Vulkan.
vkd3d-proton which is included in Proton, is a D3D12 to Vulkan translation layer which does the heavy work here.
2 Likes
Yeah, thought they will support vulkan, sadly they don’t, so we’ll suffer a bit more
I am also having the issue where the game crashes on load screens. I can’t rollback to 530 (not compatible with 6.4 kernel) and version 525 is no longer available on my distro
nuclei
September 10, 2023, 10:36am
37
Are you using a rolling-release distro like Manjaro? It can be difficult to find and install the drivers you want.
If you can, try GitHub - Frogging-Family/nvidia-all: Nvidia driver latest to 396 series AIO installer
The following commands should help:
git clone https://github.com/Frogging-Family/nvidia-all.git
cd nvidia-all
makepkg -s
(you can use makepkg -si but I prefer doing a couple more commands)
Follow the prompt to choose if you want a specific version of 525, 530, 535, you can find the version you want with the following links:
Official Advanced Driver Search | NVIDIA (choose linux 64bit)
Releases · NVIDIA/open-gpu-kernel-modules · GitHub (these show additional releases but some are in the vulkan dev branch, not mainstream)
after makepkg -s, you have to do:
sudo pacman -U *.zst
To clean up the folder, I do:
mkdir tmp_zst
mv *.zst tmp_zst
After reboot, you should have the proper libraries for steam to launch and test the game.
3 Likes
Can we get an update for this? AMD users are happily playing away while we are still f****ed.
Wen_Su
September 11, 2023, 3:00pm
39
NVIDIA driver team is actively working on this bug. Here is a update from last week investigation. There appears to be 2 issues.
Failure to launch on Pascal GPU with “Error: Graphics card does not meet the minimal specifications requirements” is due to a missing extension required by VKD3D. Due to hardware limitation, it is not possible to add support.
Failure to launch on Turing and later GPUs. We are still working on a root cause for this.
Sorry for the inconvenience. We are still working hard on this bug. We are aiming to provide a fix in the next driver branch.
Wen
7 Likes
Thank you for the update and the hard work. I’m personally not familiar with how NVIDIA’s driver schedule is. Do you release drivers on a schedule, or wait for there to be enough substantial work done on a driver and then release it whenever that may be?
1 Like
Wen_Su
September 11, 2023, 5:56pm
41
I cannot give exact schedule for the next driver release which depends on many factors. There is a good cadence to the NVIDIA driver releases. You can view the history of official release drivers at the official site.
3 Likes
nuclei
September 11, 2023, 6:32pm
42
Thanks for the update Wen.
However, I think 1/ is very odd given that Pascal GPUs are well within the minimum requirements for the game, as well as able to run the game with the VKD3D_SHADER_MODEL=6_6 %command%
makes the game run properly.
Will you be able to fix the crashes with the latest additions to vkd3d-proton?
HansKristian-Work:master
← HansKristian-Work:dgc-conditional-rendering
opened 09:24PM - 07 Sep 23 UTC
The goal of this refactor is to optimize for cases where games (Starfield in par… ticular) uses advanced ExecuteIndirect in very inefficient ways.
- Indirect count, but indirect count ends up being 0.
- Non-indirect count, but none of the active draws inside the multi-draw indirect actually result in a draw. Multiple back-to-back ExecuteIndirects are called like this, causing big bubbles on the GPU.
In RADV, a special optimization was added which uses indirectCount in DGC as a predicate when possible. This lets us skip over the prepare cmdbuffer as well as the INDIRECT_BUFFER execution which is about 10x faster than spawning a small CS, adding extra sync and then executing a NOP-ed out indirect buffer.
We can take advantage of this by doing our own prologue which scans through the ExecuteIndirect buffer in the scenario where non-indirect count is used. Using indirect count is not slower than direct count at all.
To make this efficient, this PR refactors the command buffer emit system so that instead of having one init command buffer and one "real" command buffer, we have N sequences of this pattern. This allows us to split a command stream when observing an INDIRECT_ARGUMENT barrier, and we can batch up any patch CS easily. For example, given a D3D12 command stream like:
- CS to generate indirect arguments
- ResourceBarrier(UAV -> INDIRECT_ARGUMENT)
- ExecuteIndirect (arg0, command_count = 16)
- ExecuteIndirect (arg1, command_count = 16)
- ExecuteIndirect (arg2, command_count = 16)
- ExecuteIndirect (arg3, command_count = 16)
we can now transform this into:
iteration[0].vk_cmd_buffer:
- CS to generate
- UAV -> INDIRECT_ARGUMENT
- Begin new sequence
iteration[1].vk_init_buffer:
- Scan arg0 (emit count 0 if all empty draws)
- Scan arg1 (emit count 0 if all empty draws)
- Scan arg2 (emit count 0 if all empty draws)
- Scan arg3 (emit count 0 if all empty draws)
- CS -> INDIRECT_ARGUMENT
iteration[1].vk_cmd_buffer:
- ExecuteIndirect(arg0, count0) (over 10x faster throughput if we can predicate out work)
- ExecuteIndirect(arg0, count0)
- ExecuteIndirect(arg0, count0)
- ExecuteIndirect(arg0, count0)
This kind of command reordering can be extended later to whatever use case we have in mind, but reordering indirect work is the main important case I think.
As a heuristic, splitting command buffers isn't ideal, so we only consider a split if a device ever created a fancy execute indirect command signature and existing content outside Halo and Starfield should not observe any difference in behavior here.
The issues are crashes related to the driver, present in 535 issues I guess.
Otherwise it should be able to run the game.
Thanks for the work.
1 Like
Does this mean Pascal GPUs will not be recieving a fix?