protonscr

Bioshock (Original [not remaster]) crashes before main menu in DX10 mode

dxvkclosed d3d10
doitsujin/dxvk#655 · opened 2018-09-22 by 7oxicshadow · updated 2026-06-13 · 15 comments · github
1 matching comments, n / p to jump
77oxicshadow 2018-09-22 github

Problem

Game crashes just before it renders the main menu.

Software information

Bioshock (Original) in DX10 mode

System information

  • GPU: GTX1070
  • Driver: 396.54
  • Wine version: 3.16-Staging
  • DXVK version: 0.72

Log files

attached
Bioshock_d3d10.log
Bioshock_d3d11.log
Bioshock_dxgi.log

It appears to have problems with ShaderReflections.

The main menu normally has an animated background with light reflection bouncing off the water so I assume its that causing the problem.

I will be unable to get an API trace today but i will try to get one as soon as possible

Ddoitsujin maintainer 2018-09-22 github

Can you please post the full console output from wine? dx10 is a bit quirky so you might need to install additional libraries.

77oxicshadow 2018-09-22 github
Ddoitsujin maintainer 2018-09-23 github

err: D3D10ReflectShader: Failed to create ID3D11ShaderReflection

You need native d3dcompiler_43, which is available through winetricks. Logs indicate that you're currently trying to use the wined3d version.

77oxicshadow 2018-09-23 github

Thanks for that, I have installed d3dcompiler_43 and it now gets into the menu fine. When trying to load a save game I get to see the first frame of in-game and there is a crash.

backtrace.txt

At this point it is hard to tell if it is a wine bug or dxvk. The backtrace looks like it is crashing within the d3d11.dll. I know that it plays fine in wine with DX9 in wine.

77oxicshadow 2018-09-23 github

Bioshock_d3d11.log
Bioshock_dxgi.log

Dont think they have any useful information but i will add them anyway

Note: d3d10.log is blank.

I know DXVK is active because I can see the hud in the top left of the screen

Ddoitsujin maintainer 2018-09-23 github

Now it seems to crash inside DXVK code. Please record an apitrace so I can debug this.

77oxicshadow 2018-09-23 github

The game doesn't work in Wine in dx10 mode.

The guide says do not have dxvk active when taking the api trace. Do I need to take a trace from a Windows OS?

Ddoitsujin maintainer 2018-09-23 github

That's the only option if it doesn't work on wine, yes. DXVK is useless in this case because it crashes.

44ymen 2018-09-24 github

I tried to trace it on Windows. Sadly it did not work (tried different ways).
But as suggested by Varris when you sets everything to low. The game does not crash after the loading screen and you can play. But I didn't dig it too much to find which setting is causing trouble. I tested this on Windows but it should work on Linux.
So you can either play it with dx9 or try the remastered edition.

77oxicshadow 2018-09-24 github

We may have to abandon this as I cannot get the game to work in windows at all. The mini splash screen comes up and then nothing happens.

I have tried in a Windows Vista virtual machine and a modern laptop running windows 10.

Reading on the internet suggests that getting Bioshock (original) working on modern os/hardware is a nightmare especially when it comes to soundcards for some reason.

Ddoitsujin maintainer 2018-09-24 github

Should be fixed as of 1e40a14a509ad0a7fdff9b1ee3632ba97e53e6dc.

The "fix" consists of disabling D3D10 support for this game, so it should fall back to D3D9. Please let me know if that works.

Ddoitsujin maintainer 2018-10-12 github

8630ee235a7a97c0ad87af2703b3c06bfd8e475e re-enables D3D10 support for this game.

Apparently the game tries to access the D3D10Device from multiple threads at the same time, which was causing race conditions. Should be fixed now.

Hhitman249 2019-03-23 github

Bioshock.log

0009:fixme:d3dcompiler:make_assignment Check for casts in the lhs.
0009:fixme:d3dcompiler:make_assignment Check for casts in the lhs.
0009:fixme:d3dcompiler:make_assignment Check for casts in the lhs.
0009:fixme:hlsl_parser:hlsl_parse Check for valued return on void function.
0009:fixme:hlsl_parser:hlsl_parse Implicit conversion to the return type if needed, error out if conversion not possible.
0009:err:d3dcompiler:compile_shader HLSL shader parsing failed.

use winetricks d3dcompiler_43

Bbillbeans 2026-06-13 github

Did this stop working? I've been trying to get in-game but I can't even get to the main menu, I'm not sure if this terminal output helps:

info:  DXVK: Using 16 compiler threads
0024:err:xvidmode:ComputeGammaFromRamp low-biased gamma ramp (2458), rejected
0024:fixme:thread:NtSetInformationThread ThreadIdealProcessor stub!
vkd3d:01c8:fixme:D3DCompile2VKD3D Ignoring flags 0x1000.
vkd3d:01c8:fixme:D3DCompile2VKD3D Ignoring flags 0x1000.
wine: Unhandled page fault on read access to 00000008 at address 10E28A20 (thread 01c8), starting debugger...
01d0:fixme:dbghelp:elf_search_auxv can't find symbol in module
01d0:fixme:dbghelp:elf_search_auxv can't find symbol in module
01d0:err:dbghelp_msc:codeview_process_info Unknown CODEVIEW signature 00000005 in module L"bioshock"

Installing d3dcompiler_43 into the prefix didn't help. I also tried using GE-Proton which gets in-game but can't render the DX10 surfaces, even with the 43 compiler.

Only d3d11 and dxgi logs were generated. Why is that if the game doesn't use dx11?:

Bioshock_d3d11.log
Bioshock_dxgi.log

Ddoitsujin maintainer 2026-06-13 github

D3D10 is implemented on top of D3D11.

Not sure if d3dcompiler_43 is the correct version for this game, need to check which DLLs the game actually needs. D3D10 games tend to be very finicky with extra dependencies though.

DLLs