Bioshock Infinite and DX10

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
ZombieRedShirt
Level 3
Level 3
Posts: 86
Joined: Fri Oct 07, 2011 6:25 am

Bioshock Infinite and DX10

Post by ZombieRedShirt »

I'm seeing that Bioshock Infinite has just been released on Steam. It looks like quite a good game, and I wouldn't mind trying it out, myself. The problem is that on the Steam page for this game, it lists DirectX10 as a minimum requirement for the game. Given that, and given wine's lack of progress with DX10/11 of late, is there even a remote chance that this game will work with wine anytime soon?

Just looking for information at the moment, hope someone has some ideas, and/or experience with this game.
Krywk
Newbie
Newbie
Posts: 3
Joined: Fri Oct 05, 2012 8:39 am

Re: Bioshock Infinite and DX10

Post by Krywk »

Well, there IS a possibility...

http://www.winehq.org/winapi_stats

Take a look at that link, search for 'd3d10'. It's 89%, with d3d10core at 100%.

I think it's worth a shot. I bought it, so I'll give it a try once it finishes downloading.
ZombieRedShirt
Level 3
Level 3
Posts: 86
Joined: Fri Oct 07, 2011 6:25 am

Re: Bioshock Infinite and DX10

Post by ZombieRedShirt »

Krywk wrote:Well, there IS a possibility...

http://www.winehq.org/winapi_stats

Take a look at that link, search for 'd3d10'. It's 89%, with d3d10core at 100%.

I think it's worth a shot. I bought it, so I'll give it a try once it finishes downloading.
Thanks, Krywk. I await any news you have. I also note that d3d9 support only seems to be at 78%, which seems like an odd twist.
sjuxax
Newbie
Newbie
Posts: 1
Joined: Wed Mar 27, 2013 1:23 am

Re: Bioshock Infinite and DX10

Post by sjuxax »

Seriously doubt that it will work. Even years-old DX10 games like the original Assassin's Creed won't run in the latest WINE -- you have to move around the binaries and use the DX9 version.

DX dev has really seemed to lost speed in the last couple of years. Wish there was more info on the current state of things so that we could know how close we are, and if we can help in any way. Games are beginning to no longer support DX9, and I think it's crucial that WINE remains capable of playing newly-released games within a short time of their release.
Lemonlight
Newbie
Newbie
Posts: 2
Joined: Wed Mar 27, 2013 2:16 am

Re: Bioshock Infinite and DX10

Post by Lemonlight »

Game refuses to launch, throws "Call from 0x7bc4d500 to unimplemented function COMCTL32.dll.345, aborting."

I've tried a bunch of stuff to get it working, but with my limited skills I couldn't figure it out. Damn. I also tried my official steam version and then applied a no steam crack to test it, neither of them worked.
ZombieRedShirt
Level 3
Level 3
Posts: 86
Joined: Fri Oct 07, 2011 6:25 am

Re: Bioshock Infinite and DX10

Post by ZombieRedShirt »

Lemonlight wrote:Game refuses to launch, throws "Call from 0x7bc4d500 to unimplemented function COMCTL32.dll.345, aborting."

I've tried a bunch of stuff to get it working, but with my limited skills I couldn't figure it out. Damn. I also tried my official steam version and then applied a no steam crack to test it, neither of them worked.
Lemonlight, you may want to look through winetricks and see if there's anything there that might help you with comctl32.dll. Also, try launching the game through a terminal, and see if there's any useful output there.
eyecreate
Newbie
Newbie
Posts: 3
Joined: Fri Mar 29, 2013 10:37 am

Re: Bioshock Infinite and DX10

Post by eyecreate »

I came across the same error. I tried using the comctl32 link in winetricks(and adding the override), but it didn't seem to change anything.

Below is a trimmed area of a +relay run I made launching the game. I filtered the repetative functions out, but still don't see anything that stands out to me.

Code: Select all

