Intro
Hello friends,
I’ve been hearing mixed things about Starfield, so I thought I’d try experiencing it myself. Before you ask “why aren’t you running Starfield with Steam’s Proton Experimental or Proton-GE” let’s say I went out sailing yesterday and met a fellow legitimate sailor who was giving many people a great discount on the game. Getting back to port, the sea was rough were quite a few torrents crashing against the cliff faces that evening.
I’ve tried various various environment flags to get the game working, but nothing seems to work. I even made sure the installation of lutris-GE-Proton8-14 had the most up-to-date version of VKD3D. I checked the winecfg
for that version of wine and it’s has the correct Windows version and all of that. Manually running the game with the wine executable in that version of wine with the WINEPREFIX
set to where that’s install for Lutris gives me a few interesting lines.
As of note, the game does, erm, “launch” in that it creates a new window for Starfield, but it’s all black and stays that way.
First interesting lines
01b8:err:setupapi:create_dest_file failed to create L"C:\\windows\\system32\\d3d12.dll" (error=80)
wine: configuration in L"/home/alec/.local/share/lutris/runners/wine/lutris-GE-Proton8-14-x86_64" has been updated.
Okay? But the configuration for wine shouldn’t be updating, for one, and running the setup script provided by VKD3D-Proton gets me the following:
setup_vkd3d_proton.sh install --symlink
wine: configuration in L"/home/alec/.local/share/lutris/runners/wine/lutris-GE-Proton8-14-x86_64" has been updated.
wine: configuration in L"/home/alec/.local/share/lutris/runners/wine/lutris-GE-Proton8-14-x86_64" has been updated.
removed '/home/alec/.local/share/lutris/runners/wine/lutris-GE-Proton8-14-x86_64/dosdevices/c:/windows/system32/d3d12.dll'
'/home/alec/.local/share/lutris/runners/wine/lutris-GE-Proton8-14-x86_64/dosdevices/c:/windows/system32/d3d12.dll' -> '/usr/lib/vkd3d-proton/x64/d3d12.dll'
removed '/home/alec/.local/share/lutris/runners/wine/lutris-GE-Proton8-14-x86_64/dosdevices/c:/windows/syswow64/d3d12.dll'
'/home/alec/.local/share/lutris/runners/wine/lutris-GE-Proton8-14-x86_64/dosdevices/c:/windows/syswow64/d3d12.dll' -> '/usr/lib/vkd3d-proton/x86/d3d12.dll'
removed '/home/alec/.local/share/lutris/runners/wine/lutris-GE-Proton8-14-x86_64/dosdevices/c:/windows/system32/d3d12core.dll'
'/home/alec/.local/share/lutris/runners/wine/lutris-GE-Proton8-14-x86_64/dosdevices/c:/windows/system32/d3d12core.dll' -> '/usr/lib/vkd3d-proton/x64/d3d12core.dll'
removed '/home/alec/.local/share/lutris/runners/wine/lutris-GE-Proton8-14-x86_64/dosdevices/c:/windows/syswow64/d3d12core.dll'
'/home/alec/.local/share/lutris/runners/wine/lutris-GE-Proton8-14-x86_64/dosdevices/c:/windows/syswow64/d3d12core.dll' -> '/usr/lib/vkd3d-proton/x86/d3d12core.dll'
So I don’t know why the wine configuration is being updated again.
Next interesting lines
163756.705:01d4:031c:fixme:vkd3d-proton:d3d12_command_signature_create: State template is required for compute, but VKD3D_CONFIG_FLAG_FORCE_COMPUTE_ROOT_PARAMETERS_PUSH_UBO is not enabled.
163756.711:01d4:0314:fixme:vkd3d-proton:d3d12_command_signature_create: State template is required for compute, but VKD3D_CONFIG_FLAG_FORCE_COMPUTE_ROOT_PARAMETERS_PUSH_UBO is not enabled.
163756.755:01d4:031c:fixme:vkd3d-proton:d3d12_command_signature_create: State template is required for compute, but VKD3D_CONFIG_FLAG_FORCE_COMPUTE_ROOT_PARAMETERS_PUSH_UBO is not enabled.
163756.758:01d4:030c:fixme:vkd3d-proton:d3d12_command_signature_create: State template is required for compute, but VKD3D_CONFIG_FLAG_FORCE_COMPUTE_ROOT_PARAMETERS_PUSH_UBO is not enabled.
163756.761:01d4:0334:fixme:vkd3d-proton:d3d12_command_signature_create: State template is required for compute, but VKD3D_CONFIG_FLAG_FORCE_COMPUTE_ROOT_PARAMETERS_PUSH_UBO is not enabled.
163756.762:01d4:0334:fixme:vkd3d-proton:d3d12_command_signature_create: State template is required for compute, but VKD3D_CONFIG_FLAG_FORCE_COMPUTE_ROOT_PARAMETERS_PUSH_UBO is not enabled.
163756.768:01d4:0344:fixme:vkd3d-proton:d3d12_command_signature_create: State template is required for compute, but VKD3D_CONFIG_FLAG_FORCE_COMPUTE_ROOT_PARAMETERS_PUSH_UBO is not enabled.
163756.769:01d4:0334:fixme:vkd3d-proton:d3d12_command_signature_create: State template is required for compute, but VKD3D_CONFIG_FLAG_FORCE_COMPUTE_ROOT_PARAMETERS_PUSH_UBO is not enabled.
I don’t know what this means or if it’s what would cause my issue, but since it repeated several times I’m assuming it’s something worth noting.
Final Thoughts and System Info
I could just be having issues due to getting that discount from my fellow sailor, but I wouldn’t know. I’m very skeptical, mainly because “Your drivers are out of date” is so specific.
System Info
I’m on Gentoo, a hardened profile on Linux Kernel 6.1.46.
I’m currently on Mesa version 23.2.0_rc3
.
I’m on the master/main branch for the xf86-video-amdgpu
driver.
If there’s anything other system info I can provide that will help me fix this, let me know.
EDIT
Add it as a Non-Steam game in Steam and it’ll work there with Proton-GE 8.14. Unfortunately, given this is a Bethesda game, your performance will vary likely until 2-3 patches later. I have the following launch options, some probably aren’t necessary:
PROTON_LOG=1 DXVK_ASYNC=1 WINE_FULLSCREEN_FSR=1 WINE_FULLSCREEN_FSR_STRENGTH=1 gamemodeun %command% --skip-launcher
Stay safe, fellow Linux gamers and sailors. 🫡
In spite of this, before you try working all this out, I do want to make sure that you are aware: you can add Starfield from another vendor as a “Non-Steam Game”, still use Proton, and likely avoid all of it.
True! I should probably do that before delving too deep to where I start losing my sanity.
EDIT: And ay, voila! It works! Played a little bit and so far I’m not too impressed by performance nor the game itself, but at least it works now.
I had no idea this could be done. I bought cyberpunk from gog and it has been scouring at times to run it.
Yeah, it’s much easier than any of this.
Totally works! And it gives me the steam fps counter unlike lutris.
Is amazing how far Linux gaming has come.
Great! Yes, it is leaps and bounds from where it used to be.