Closed jarrard closed 5 years ago
Try to run it with wined3d (without dxvk), if it will still not work - that's probably an issue with wine itself
Yeah I think I have tried it before without dxvk and it does the same thing. So unfortunately its probably some wine problem and since it has a native option it will likely be ignored/removed from their db.
Its a shame because Gaijin really ruined the native client with v1.77, guess I'll need to wait until Vulkan update (they claim their doing it, someday....)
War Thunder works here with wine-staging+dxvk (33e511485c1e6814eccbf679ea866e40b082729f).
I haven't tested it extensively. The 64-bit client doesn't launch for me, so use a 32-bit wine prefix or launch the 32-bit aces.exe (located at /path/to/War Thunder/win32/aces.exe) directly.
@jarrard in my experience, wine devs do care about applications that have a native Linux version if they highlight some missing features or bugs. Same goes for DXVK, although I generally treat games that have a decent native version as lower-priority than Windows-only games.
@portentum you might want to share your exact wine setup and maybe game configuration for others.
@doitsujin I'll try to give an example for others. It's just a barebones 32-bit wine prefix though.
This is for loose dxvk dlls.
export WINEARCH=win32
this will tell wine to create your new prefix as 32-bitexport WINEPREFIX=~/.wine32
this is the location of your new wine prefix. It must be specified any time you want an application to use it.winecfg
to create your new prefix and launch the wine configuration utilityAdd application...
and navigate to /path/to/War Thunder/win32
Open
the aces.exe
aces.exe
on the Applications
tab, then navigate to the Libraries
tabd3d11
and dxgi
d3d11
and dxgi
to Native
d3d11.dll
and dxgi.dll
in to your War Thunder/win32
folder.cd /path/to/War\ Thunder/
to prevent any log files the game might create from being dropped in your home folder.wine launcher.exe
Fullscreen
to Windowed
or Full window
to prevent the game from hanging if you switch windows (e.g., alt+tab).Again, I haven't tested the game extensively so I don't know if there are settings that will not work. The defaults worked for the screenshot above, I then closed the game and increased the settings to high. The game launched and ran as before. Performance so far seems much higher than the native Linux OpenGL client.
Yeah I tried only 64bit client. Will give 32bit a go.
UPDATE: Yep it works, and on Ultra it runs better then Native Linux with medium settings, LMAO. Just as I suspected.. Had a sound issue at first, but fixed that somehow.
You don't need a 32bit prefix, works in 64bit prefix if 32bit dxvk files are also installed. Looks good non the less, might post this on the WT forums sometime.
There is 1 minor issue, in hangar there is a dark square around the tank/plane, it does not exist when actually playing so I don't think its serious. This game works with and without the new NV Compiler.
@doitsujin the proble with War Thunder - Linux port has very shitty performance, so with DXVK you can get a lot of improvement :)
Hmm, strange, War Thunder freezes shortly (2-4 seconds) after loading main menu for me... (GTX 750). But that's probably a wine-staging/wine problem:
0032:fixme:heap:RtlSetHeapInformation 0x110000 0 0x33fde8 4 stub
0032:fixme:heap:RtlSetHeapInformation 0x2a60000 0 0x33fde8 4 stub
0032:fixme:heap:RtlSetHeapInformation 0x2950000 0 0x33fde8 4 stub
0032:fixme:toolhelp:CreateToolhelp32Snapshot Unimplemented: heap list snapshot
0032:fixme:toolhelp:Heap32ListFirst : stub
0032:fixme:dbghelp:elf_search_auxv can't find symbol in module
0032:fixme:dbghelp:elf_search_auxv can't find symbol in module
0032:fixme:dbghelp:elf_search_auxv can't find symbol in module
0032:fixme:dbghelp:elf_search_auxv can't find symbol in module
0032:fixme:dbghelp:elf_search_auxv can't find symbol in module
0032:fixme:d3d:wined3d_dxtn_init Wine cannot find the txc_dxtn library, DXTn software support unavailable.
003a:fixme:ver:GetCurrentPackageId (0x380fe9c (nil)): stub
003a:fixme:ole:CoInitializeSecurity ((nil),-1,(nil),(nil),0,3,(nil),0,(nil)) - stub!
003a:fixme:wbemprox:wbem_locator_ConnectServer unsupported flags
003a:fixme:wbemprox:client_security_SetBlanket 0xf4e2d82c, 0x31ec100, 10, 0, (null), 3, 3, (nil), 0x00000000
003a:fixme:wbemprox:client_security_Release 0xf4e2d82c
0032:fixme:nvapi:unimplemented_stub function 0x694d52e is unimplemented!
0032:fixme:nvapi:unimplemented_stub function 0x7f9b368 is unimplemented!
0032:fixme:nvapi:unimplemented_stub function 0x7f9b368 is unimplemented!
0032:fixme:nvapi:unimplemented_stub function 0x7f9b368 is unimplemented!
0032:fixme:nvapi:unimplemented_stub function 0x7f9b368 is unimplemented!
0032:fixme:nvapi:unimplemented_stub function 0x7f9b368 is unimplemented!
info: Enabled instance layers:
info: Enabled instance extensions:
info: VK_KHR_surface
info: VK_KHR_win32_surface
0032:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkCreateDebugReportCallbackEXT".
0032:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkDestroyDebugReportCallbackEXT".
0032:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkDebugReportMessageEXT".
info: GeForce GTX 750:
info: Driver: 396.18.8
info: Vulkan: 1.1.73
info: Memory Heap[0]:
info: Size: 2048 MiB
info: Flags: 0x1
info: Memory Type[7]: Property Flags = 0x1
info: Memory Type[8]: Property Flags = 0x1
info: Memory Heap[1]:
info: Size: 5939 MiB
info: Flags: 0x0
info: Memory Type[0]: Property Flags = 0x0
info: Memory Type[1]: Property Flags = 0x0
info: Memory Type[2]: Property Flags = 0x0
info: Memory Type[3]: Property Flags = 0x0
info: Memory Type[4]: Property Flags = 0x0
info: Memory Type[5]: Property Flags = 0x0
info: Memory Type[6]: Property Flags = 0x0
info: Memory Type[9]: Property Flags = 0x6
info: Memory Type[10]: Property Flags = 0xe
info: D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info: D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
warn: Vulkan extension VK_EXT_vertex_attribute_divisor not supported
warn: Vulkan extension VK_KHR_maintenance2 not supported
info: Enabled device extensions:
info: VK_KHR_descriptor_update_template
info: VK_KHR_sampler_mirror_clamp_to_edge
info: VK_KHR_maintenance1
info: VK_KHR_shader_draw_parameters
info: VK_KHR_swapchain
0032:err:nvapi:NvAPI_D3D11_SetDepthBoundsTest Failed to get wined3d device handle!
warn: DXGI: MakeWindowAssociation: Ignoring flags
info: DxgiVkPresenter: Recreating swap chain:
Format: VK_FORMAT_B8G8R8A8_UNORM
Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR
Buffer size: 1920x1080
0032:fixme:nvapi:unimplemented_stub function 0xdcb616c3 is unimplemented!
0032:fixme:nvapi:unimplemented_stub function 0xdcb616c3 is unimplemented!
0032:fixme:nvapi:unimplemented_stub function 0xdcb616c3 is unimplemented!
0032:fixme:nvapi:unimplemented_stub function 0x7f9b368 is unimplemented!
0032:fixme:nvapi:unimplemented_stub function 0xbaaabfcc is unimplemented!
0032:fixme:nvapi:unimplemented_stub function 0x6ff81213 is unimplemented!
0032:fixme:nvapi:unimplemented_stub function 0x7f9b368 is unimplemented!
0032:fixme:thread:SetThreadIdealProcessor (0x1e4): stub
0032:fixme:thread:SetThreadIdealProcessor (0x1ec): stub
0032:fixme:win:GetRegisteredRawInputDevices (pRawInputDevices=(nil), puiNumDevices=0x33f8f8, cbSize=12) stub!
0032:fixme:win:GetRegisteredRawInputDevices (pRawInputDevices=0x94b1b8f0, puiNumDevices=0x33f8f8, cbSize=12) stub!
0032:fixme:win:GetRegisteredRawInputDevices (pRawInputDevices=(nil), puiNumDevices=0x33fa44, cbSize=12) stub!
0032:fixme:win:GetRegisteredRawInputDevices (pRawInputDevices=0x94b1b8f0, puiNumDevices=0x33fa44, cbSize=12) stub!
0032:err:ole:CoGetClassObject class {22420dba-2927-4d71-b6b8-028982a62b72} not registered
0032:err:ole:CoGetClassObject no class object {22420dba-2927-4d71-b6b8-028982a62b72} could be created for context 0x1
0054:fixme:avrt:AvSetMmThreadCharacteristicsW (L"Audio",0x4c2fe74): stub
0032:fixme:nvapi:unimplemented_stub function 0xe3640a56 is unimplemented!
0032:fixme:nvapi:unimplemented_stub function 0x7f9b368 is unimplemented!
0032:fixme:imm:ImmGetOpenStatus (0x32044e8): semi-stub
0032:fixme:imm:ImmReleaseContext (0x2006a, 0x32044e8): stub
^C0069:fixme:console:CONSOLE_DefaultHandler Terminating process 31 on event 0
Update: it doesn't freeze while run with vsync on AND IT RUNS SO SMOOTHLY OH!
I don't get any freezing without vsync (the hanger is fps capped). Perhaps your videocard is just pushing itself too hard with a uncapped framerate?
And yes v1.77 patch ruined it for nvidia cards under Linux(native). I use to get 70-80fps all the time at max settings, now I cannot get that with medium-low settings, and the framerate smoothing is terrible (desynced frame render times).
@jarrard I didn't have this issue in other games, and it hangs in War Thunder exactly at the moment when FPS counter in the bottom left corner appears
well its likely the nvidia drivers have very different code from a 750 vs 1080ti so bugs may only appear in select series.
This can be flagged as 32bit working, 64bit not (wine related bug).
Im a noob , but i think wine needs more dotnet stuff in 64 bit .
@davvvve1 no, .net is not related to that issue.
-Game sometimes will freeze just spawning in a vehicle in general. But can happen at any time at random. (new compiler may resolve this)
-There is a black texture on ground in hangar (only), occurs also with new compiler.
-There is some skipping or desyncing of frames as you can get pulsing and skippy effect even with good framerate.
Enabling NV newcompiler seems to help but I don't know if its a full solution just yet, loads more testing required. Might introduce other issues such as odd dark shadowing on bushes at close range (could be game engine issue).
Got it running on wine 3.8 staging with 32 bits vulkan. Nvidia Gtx 950 / Vulkan 1.1.70. 105/120 fps on average. good. Artefacts on the aluminium texture (it is rendered in black instead). Dont play on fullscreen : switching windows shall make you loose the Tab key and the Esc key.
Yes its established the 32bit version works, the launcher will determine which version to run on launch automatically unless you edit the config.blk file.
How do you force the 32-bit client by editing config.blk?
Hi,
I pointed wine to execute the aces.exe in my 32bits folder (i.e) SteamLibrary/steamapps/common/War Thunder/win32
The config.blk is not used in this case but to be imported if you want to keep your shorcuts bindings from one WT to another...
On Mon, May 28, 2018 at 2:29 PM, 00Asgaroth00 notifications@github.com wrote:
How do you force the 32-bit client by editing config.blk?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/doitsujin/dxvk/issues/359#issuecomment-392514276, or mute the thread https://github.com/notifications/unsubscribe-auth/AS0R5RdCT5yT7zosx8-rlOXpST9VKyLmks5t2-2dgaJpZM4T18-Y .
-- Kinds regards,
Jean-denis.
@jarrard
Speaking as one of the WineHQ AppDB admins... As doitsujin stated the WineHQ AppDB is quite happy to accept Windows applications that have a native Linux version available.
It would be pretty pointless to refuse to support these... In fact they can be more useful, then Windows-only applications, e.g. for performance testing!
I can't get any useful debug info from why the 64bit version doesn't work. I will look at it again soon and see what it says. It quits very early on so barely initializes anything.
I added a bug report, at present I don't have much more info to provide other then whats given. Could be something real simple so I will wait until someone with more experience responds to it. https://bugs.winehq.org/show_bug.cgi?id=45265
Closing this issue since 32bit works well and the 64bit issue is unrelated to DXVK.
If you are running Arch or just keep getting empty WT error window before launching aces.exe, check that you have lib32-vulkan-icd-loader
package. https://wiki.archlinux.org/index.php/Vulkan
JFYI - win64 client runs just fine with latest wine-staging (4.3 and 4.4) + dxvk 1.0.1. No more crashes!
good to know, I'll give it a try sometime.
JFYI - win64 client runs just fine with latest wine-staging (4.3 and 4.4) + dxvk 1.0.1. No more crashes!
Trying this with lutris now and win64 client and it crashes when logging in. TKG 4.3 Wine DXVK 1.0.1
Not sure what the issue is....
No idea, maybe you need special depends for the network part to work in wine? it freezes always on login. Try low graphics. No luck.
BINGO, It was esync, game does not like esync for some reason. Maybe I have it setup wrong for it.
Using the 64bit client now, and DXVK 1.1 causes it to crash just after login screen as it pans to hangar. DXVK 1.0.2 however works fine!
This is with TKG4.4
@jarrard please bisect. Also, next time, please open a new issue instead of re-opening an unrelated one.
Can't reproduce, game starts up fine here (note that I'm using the Steam version).
I was using Lutris included DXVK 1.1, so maybe that isn't same. Also I just launch via win64/aces.exe and use tkg-4.4 for prefix.
The game doesn't start up within linux steam for me with steamplay so lutris is only way it works atm.
I'm using Windows steam with wine-tkg 4.5 (not the very latest build, few days old).
Anyway, please bisect DXVK, I am unable to debug it.
What's your GPU/driver/whatever anyway? Some info would always be useful...
Well it seems Lutris removed 1.1 DXVK so maybe it was compiled wrong, I'm going to manually install it now and test. 418.56-6 dkms driver on a 1080TI
I removed 1.1. It wasn't compiled wrong, it is just so broken that it shouldn't be shipped to a wider audience, and this bug is part of the problem.
Do you still want me to bisect it? I dunno if I can do it now, haven't really done bisections before but I can certainly do it tomorrow sometime.
I can reproduce the crash with Vulkan validation layers enabled, but don't get any output from the layers because they get redirected somehow.
Anyway, of course I want to fix all the regressions, unless you want to complain that the next release still breaks the game.
False alarm, the validation layers crash because they report VK_EXT_host_query_reset
as supported without providing the actual functionality. Still cannot reproduce the problem.
Ok, well I just compiled the latest master and tested it (esync must be disabled or it crashes on login) and it still crashes while panning into hangar.
So I guess I'll bisect it, got any easy to follow guides I can use to bisecting? lol
https://git-scm.com/docs/git-bisect
Works fine for me with esync btw.
ESYNC didn't work for myself and several others over at warthunder forum, most use nvidia hardware so that could be the issue. (esync works with most other games fine)
Well, if you're unwilling to do it then I'm unable to fix it, sorry. Please open a new issue if you get more info.
EDIT: I'll work on figuring out git bisect, I have found some more useful guides. :)
EDIT: I'll work on figuring out git bisect, I have found some more useful guides. :)
Hi @jarrard, if you are able to clone and build then you're certainly able to bisect, it is much simpler than you think once you get what bisecting does. Essentially it is really just a kind of simple wizard within git that checks out several versions between two points in the git history and asks you to build/test every checked out commit plus report back if you experienced the regression you were looking for.
Testing now, sorry it took so long for me to get to it.
I've already found the bisect that causes the crash, but will continue testing rest.
War Thunder DXVK GIT Good: [0d889e0dcd41d2b848cabf5fd584ce0638d0eaeb] [dxvk] Implement depth-stencil unpacking [03881dde72be7c8fbfd754847705bc92aca031f7] [dxvk] Implement blitImage function [8f7e6065838ff6822631a923ce4cc6f4fb4a8fda] [dxvk] Enable VK_EXT_conditional_rendering if available [acdb989cfa1847ac896670936b15ef857de20f6c] [dxvk] Implement conditional rendering [7e16c4cda1ecd08cc0151a23b52cb053c30fde96] [d3d11] Remove unused revision field from D3D11Query
War Thunder DXVK GIT Bad: [3a3d7fb3782948c3373f3448e5ff42d837a119ae] [d3d11] Properly implement SetPredication [d81146e3d20280e7a3621568fc48dc4744a63482] [d3d11] Allocate predicate buffer for predicates
:040000 040000 8c7afe748c1d982c38dc44882c7fa63d88245404 121eb1f55c0eca9f404777341798953059ce0463 M src
The bad bisects tested causes war thunder to crash after login when its panning to the hangar. They seem to be new d3d11 implementations? I hope this helps.
@jarrard which commit did it mark as the "first bad" commit?
FWIW I cannot reproduce the problem on my Nvidia machine.
d81146e I believe, that's what it said was first bad one but in actual practice of testing 3a3d7fb was first I marked as bad. So not sure which is correct.
Is your nvidia machine 10 series card? maybe this is specific to 10 series cards?
@jarrard can you test this build please: dxvk-no-predication.tar.gz
It effectively disables predication. War Thunder actually uses this feature (it's the only game I know of that does).
Yes that one appears to work, no hang when panning to hangar vehicle at startup.
Weird. I asked a few users to test this and it works fine (without disabling predication) on a GTX 1050, GTX 980 Ti, and my old GTX 670. You're the only one having issues with it so far.
BTW the native linux client has a vulkan implementation that you can enable via commandline. It outperforms wine + dxvk. https://www.reddit.com/r/Warthunder/comments/8ul51x/howto_run_war_thunder_with_vulkan/
The native vulkan client crashes after 1-3 battles, its extremely unstable and often has window manager conflicts. (confirmed by countless people in the wt linux forum)
As for why Predication doesn't work for me, I dunno, I'm using the arch provided driver, I do have a reshade enabled (lumasharpen) but the issue still happens even when that is disabled.
EDIT: only 32bit client works, and gives better FPS with higher settings then NATIVE client. EDIT2: only 64bit client works for me now, I'm ok with this.
This game has a opengl native version but since v1.77 it has been pretty terrible performance because the developer refuses to move from OpenGL version 3.3. (presumably for MacOS sake even thought they have implemented Metal on that platform).
As such I wanted to get this running on DXVK but it doesn't appear to even launch, the issue could be Wine related.
Software information
Warthunder, Mostly max, have tried to launch on low settings also.
System information
Apitrace file(s)
Log files
Relevant errors:
The game just closes itself at this point. This game is free for anyone to try and test it out. No idea what the issue is. If anyone can figure out whats going on that be great, would love to test this one.