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. 🫡

  • circuitfarmer
    link
    English
    6
    edit-2
    1 year ago

    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.

    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.

    • @AlecStewart1st@lemmy.worldOP
      link
      fedilink
      English
      4
      edit-2
      1 year ago

      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.

    • @M500@lemmy.ml
      link
      fedilink
      English
      11 year ago

      I had no idea this could be done. I bought cyberpunk from gog and it has been scouring at times to run it.

      • circuitfarmer
        link
        English
        31 year ago

        Yeah, it’s much easier than any of this.

        • @M500@lemmy.ml
          link
          fedilink
          English
          21 year ago

          Totally works! And it gives me the steam fps counter unlike lutris.

          Is amazing how far Linux gaming has come.

          • circuitfarmer
            link
            English
            21 year ago

            Great! Yes, it is leaps and bounds from where it used to be.