004f:Call KERNEL32.lstrlenW(04d3f38a L"PlayerNickData.PlayerNickColumnName") ret=004868fe
004f:Ret  KERNEL32.lstrlenW() retval=00000023 ret=004868fe
004f:Call KERNEL32.WideCharToMultiByte(00000000,00000000,04d3f38a L"PlayerNickData.PlayerNickColumnName",00000024,01e3ec94,00000048,00000000,00000000) ret=00486930
004f:Ret  KERNEL32.WideCharToMultiByte() retval=00000024 ret=00486930
004f:Call KERNEL32.lstrlenW(04d3f3f0 L"RankNameMetaData.RankColumnName") ret=004868fe
004f:Ret  KERNEL32.lstrlenW() retval=0000001f ret=004868fe
004f:Call KERNEL32.WideCharToMultiByte(00000000,00000000,04d3f3f0 L"RankNameMetaData.RankColumnName",00000020,01e3ec94,00000040,00000000,00000000) ret=00486930
004f:Ret  KERNEL32.WideCharToMultiByte() retval=00000020 ret=00486930
004f:Call KERNEL32.lstrlenW(04d3f490 L"NatTypes") ret=004868fe
004f:Ret  KERNEL32.lstrlenW() retval=00000008 ret=004868fe
004f:Call KERNEL32.WideCharToMultiByte(00000000,00000000,04d3f490 L"NatTypes",00000009,01e3ec94,00000012,00000000,00000000) ret=00486930
004f:Ret  KERNEL32.WideCharToMultiByte() retval=00000009 ret=00486930
004f:Call KERNEL32.VirtualFree(04d30000,00000000,00008000) ret=00a97a30
004f:Ret  KERNEL32.VirtualFree() retval=00000001 ret=00a97a30
004f:Call KERNEL32.VirtualFree(04d20000,00000000,00008000) ret=00a97a42
004f:Ret  KERNEL32.VirtualFree() retval=00000001 ret=00a97a42
004f:Call KERNEL32.lstrlenW(014b78d0 L"RequiresDX11Runtime") ret=004868fe
004f:Ret  KERNEL32.lstrlenW() retval=00000013 ret=004868fe
004f:Call KERNEL32.WideCharToMultiByte(00000000,00000000,014b78d0 L"RequiresDX11Runtime",00000014,01e3eec0,00000028,00000000,00000000) ret=00486930
004f:Ret  KERNEL32.WideCharToMultiByte() retval=00000014 ret=00486930
004f:Call user32.GetActiveWindow() ret=0098a096
004f:Ret  user32.GetActiveWindow() retval=00000000 ret=0098a096
004f:Call user32.GetAncestor(00000000,00000002) ret=0098a09d
004f:Ret  user32.GetAncestor() retval=00000000 ret=0098a09d
wine: Call from 0x7bc4d7e0 to unimplemented function COMCTL32.dll.345, aborting
004f:Call KERNEL32.lstrlenW(016de7f8 L"Fatal error!\r\n\r\n") ret=004868fe
004f:Ret  KERNEL32.lstrlenW() retval=00000010 ret=004868fe
004f:Call KERNEL32.WideCharToMultiByte(00000000,00000000,016de7f8 L"Fatal error!\r\n\r\n",00000011,01e37460,00000022,00000000,00000000) ret=00486930
004f:Ret  KERNEL32.WideCharToMultiByte() retval=00000011 ret=00486930
004f:Call KERNEL32.lstrlenA(0369029a "Name") ret=00cdd347
004f:Ret  KERNEL32.lstrlenA() retval=00000004 ret=00cdd347
004f:Call KERNEL32.MultiByteToWideChar(00000000,00000000,0369029a "Name",00000005,01e350f8,00000005) ret=00cdd380
004f:Ret  KERNEL32.MultiByteToWideChar() retval=00000005 ret=00cdd380
004f:Call KERNEL32.lstrlenA(036925eb "Team") ret=00cdd347
004f:Ret  KERNEL32.lstrlenA() retval=00000004 ret=00cdd347
004f:Call KERNEL32.MultiByteToWideChar(00000000,00000000,036925eb "Team",00000005,01e350f8,00000005) ret=00cdd380
004f:Ret  KERNEL32.MultiByteToWideChar() retval=00000005 ret=00cdd380
004f:Call KERNEL32.lstrlenW(014f848c L"Protocol") ret=004868fe
004f:Ret  KERNEL32.lstrlenW() retval=00000008 ret=004868fe
004f:Call KERNEL32.WideCharToMultiByte(00000000,00000000,014f848c L"Protocol",00000009,01e34524,00000012,00000000,00000000) ret=00486930
004f:Ret  KERNEL32.WideCharToMultiByte() retval=00000009 ret=00486930
ZombieRedShirt
Level 3
Level 3
Posts: 86
Joined: Fri Oct 07, 2011 6:25 am

Re: Bioshock Infinite and DX10

Post by ZombieRedShirt »

eyecreate, I did notice the line "requires DX11 runtime" or something similar showing up a couple of times in that terminal output of yours. So I guess that's the issue. :( Dammit. Kind of odd for a game that's apparently using the Unreal engine.
eyecreate
Newbie
Newbie
Posts: 3
Joined: Fri Mar 29, 2013 10:37 am

Re: Bioshock Infinite and DX10

Post by eyecreate »

ZombieRedShirt wrote:eyecreate, I did notice the line "requires DX11 runtime" or something similar showing up a couple of times in that terminal output of yours. So I guess that's the issue. :( Dammit. Kind of odd for a game that's apparently using the Unreal engine.
I do have the dx11 runtime installed, but disabled d3d11.dll and set the wine os type to Vista in order to try and force it into dx10 mode, which is more finished. If there's a better way to try and force it to run dx10 only, that might be the ticket.

But the fact it requires aat least the dx11 runtime means wine's dx11 support would need to at least function enough to pass the baton to dx10.
http://steamcommunity.com/discussions/f ... 257449959/
I might also try and capture what it says when I re-enabled d3d11 in case that gives an idea.
eyecreate
Newbie
Newbie
Posts: 3
Joined: Fri Mar 29, 2013 10:37 am

