Closed Teuwu closed 4 years ago
Put a link here
Please actually do that.
That said, the game did was working fine a while ago, please test if it works with an older DXVK version (such as 0.70).
I've never done am apitrace before, please be patient, I ran the "wine apitrace.exe trace -a dxgi Crysis.exe -dx10" command, it said no C:\windows\system32\apitrace.exe, I then followed the link to https://github.com/apitrace/apitrace, I then followed a link from there to this page http://apitrace.github.io/#download, but there are a lot of links I'm not sure which one I need.
I also tried the approach to get those three x64 files from the wiki, where it talks about, if you have trouble with an apitrace put these in the folder with the game.exe. When I did that, I get this output
with dxvk dlls as biltin: " apitrace: loaded into C:\GOG Games\Crysis\Bin64\Crysis64.exe wine: Call from 0x7bc7941c to unimplemented function dxgi.dll.DXGID3D10CreateDevice, aborting apitrace: warning: caught exception 0x80000100 " with dxvk dlls as native: " apitrace: loaded into C:\GOG Games\Crysis\Bin64\Crysis64.exe info: Game: Crysis64.exe info: DXVK: v0.93 warn: OpenVR: Failed to locate module info: Enabled instance extensions: info: VK_KHR_get_physical_device_properties2 info: VK_KHR_surface info: VK_KHR_win32_surface info: GeForce GTX 970: info: Driver: 396.54.9 info: Vulkan: 1.1.85 info: Memory Heap[0]: info: Size: 4096 MiB info: Flags: 0x1 info: Memory Type[7]: Property Flags = 0x1 info: Memory Type[8]: Property Flags = 0x1 info: Memory Heap[1]: info: Size: 12029 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: DXGI: NvAPI workaround enabled, reporting AMD GPU wine: Call from 0x7bc7941c to unimplemented function D3D11.DLL.D3D11CoreCreateDevice, aborting apitrace: warning: caught exception 0x80000100 "
when it says "DO NOT use DXVK together with apitrace!" does that mean to set the dxvk dlls to builtin, in the winecfg window? is there a tutorial I could follow? I've tried with each release since 0.70, and no go, so I figured I'll make an issue of it.
Just tested this on my AMD rig and the game runs fine, so I don't think an apitrace would be particularly useful here. Have you tried running it in a clean wine prefix with just d3dcompiler and dxvk installed (i.e. without PlayOnLinux magic)?
For future reference, you'd need the msvc-latest build of apitrace in order to record D3D10 traces.
I did make a new wineprefix, just now actually. The playonlinux, is just the location of the wineprefix, I did not use the playonlinux program. I made a new wineprefix, win64, installed latest dxvk, and d3dcompiler with winetricks, copied over the game folder, from the old prefix. Tried running it, same stop point. I then used winetricks to install 0.70 dxvk, and same problem.
Since it runs on AMD, is there a way I could make the game think I have an AMD system instead of Nvidia? I know there is the option in the dxvk config file I could setup, and I know I can set values in the registry to do that as well. I'll try fiddling with it.
@Teuwu Can you please try a different Wine version with a clean prefix? Wine 3.21 fixed a possible 3.20 regression in Crysis Warhead and maybe Crysis 1 was also affected but wasn't reported.
Can confirm that this game hangs on my Nvidia rig with both the 396.54.09 and 415.something drivers. No idea why.
@Teuwu Playonlinux wine builds do not have vulkan enabled. They are working on a new build system for that. So I hope you got your wine version from somewhere else (or maybe it has changed recently?).
@ImperatorS79 on my system setup ~/.PlayOnLinux is where I have a 1TB HDD mounted as game storage, its just LOCATION I get my wine builds from the official winehq repo, or build them myself, for crysis 1 + dxvk, I've only used the official winehq builds from their ubuntu 18.04 repo, normally staging builds.
changing the vender and device IDs in the dxvk.conf, file no change still crashes.
I tried using the winehq-devel 3.21, as I don't yet have winehq-staging-3.21 only 3.20 for staging so far with 3.21-dev, for some reason it refused to even load the 64bit binary (Could not launch main application), so I tried the 32bit version of the game it loaded to the main menu but still crashes as in my OP. I also want to say that from the then current version of wine when dxvk 0.70 was released to now, I have not yet had this game working with dxvk.
I also just tried the 390.89.0 Nvidia driver, and still no go, just crash as in OP.
The tests mentioned in this post were run from a clean wineprefix just dxvk 0.93 and d3dcompiler.
I tested the GOG version (64 bit) with Proton 3.16-4, Proton 3.16-7 (Beta) and Wine-4.1 (Staging) + dxvk70. I also installed d3dcompiler_43 using winetricks.
It hangs in all three with dx10 mode when loading a game.
I'm using an AMD RX570 with Mesa 18.3.2
@itaranto your issue is that you don't have the d3dx libraries installed, use winetricks d3dx10_43
to fix that.
@itaranto your issue is that you don't have the d3dx libraries installed, use
winetricks d3dx10_43
to fix that.
That worked! Thanks!
One little detail, I first installed d3dx10_43 over the existing installation, that didn't worked. The map loaded correctly with the "Press any key to continue" button, but after I pressed that I got a black screen.
So, I re-created my prefix and installed the libraries in this order:
winetricks d3dx10_43 d3dcompiler_43
And... that worked like a charm! I tested with everything at "Very High", really good FPS.
Thanks, you are awesome!
I've found that - repeatedly - installation of whole directx9 via winetricks, + manually setting up d3dcompiler_* up to version 47, is required for Crysis 1 expansions, Warhead, to work. It also affect the most popular mod on the engine, MechWarrior: Living Legends (but in the end, it works, awesomely!)
On my system Crysis (from GOG) hangs on startup but when I run a benchmark batch file or make it load a level directly from a batch file like so crysis.exe +map island
, both the 32 bit and 64 bit binary work.
System information
EDIT: Problem was caused by calling Crysis64.exe
rather than Crysis.exe
. Game runs fine now.
- Driver: Nvidia 430.50.0
No.
Not sure what you mean but that's the driver version reported by DXVK (ok, minus the "Nvidia" text). The Nvidia driver itself just says 430.50.
ok a lot has changed since my opening post. but I can now say that the game works. I'm currently running an RTX 2070, intel i7-9700 32gb ram system Ubuntu 19.10 NVIDIA driver version 440.36, from ubuntu nvidia driver ppa
I copied all the data from my last system to start crysis, the wineprefix reports to have DXVK version 0.93 so really old! the wine version I have setup to launch wine with is 4.12.1 (I'm assuming from winehq) also obviously old.
my libraries override from winecfg are:
d3d10 (native) d3d10_1 (native) d3d10core (native) d3d11 (native) d3dcompiler_43 (native) d3dx10_43 (native) *dxgi (native)
so I'm thinking that the addition of d3dcompiler_43 is what makes makes this game work. will follow up with more testing
i'm also running the GoG 32bit version.
so I started with a clean wineprefix (wine 4.21 staging) used winetricks to install dxvk and d3d10_43 used winecfg to enable virtual desktop to fix that I couldn't set the resolution right I also used the winetricks sandbox, before 1st launch copied over the game folder setting all graphical options to max and res to 1920x1080 I tried to start a new game WITHOUT d3dcompiler_43 game would load to "press any key" and then crash
I then used winetricks to install d3dcompiler_43, and the game would load fine, I quit at the scene where the people are in the airplane, before the skydive.
to test again created a clean a prefix, installed dxvk d3dx10_43 tried loading the first level, got a crash few seconds in tried 32 & 64, then I installed d3dcompiler_43
conclusion d3dcompiler_43 and d3dx10_43 are required. Closing.
Hi, this issue is still present for me. Crysis.exe crashes when a level loaded and you press the key to start. The game runs fine with -dx9 argument.
I've created a clean wineprefix, executed setup_dxvk.sh install --symlink
and winetricks d3dx10_43 d3dcompiler_43
But the Issue is still there.
Here are some logs: Crysis_d3d11.log Crysis_dxgi.log Game.log
Here is the terminal output: 0009:fixme:d3dcompiler:d3d10_shader_reflection_GetDesc iface 04CA8C64, desc 0032DBDC partial stub! 0009:fixme:d3dcompiler:skip_dword_unknown Skipping 4 unknown DWORDs: 0009:fixme:d3dcompiler:skip_dword_unknown 0x6a9cd7f0 0009:fixme:d3dcompiler:skip_dword_unknown 0x52639a1b 0009:fixme:d3dcompiler:skip_dword_unknown 0xf0a36782 0009:fixme:d3dcompiler:skip_dword_unknown 0xdf7dbb4d 0009:fixme:d3dcompiler:skip_dword_unknown Skipping 1 unknown DWORDs: 0009:fixme:d3dcompiler:skip_dword_unknown 0x00000001 0009:fixme:d3dcompiler:skip_dword_unknown Skipping 1 unknown DWORDs: 0009:fixme:d3dcompiler:skip_dword_unknown 0x00000008 0009:fixme:d3dcompiler:skip_dword_unknown Skipping 1 unknown DWORDs: 0009:fixme:d3dcompiler:skip_dword_unknown 0x00000008 0009:fixme:d3dcompiler:skip_dword_unknown Skipping 1 unknown DWORDs: 0009:fixme:d3dcompiler:skip_dword_unknown 0x00000000 0009:fixme:d3dcompiler:skip_dword_unknown Skipping 1 unknown DWORDs: 0009:fixme:d3dcompiler:skip_dword_unknown 0x00000000 0009:fixme:d3dcompiler:skip_dword_unknown Skipping 1 unknown DWORDs: 0009:fixme:d3dcompiler:skip_dword_unknown 0x00000000 0009:fixme:d3dcompiler:skip_dword_unknown Skipping 1 unknown DWORDs: 0009:fixme:d3dcompiler:skip_dword_unknown 0x00000000 0009:fixme:d3dcompiler:skip_dword_unknown Skipping 2 unknown DWORDs: 0009:fixme:d3dcompiler:skip_dword_unknown 0x00000000 0009:fixme:d3dcompiler:skip_dword_unknown 0x00000000 0009:fixme:d3dcompiler:d3d10_shader_reflection_GetDesc iface 04CA8C64, desc 0032DAC0 partial stub! 0009:fixme:faultrep:ReportFault 0032DCE8 0x0 stub
winetricks d3dx10_43 d3dcompiler_43
It's still using the Wine implementation of d3dcompiler so that didnt work.
winetricks d3dx10_43 d3dcompiler_43
It's still using the Wine implementation of d3dcompiler so that didnt work.
What do you mean? Should i download the d3dcompiler_43.dll and put it into game dir? My wine overrides are the following:
And you are sure thats the correct prefix thats also getting used for the game?
0009:fixme:d3dcompiler:skip_dword_unknown Skipping 4 unknown DWORDs:
is produced by Wine's d3dcompiler.
yes, im sure that i did use the correct wineprefix.
Executed all in a terminal and every command had the same WINEPREFIX=/home/alex/.wine_clean
prefix added
Edited: I've tested with a downloaded d3dcompiler_43.dll and it will crash while loading now, not even showing "press key to play"
@AlexanderWKoenig Are you using the GOG version, or the Steam version?
I had this problem with the GOG version (I think it only affected the 64bit binary), but I got it on Steam and it seems to work fine.
@AlexanderWKoenig Are you using the GOG version, or the Steam version?
I had this problem with the GOG version (I think it only affected the 64bit binary), but I got it on Steam and it seems to work fine.
I've just tested the 32bit binary, and I dont know which version of the game it its. It just happened to be on my hard drive ;-)
I believe the Steam version only has the 32bit binary.
The GOG version has both 32bit and 64bit.
I Haven't noticed any performance differences between the two, but I think DXVK still has issues with 32bit games.
Not sure about the original physical version, or the Origin version.
I launch the game, get to the main menu, load the first level, after the first part in the cave after the ship opens, there is the first white screen, this is the point at with the game crashes. The game runs ok in dx9 mode. This is the GOG.com version of the game, I've also tried with the version from the original DVD and same deal. yes, I do have d3d_compiler43 as an override.
These are the commands I use to start the game: export DXVK_HUD=devinfo,fps,version export WINEPREFIX=~/.PlayOnLinux/wineprefix/crysis_warhead_gog/ cd ~/.PlayOnLinux/wineprefix/crysis_warhead_gog/drive_c/GOG\ Games/Crysis/Bin64 wine Crysis.exe -dx10
I'm just not sure what I'm doing wrong, as doitsujin showed it working with the version that introduced dx10 support.
Software information
Name of the game, settings used etc. Crysis 1, everything lowest
System information
Apitrace file(s)
Log files
Crysis64_d3d10.log Crysis64_d3d11.log Crysis64_dxgi.log Crysis_d3d11.log Crysis_dxgi.log