protonscr

Heavy Artifacting / Flickering textures in Starfield

vkd3dclosed
HansKristian-Work/vkd3d-proton#1700 · opened 2023-09-14 by EmptyVisual · updated 2026-04-11 · 10 comments · github
EEmptyVisual 2023-09-14 github

I am observing heavy artifacting/texture flicker in Starfield with the current mesa-git/vkd3d (running arch 'stock' kernel 6.5.3)

Lots of log spam for:

warn:vkd3d-proton:d3d12_device_GetResourceAllocationInfo3: Failed to get allocation info for texture.
warn:vkd3d-proton:vkd3d_get_image_allocation_info: Asking for small resource alignment, but we cannot satisfy it without padding.
warn:vkd3d-proton:d3d12_device_QueryInterface: {0742a90b-c387-483f-b946-30a7e4e61458} not implemented, returning E_NOINTERFACE.

The only thing that I've found that alleviates the flickering and also the gpu soft resets/crashing is setting the env flag:

VKD3D_CONFIG=force_host_cached

Video examples:

I have kept the settings consistent in terms of mainly being on Ultra settings between testing. Except for the Dynamic Resolution turned on off (which i doubt is a contributing factor but thought I'd test anyway)

Happy to update this more if there's any other iterations you'd like me to test.

Neon City Ebbside

without force_host_cache

Dynamic Resolution ON (Flickers)
artifacting_1_dr-on.webm

Dynamic Resolution OFF (Flickers)
artifacting_2_dr-off.webm

with force_host_cache (No issue)
no-artifacting_force_host_cache.webm

Ship

without force_host_cache (Flickers)
ship.webm

with force_host_cache (No Issue)
ship_force_host_cache.webm

Software information

Game: Starfield
Build ID: 12128396
image

I've tried a few scenarios below which did not fix the flickering.

  • ResolutionScaling/FSR ON
  • ResolutionScaling/FSR OFF
  • Variable Rate Shading ON/OFF for both of the above
  • FS Borderless/Windowed Mode
  • Ultra Settings / Low Settings
  • Clean Prefix each time
  • Cleared Shader Caches for each test
    -- ~/.cache/ mesa shader cache and radv builtins
    -- appdata/local/Starfield/Pipeline.cache
    -- vkd3d-proton.cache (exe root)

System information

  • GPU: Radeon 6900 XT
  • Driver: mesa-git commit 3740b6f5
  • Wine version: Proton: 1694644602 experimental-bleeding-edge-8.0-55782-20230913-pf87ff9-w61b2dd-df93cfb-v88e4f3
  • VKD3D-Proton version: 2.10.0/1.3.261
  • Gnome Wayland
System:
  Host: archlinux Kernel: 6.5.3-arch1-1 arch: x86_64 bits: 64 compiler: gcc
    v: 13.2.1 Desktop: GNOME v: 44.4 tk: GTK v: 3.24.38 wm: gnome-shell dm:
    1: GDM 2: SDDM note: stopped Distro: Arch Linux
CPU:
  Info: 8-core model: AMD Ryzen 7 5800X bits: 64 type: MT MCP arch: Zen 3+
    rev: 0 cache: L1: 512 KiB L2: 4 MiB L3: 32 MiB
  Speed (MHz): avg: 3673 high: 4383 min/max: 550/4851 cores: 1: 3695 2: 3687
    3: 4243 4: 550 5: 3828 6: 3815 7: 4117 8: 3846 9: 3796 10: 3768 11: 3879
    12: 3824 13: 3827 14: 3819 15: 3704 16: 4383 bogomips: 121658
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
  Device-1: AMD Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] vendor: ASUSTeK
    driver: amdgpu v: kernel arch: RDNA-2 pcie: speed: 16 GT/s lanes: 16 ports:
    active: DP-1,DP-3 empty: DP-2,HDMI-A-1 bus-ID: 0c:00.0 chip-ID: 1002:73bf
  Display: wayland server: X.org v: 1.21.1.8 with: Xwayland v: 23.2.0
    compositor: gnome-shell driver: X: loaded: amdgpu
    unloaded: modesetting,radeon alternate: fbdev,vesa dri: radeonsi
    gpu: amdgpu d-rect: 6000x1440 display-ID: 0
  Monitor-1: DP-1 pos: primary,left res: 3440x1440 size: N/A
  Monitor-2: DP-3 pos: right res: 2560x1440 size: N/A
  API: OpenGL v: 4.6 Mesa 23.3.0-devel (git-3740b6f599) renderer: AMD
    Radeon RX 6900 XT (navi21 LLVM 16.0.6 DRM 3.54 6.5.3-arch1-1)
    direct-render: Yes

Log files

flickering
steam-1716740.log

flickering with crash
steam-1716740-crash.log

GPU crash logs if relevant (copied over from my mesa comment)
Starfield_GCVM_L2_PROTECTION_FAULT.log

BBlisto91 2023-09-14 github

Does this only happen in specific areas? I have never been able to reproduce any of the crashes people are having in the game and neither the devs.
Can you attach your savegame?

EEmptyVisual 2023-09-14 github

Does this only happen in specific areas? I have never been able to reproduce any of the crashes people are having in the game and neither the devs. Can you attach your savegame?

Here's the save file that I've made in the part where I've made the example videos.

Exitsave0_CD31D0CF_4A757374696E_020947_20230914095653_34_1_4.zip

The flickering you can see in the area where my character is. If you also travel back to my ship, you can see the flickering there as you go inside to the right (also shown in the example vids)