Re: Bioshock Infinite and DX10

Post by eyecreate »

Update. After doing more looking, it seems it's getting less likely to get working without lots of code changes in wine. I looked up the API for directx11 that needs to be called to initalize(even to dx10 feature mode)
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
This is currently stubbed out in wine and even though it says it supports dx10 for the game, it's looks like it's only that the game will run using dx10 compatable drivers, not by using dx10 API. If someone were crazy enough,, they might be able to write more dx11 stubs that tell the game there's only dx10 support and passing the calls to the dx10 part of wine, but maybe it's best to wait for progress on actual dx11 support.
ZombieRedShirt
Level 3
Level 3
Posts: 86
Joined: Fri Oct 07, 2011 6:25 am

Re: Bioshock Infinite and DX10

Post by ZombieRedShirt »

eyecreate, thanks for all the digging around you've done on this, even though I'm disappointed by the outcome. :( I hope that someone at least notices this thread, or someone like yourself creates an appdb page for the game and someone gets onto that dx10/11 support finally. Until then, I guess I'm stuck with playing that game under windows 8.
dan.sanduleac
Newbie
Newbie
Posts: 1
Joined: Sat Apr 13, 2013 7:08 pm

Re: Bioshock Infinite and DX10

Post by dan.sanduleac »

Looks like CodeWeavers is working on a dx11 -> OpenGL wrapper: http://www.codeweavers.com/support/foru ... msg=139973
ZombieRedShirt
Level 3
Level 3
Posts: 86
Joined: Fri Oct 07, 2011 6:25 am

Re: Bioshock Infinite and DX10

Post by ZombieRedShirt »

dan.sanduleac, any idea where I can get some info on their dx11 wrapper, like progress info, etc? Since on that Crossover support forum, Stephen Dosinger was posting there, I assume it's going to be a part of wine too? Given that this is the first time that I can recall seeing any info about it, and that there's no chatter about it around here, it's a bit of a surprise, even though I had an idea that work was going to be done at some stage.
Demanufactor
Newbie
Newbie
Posts: 1
Joined: Thu Apr 18, 2013 2:50 pm

Re: Bioshock Infinite and DX10

Post by Demanufactor »

Have you tried to launch it with Wine 1.5.28? Changelog says that support for Bioshock Infinite is added. I tried to launch it on my computer but it gives me an error. When I launch the game, only a small empty window with single "OK" button appears. Previously I installed directx9, d3dx11_43 and vcrun2008 through winetricks. I don't know what to do next. Here's my terminal output.

Code: Select all

$ primusrun wine BioShockInfinite.exe
Setting breakpad minidump AppID = 8870
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561197960265728 [API loaded no]
fixme:gameux:GameExplorerImpl_VerifyAccess (0x156c88, L"C:\\Program Files\\Bioshock Infinite\\Binaries\\Win32\\BioShockInfinite.exe", 0x1e3f5e8)
fixme:win:EnumDisplayDevicesW ((null),0,0x1e3e104,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x1e3e014,0x00000000), stub!
err:d3d:context_create wglSwapIntervalEXT failed to set swap interval 1 for context 0x18ff08, last error 0x591
err:d3d:context_create wglSwapIntervalEXT failed to set swap interval 1 for context 0x1a4d48, last error 0x591
fixme:win:EnumDisplayDevicesW ((null),0,0x1e3e044,0x00000000), stub!
fixme:d3d11:D3D11CreateDevice stub: adapter 0x15f700, driver_type D3D_DRIVER_TYPE_UNKNOWN, swrast (nil), flags 0x1, feature_levels 31712092, levels 0x2, sdk_version 7, device 0x1e3e368, feature_level 0x1e3e5fc, context 0x1e3e36c
fixme:win:EnumDisplayDevicesW ((null),0,0x1e3f664,0x00000000), stub!
fixme:d3d11:D3D11CreateDevice stub: adapter 0x160280, driver_type D3D_DRIVER_TYPE_UNKNOWN, swrast (nil), flags 0x1, feature_levels 31717752, levels 0x2, sdk_version 7, device 0x1e3f984, feature_level 0x1e3fc18, context 0x1e3f988
fixme:commctrl:TaskDialogIndirect 0x1e37bb4, 0x1e37b78, (nil), (nil)
fixme:commctrl:TaskDialogIndirect dwCommonButtons=1 uType=0 ret=1
ZombieRedShirt
Level 3
Level 3
Posts: 86
Joined: Fri Oct 07, 2011 6:25 am

Re: Bioshock Infinite and DX10

Post by ZombieRedShirt »

I had a look at that stuff regarding Bioshock Infinite and wine-1.5.28. Seems there was a bug relating to a message box that is meant to open when launching the game. It doesn't fix the lack of dx10/11 support, though. :(
Locked