I can also reliably reproduce the gpu reset/crash just by walking around in Neon for a while.

Just to further note, I also updated to mesa-git commit c5fb2fff, cleared shader cache, no mods/no script extender. And it still yields the same flickering and gpu crash.
I do NOT have any RADV env flags set either, the only flags set in /etc/environment is

LIBVA_DRIVER_NAME=radeonsi
VDPAU_DRIVER=radeonsi
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json

I have also swapped to Windows and none of the reported issues are present. I spent some lengthy time running around the same environment to be sure.

HHansKristian-Work maintainer 2023-09-14 github

The save loaded fine for me, but I cannot reproduce any issues either with that save :\

What happens if you use RADV_DEBUG=syncshaders ?

EEmptyVisual 2023-09-14 github

The save loaded fine for me, but I cannot reproduce any issues either with that save :\

What happens if you use RADV_DEBUG=syncshaders ?

Thanks for looking into this. I figure this is going to be a process of elimination, happy to help with anything else to diagnose this

RADV_DEBUG=syncshaders completely eliminates the flickering and also the game freezing/gpu crash. I played for about an hour to be sure.

Here's the steam logs for both env variable on and off.

shadersync ON
steam-1716740-sync-shaders.log

shadersync OFF
steam-1716740-flickers.log

I also tested AMDVLK and AMDGPU-Pro drivers, neither allowed the game to launch. RADV is the only one to launch.
my vulkaninfo
vulkaninfo.txt

Used DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1 and switched by using ICD env variables.

# RADV
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json
# AMDVLK
#VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_icd32.json:/usr/share/vulkan/icd.d/amd_icd64.json
# AMDGPU PRO
#VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd32.json:/usr/share/vulkan/icd.d/amd_pro_icd64.json

Additionally, I've attached a gfxreconstruct trace for the flickering that I managed to capture if this helps
https://drive.google.com/file/d/1e3iKAVsjG9P0g4kJVWkcKkwrx4O4EaZG/view?usp=sharing

It's a bit late in the evening for me now, but I can attempt to capture another apitrace if required tomorrow.

HHansKristian-Work maintainer 2023-09-15 github

I was able to replay the capture, but the capture does not reproduce any glitches for me. :\

Just to be 100% sure, you don't have any weird overclocks/undervolts or similar that could explain instability?

EEmptyVisual 2023-09-15 github

I was able to replay the capture, but the capture does not reproduce any glitches for me. :\

Just to be 100% sure, you don't have any weird overclocks/undervolts or similar that could explain instability?

After experimenting extensively in userspace and performing a complete reinstallation of Arch Linux to eliminate any potential environmental factors, it has become evident that the problem is linked to BIOS settings.

I recall that some time ago, I disabled both Above 4G Decoding and Resizable BAR as a workaround for a Cyberpunk 2077-related problem.

Consequently, I conducted several tests by toggling the Above 4G and Resizable BAR settings on and off. It turns out that the Above 4G setting must be enabled to prevent flickering in this game. Interestingly, enabling or disabling Resizable BAR has no impact on the flickering or crashing issue.

But yes, I always had a consistent gpu crash at the end of the replay capture as well. Turning Above 4G on in Bios has fixed both flickering and crashing for the replay + game itself.

Not sure what we'd like to do with this information but I'm happy for this to be closed out if you'd like. If you'd like me to test anything further, I'm happy to while I have a clean environment as well. Would be interesting to know if this can be replicated elsewhere with others turning off Above 4G Decoding.

HHansKristian-Work maintainer 2023-09-16 github

Very strange, but at either rate, given none of us can reproduce it across many machines, I'll call this case closed for now. For others running into this problem later, it'll be worthwhile to compare 4G decoding settings.

Mmhmarf 2023-09-16 github

Nobara 38, 6900 xt, GE Proton 8-13, VKD3D 2.10, Mesa 23.3.0-devel (not the latest git though: 23.2.0-git.20230819.caf15a3.fc38) and without latest game patch by bethesda.
I too have both Above 4G Decoding and ReBar disabled (for windows 7 compatibility!) but could not reproduce these artifacting/flickering issues.. (went to Neon -> Ebbside -> exact place as in the first video provided)

Lluz-andre 2026-04-10 github

I was trying to find the game was flickering for me as well on NVIDIA 5080 with the 595 drivers.
I came across this post. I'm getting the same "warn:vkd3d-proton:d3d12_device_QueryInterface: not implemented, returning E_NOINTERFACE." errors in Proton Log, and the same exact flickering.
However, I did not find any of those config settings that removes the problem.

What additional logs can I provide to help debug this?

Lluz-andre 2026-04-11 github

Sorry for adding a new post but this is quite weird and leaving this for future people that might find the same problem.
I've discovered what was causing the shadow flickering as seen above. I tried multiple Proton versions, clearing caches, DLSS versions, multiple settings (ReBAR On/Off, BIOS, etc) and what was causing this was... Starfield Script Extender (https://www.nexusmods.com/starfield/mods/106). As soon as I removed this, the shadow flickering was 100% gone.

@HansKristian-Work Since this is a different EXE that loads before Starfield.EXE and modifies some memory parameters, it's probably avoiding (this is a complete guess of mine) game specific fixes that exist for this title.

This breaks some heavier modding for this title. I can have it disabled for now since what I was using was mostly cosmetic, but glad that I found the cause. It was triggering my OCD in the last 3 days.