ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.62k stars 1.07k forks source link

Crysis (1) (17300) #178

Open Leopard1907 opened 6 years ago

Leopard1907 commented 6 years ago

It literally crawls even on intro videos like Nvidia advert , Crytek logo etc.

System info:

Linux Mint 18.3 Cinnamon Gtx 1050 396.51 driver Steam Beta Client

doitsujin commented 6 years ago

Crysis 1 currently only works with Esync disabled, I ran into the same problem when testing DXVK's Dx10 support with it.

Leopard1907 commented 6 years ago

How can i do that and will it work on DXVK's DX10 or Wine's DX10?

Thanks for your efforts btw :)

gusthe commented 6 years ago

@Leopard1907 to disable esync set the launch option for the game to. PROTON_NO_ESYNC=1 %command%

Leopard1907 commented 6 years ago

@gusthe

Thanks that worked. But performance is not good.

@kisak-valve It works with gusthe's workaround so it is up to you to decide close this issue or not.

landjalan commented 6 years ago

Runs very good in 1900*1200 high settings after using mentioned launch option

master-caster commented 6 years ago

i always get an license error any suggestions on this?

michaelclarkcuadrado commented 6 years ago

Yes, I am unable to start it due to a licensing server being unavailable. Any workarounds?

BLaDZer commented 6 years ago

when trying to launch steam version got license error (same as above), but when trying fixed win64 version from origin which only works for me on windows 8.1 x64 it says "CD/DVD-ROM not found"

michaelclarkcuadrado commented 6 years ago

The license error appears to be intermittent and is probably on EA's end. Every 1 in 5 executions, the game runs past the license check, but then crashes after drawing a black fullscreen window. Logs don't show anything out of the ordinary, however, people have gotten DXVK + wine to run the GOG version of crysis successfully. I even tried with the new proton beta, same result.

Raulvo commented 6 years ago

License problem here too. Damn DRM.

landjalan commented 6 years ago

license error only appeared once. after restarting os, game ran 3 weeks perfectly. today i received an crysis update approx. 350mb big, since then the game does not start anymore(proton 3.7.6) i tried running steam beta and proton beta, problem persists....

landjalan commented 6 years ago

license error only appeared once. after restarting os, game ran 3 weeks perfectly. today i received an crysis update approx. 350mb big, since then the game does not start anymore(proton 3.7.6) i tried running steam beta and proton beta, problem persists....

i use crysis steam store version and i guess your issues(license) are connected to have a different version.

crysis wars, also doesnt start atm

landjalan commented 6 years ago

manually starting Crysis.exe says i do not have an internet connection and exits :+1:

~/.local/share/Steam/steamapps/common/Proton 3.7/dist/bin $ ./wine ~/.local/share/Steam/steamapps/common/Crysis/Bin32/Crysis.exe

bobwya commented 6 years ago

In my testing today... The Steam version of Crysis 1 runs really well with wine-staging 3.16 and DXVK 0.72 plus d3dcompiler_43 as native. Using the Nvidia beta driver 396.54.06 and a Geforce 970M (3Gb) card. So:

winetricks dxvk72 d3dcompiler_43

Crysis is pretty playable in DX10 mode, at Very High settings, with this setup (testing with 2560x1440p).

I've literally been waiting years for this game to run well under Wine! So thanks to Valve, @doitsujin and all the guys at Codeweavers!

I haven't tested out Nvidia's env variables yet:

__GL_SHADER_DISK_CACHE_PATH=...
__GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1

Basically, because I wanted a before and after comparison.

Hopefully Proton will get updated to the DX10 enabled DXVK builds - soonish? Crysis doesn't start with the current Proton release: 3.7-6.

Leopard1907 commented 6 years ago

@bobwya

These variables don't have to do anything benefit wise if you're playing via Proton though. Because Steam caches them on their respective dirs and afaik unlimited.

Although , i agree that is a good feature if you're playing on plain Wine+DXVK. Especially for OverWatch like shader crazy games.

Rabcor commented 6 years ago

Just did a fresh install, got the license server issue the first time I tried to start it, after that the game launches to a black screen for like 1 second before crashing. I had the exact same result with crysis warhead.

Oddly enough, when I tried to launch with a cracked exe file, the game would launch but hang instead of crash. I got the same exact behavior with crysis warhead, however when I tried launching 64 bit crysis the game launched if I disabled esync, and I could hear the audio, but there was no video lol.

To run 64 bit crysis warhead, I replaced the bin32 diretory with the bin64 directory and renamed crysis64.exe to just crysis.exe for anyone who wants to try that. I heard that you can also execute the original crysis with the same binaries but I didn't try it.

Rabcor commented 6 years ago

I got it working out of the box on proton on DX9 only (DX10/DXVK workaround below), performance is rather shoddy, getting 20-30fps @4k on 980-Ti. But it works, and if you have decent hardware at the right resolution, works well.

These are the launch options I needed. PROTON_NO_ESYNC=1 %command% -dx9

Alternative launch options that also worked: PROTON_NO_D3D11=1 PROTON_NO_ESYNC=1 %command%

It works for both crysis and crysis warhead.

(Update) to get around the license issue, there are two ways, the first one is to download a cracked exe file and run the game from that via steam once, you should then be able to replace it with the original exe without issue. The second solution; for anyone who has crysis warhead, is to replace the bin32 folder in the original crysis, with the bin64 folder from crysis warhead (possibly necessary: rename crysis64.exe to crysis.exe to launch from that), like with the crack solution, this only needs to be done once to work around the license issue, after which you can replace it with the original binaries again.

As a workaround to run it with DXVK, using protontricks (alternatively can probably use winetricks)

protontricks 17300 -q d3dcompiler_43

(Substitute 17300 with 17330 for crysis warhead)

Winetricks alternative: WINEPREFIX=/path/to/steamapps/compatdata/17300/pfx winetricks d3dcompiler_43

It will still require PROTON_NO_ESYNC=1.

For me, using DXVK gave me a 100% performance boost (from 20-30fps at high 4k to 50-60fps at high 4k)

Tested on proton 3.16-1 beta

Rabcor commented 6 years ago

On DXVK, I can get 50-60fps at 4K/UHD with very high settings, if I set shaders to High. Setting Shaders to medium brings FPS up above 100 with an average of 120.

There is however an issue with flickering shaders(?) on trees, extreme example: https://steamuserimages-a.akamaihd.net/ugc/958596576359460133/82D1A51E0ED8556D94FB0DD097DC93A20346B8D8/ (it's usually not that bad, and only affects leaves normally, but here we can see it affecting a whle tree)

The amount of flickering foliage can be reduced drastically by reducing object quality to high or lower, don't set it to very high or you will get flickering everywhere. I heard that there's a fix for this in the next nvidia driver update.

nerdyman commented 6 years ago

I've got it working with DX9 and 64bit after some Googling to find the files. But I can't get it working with DX10, it just hangs with a black screen.

@Rabcor Did you have to do anything else other than protontricks 17300 -q d3dcompiler_43 with the PROTON_NO_ESYNC=1 %command% launch option? I'm not familiar with protontricks or winetricks but it looks like it installed everything to the correct directories.

tingvarsson commented 6 years ago

@nerdyman I ran it with DX10 and dxvk on the 32bit version. 64bit was not needed. Actually finished the whole game on 32bit running 4k/highest settings. (gtx 1080).

I added d3dcompiler_43 as you and the NO_ESYNC as workarounds.

Rabcor commented 6 years ago

@nerdyman I don't recall having done anything more than this no, are you sure you are using a GPU and driver that supports vulkan? Have you been able to run any other game with dxvk?

kode54 commented 6 years ago

How can I run the benchmarks? I want to impress people with my Linux pixel pushing power.

E: DX9 performance is abysmal, how do I get DX10 working? I've even run winetricks d3dcompiler_43 on the prefix already, nothing.

Rabcor commented 6 years ago

How can I run the benchmarks? I want to impress people with my Linux pixel pushing power.

E: DX9 performance is abysmal, how do I get DX10 working? I've even run winetricks d3dcompiler_43 on the prefix already, nothing.

Are you sure you correctly installed d3dcompiler_43? Did you properly disable ESync? I only got a black screen before I installed the d3dcompiler_43 so you should always double check if you installed it correctly. If it still is not working, you need to confirm that you can in fact launch any DXVK game at all, you might not have driver support for vulkan, or it might not be properly set up on your system yet..

I also updated the earlier post with explanations for how I worked around the license error issue.

@nerdyman besides fixing the license error issue. I didn't need to do anything, however there was a graphical issue that is solved with the transform feedback extension. For nvidia users, this is only supported by the vulkan beta driver (396.54.09 or newer) do not think you have this even if your version number is higher. If you are encountering this issue you simply need to wait for another driver update that supports this feature, or use the vulkan beta drivers.

It is possible that the game only currently works on nvidia's proprietary drivers, it's important you share your hardware information and what driver you're using when you are asking for help with things like this.

To be clear though, I could only get the original Crysis working on the 32-bit binaries, although I did get it to launch on the 64-bit ones from crysis warhead, I couldn't actually play it with them so I had to revert back to the original 32-bit binaries in order to play.

kode54 commented 6 years ago

How can I run the benchmarks? I want to impress people with my Linux pixel pushing power. E: DX9 performance is abysmal, how do I get DX10 working? I've even run winetricks d3dcompiler_43 on the prefix already, nothing.

Are you sure you correctly installed d3dcompiler_43? Did you properly disable ESync? I only got a black screen before I installed the d3dcompiler_43 so you should always double check if you installed it correctly. If it still is not working, you need to confirm that you can in fact launch any DXVK game at all, you might not have driver support for vulkan, or it might not be properly set up on your system yet..

I used winetricks with WINEPREFIX to specify the 17300/pfx full path, and installed d3dcompiler_43, and specify the ESync disable environment variable in the launch command.

I was able to run the benchmark by adding the -DEVMODE switch to the same launch command, and passing the map island and exec benchmark_gpu commands to the console. I got minimum 15.9 fps and average 45, on the RX 480 listed here.

https://gist.github.com/kode54/3ff952f39b407d6f806a6779838f5335

E: Got it working. It simply never occurred to me that I just may need to have installed mesa-vulkan-drivers:i386 on my system for a 32 bit game, heh.

Rabcor commented 6 years ago

Yup, that would be important.

Bednar87 commented 5 years ago

the game launches on my set up in DX10 modebut the screen is black. I can here the intro videos playing then the menu loading and the sounds of the menu but everything is pitch black. Passing -DX9 solves the issue but the performance is terrible.

Game update: AppID 17300 "", ProcID 17080, IP 0.0.0.0:0 ERROR: Could Not Get Primary Adapter Handle Installing breakpad exception handler for appid(gameoverlayui)/version(20181214221845) Installing breakpad exception handler for appid(gameoverlayui)/version(1.0) Installing breakpad exception handler for appid(gameoverlayui)/version(1.0) [1227/124238.171958:INFO:crash_reporting.cc(239)] Crash reporting enabled for process: renderer Installing breakpad exception handler for appid(gameoverlayui)/version(1.0) JS method call WebChat.GetOverlayChatBrowserInfo with 1 arguments JS method call Storage.SetString with 2 arguments JS method call SharedConnection.SendMsgAndAwaitResponse with 3 arguments Unable to read VR Path Registry from C:\users\steamuser\Local Settings\Application Data\openvr\openvrpaths.vrpath Unable to read VR Path Registry from C:\users\steamuser\Local Settings\Application Data\openvr\openvrpaths.vrpath Unable to read VR Path Registry from C:\users\steamuser\Local Settings\Application Data\openvr\openvrpaths.vrpath Unable to read VR Path Registry from C:\users\steamuser\Local Settings\Application Data\openvr\openvrpaths.vrpath Game removed: AppID 17300 "", ProcID 17080 No cached sticky mapping in ActivateActionSet.JS method call WebChat.GetOverlayChatBrowserInfo with 1 arguments JS method call Storage.SetString with 2 arguments pid 17083 != 17082, skipping destruction (fork without exec?)

Computer Information: Manufacturer: Unknown Model: Unknown Form Factor: Desktop No Touch Input Detected

Processor Information: CPU Vendor: GenuineIntel CPU Brand: Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz CPU Family: 0x6 CPU Model: 0x3a CPU Stepping: 0x9 CPU Type: 0x0 Speed: 3800 Mhz 4 logical processors 4 physical processors HyperThreading: Unsupported FCMOV: Supported SSE2: Supported SSE3: Supported SSSE3: Supported SSE4a: Unsupported SSE41: Supported SSE42: Supported AES: Supported AVX: Supported CMPXCHG16B: Supported LAHF/SAHF: Supported PrefetchW: Unsupported

Operating System Version: "Arch Linux" (64 bit) Kernel Name: Linux Kernel Version: 4.19.12-arch1-1-ARCH X Server Vendor: The X.Org Foundation X Server Release: 12003000 X Window Manager: Xfwm4 Steam Runtime Version:

Video Card: Driver: NVIDIA Corporation GeForce GTX 970/PCIe/SSE2 Driver Version: 4.6.0 NVIDIA 415.25 OpenGL Version: 4.6 Desktop Color Depth: 24 bits per pixel Monitor Refresh Rate: 59 Hz VendorID: 0x10de DeviceID: 0x13c2 Revision Not Detected Number of Monitors: 1 Number of Logical Video Cards: 1 Primary Display Resolution: 1920 x 1200 Desktop Resolution: 1920 x 1200 Primary Display Size: 20.39" x 12.76" (24.02" diag) 51.8cm x 32.4cm (61.0cm diag) Primary Bus: PCI Express 16x Primary VRAM: 4096 MB Supported MSAA Modes: 2x 4x 8x 16x

Sound card: Audio device: VIA VT2020

Memory: RAM: 7934 Mb

Miscellaneous: UI Language: English LANG: en_GB.utf8 Total Hard Disk Space Available: 104481 Mb Largest Free Hard Disk Block: 18209 Mb VR Headset: None detected

Recent Failure Reports:

CSahajdacny commented 5 years ago

@Bednar87 I guess that is because D3D9 is translated to the obsolete OpenGL... The project VK9 could be the solution for this problem... I hope Valve fund it like they did with DXVK, because there are A LOT of heavy DX9 games.

switchgard commented 5 years ago

Wow, alot of recent comments here! There are people working on a gamespy alternative called OpenSpy, and crysis multiplayer is working again! HERE IS THE MULTIPLAYER FIX There are 2-3 servers up

Rabcor commented 5 years ago

Wow, alot of recent comments here! There are people working on a gamespy alternative called OpenSpy, and crysis multiplayer is working again! HERE IS THE MULTIPLAYER FIX There are 2-3 servers up

Does that really work? I wonder if this can get flatout 2 multiplayer working again too...

itaranto commented 5 years ago

I'm testing with the GOG version, only DX9 works so far.

Environment: OS: openSUSE Tumbleweed Kernel: 4.20.7-1-default Mesa: 18.3.2 GPU: AMD RX570

I run the DX9 mode like this:

PROTON_NO_ESYNC=1 PROTON_NO_D3D11=1 STEAM_COMPAT_DATA_PATH="~/.steam/steam/steamapps/compatdata/crysis/" \
~/.steam/steam/steamapps/common/Proton\ 3.16\ Beta/proton run \
~/.steam/steam/steamapps/common/Crysis/Bin64/Crysis.exe

For the DX10 mode I had to install d3dcompiler_43

WINEPREFIX="~/.steam/steam/steamapps/compatdata/crysis/pfx/" winetricks d3dcompiler_43

And the run like this:

PROTON_NO_ESYNC=1 STEAM_COMPAT_DATA_PATH="~/.steam/steam/steamapps/compatdata/crysis/" \
~/.steam/steam/steamapps/common/Proton\ 3.16\ Beta/proton run \
~/.steam/steam/steamapps/common/Crysis/Bin64/Crysis.exe

The DX10 version starts correctly, I'm able to navigate the menus, but it hangs when loading a game.

With Proton 3.16-4 I see:

...
Unable to read VR Path Registry from C:\users\steamuser\Local Settings\Application Data\openvr\openvrpaths.vrpath
Unable to read VR Path Registry from C:\users\steamuser\Local Settings\Application Data\openvr\openvrpaths.vrpath
ERROR: Could Not Get Primary Adapter Handle
warning: The VAD has been replaced by a hack pending a complete rewrite
warning: The VAD has been replaced by a hack pending a complete rewrite

And with Proton 3.16-7 I see:

...
Unable to read VR Path Registry from C:\users\steamuser\Local Settings\Application Data\openvr\openvrpaths.vrpath
Unable to read VR Path Registry from C:\users\steamuser\Local Settings\Application Data\openvr\openvrpaths.vrpath
ERROR: Could Not Get Primary Adapter Handle
wine: Call from 0x7b44af1c to unimplemented function d3dx10_43.dll.D3DX10LoadTextureFromTexture, aborting
itaranto commented 5 years ago

I was able to get it running.

As Philip Rebohle suggested, I need the dx3d libraries (d3dx10_43).

I had to install the libraries in a certain order, otherwise I got a black screen. I re-created the prefix and installed: winetricks d3dx10_43 d3dcompiler_43

LeJimster commented 5 years ago

The default 32bit version of Crysis that Steam comes with doesn't work for AMD users, at least from reading protondb and my own experience with my RX Vega 56.

Using Proton 4.11-2 I had download the DX10 64bit binaries, backup and replace the bin32 directory with them, then run protontricks 17300 -q d3dcompiler_43 and disable Esync as was mentioned here, finally I was able to get it to run.

My System Specs

Leopard1907 commented 5 years ago

Steam version is simply lesser one compared to GOG build. GOG build is 64 bit and has additional languages that doesn't exist on Steam build.

kisak-valve commented 4 years ago

Crysis 1 not Launching via Steamplay Proton

Issue transferred from https://github.com/ValveSoftware/Proton/issues/3450. @mukildev posted on 2020-01-26T11:23:46:

Compatibility Report

System Information

I confirm:

======================

Proton: 1578946641 proton-4.11-12

SteamGameId: 17300

Command: ['/mnt/6AB0375DB0372F47/Steam_Linux/steamapps/common/Crysis/Bin32/Crysis.exe']

Options: {'noesync'}

======================

Symptoms

The Game does not launch

kisak-valve commented 4 years ago

Hello @mukildev, what filesystem are you using with /mnt/6AB0375DB0372F47?

mukildev commented 4 years ago

I'm using NTFS file system with the following mount options rw,exec,nosuid,nodev,nofail,x-gvfs-show,uid=1000,gid=1000

I have full permissions to files and owned by me. I have installed Dota 2 in the same drive and it launches perfectly.

kisak-valve commented 4 years ago

Proton is known to have a hard time interacting with NTFS, so it's likely that's a contributing factor, but those mount option look close to previous reports of it working.

mukildev commented 4 years ago

I also tried installing crysis in ext4 file system. Same issue persists.

Here is the proton log

Proton: 1578946641 proton-4.11-12 SteamGameId: 17300 Command: ['/home/mukildev/.steam/debian-installation/steamapps/common/Crysis/Bin32/Crysis.exe'] Options: {'noesync'}

CSahajdacny commented 4 years ago

weird.. I can play Crysis out of the box.. 17300_20200126113810_1

The proton log is huge with several fixme, but the game works. steam-17300.log

mukildev commented 4 years ago

Alright, I managed to make it work!!

Did a clean install of steam and the game in an ext4 file system drive and did the following in terminal

protontricks 17300 -q d3dcompiler_43. protontricks 17300 -q d3dx10_43

Replaced the 32 bit binaries which comes with steam with 64 bit binaries from gog version (found it online), i.e. bin64 folder (from gog version) was renamed to bin32. The original bin32 folder was renamed to bin32_backup

And used PROTON_NO_ESYNC=1 %command% at launch options and the game works flawlessly!

zaggynl commented 4 years ago

Crashes after starting, I've placed the bin folder as per https://github.com/ValveSoftware/Proton/issues/178#issuecomment-578514238 and installed the protontricks.

Log attached. steam-17300.log

ericoporto commented 4 years ago

The game used to run with my i5 and gtx970, but doesn't run on my Ryzen 3700x and RTX2080.

switchgard commented 4 years ago

The game used to run with my i5 and gtx970, but doesn't run on my Ryzen 3700x and RTX2080.

Did you try the small multiplayer patch at crymp.net? This includes fixes for AMD hardware, and allows you to play multiplayer.

SevgiZ commented 4 years ago

I can't seem to get Crysis working at all. Same with others looking at ProtonDB

Compatibility Report

System Information

Symptoms

Nothing launches. Steam says it's in game for five seconds then goes back to normal.

Reproduction

Just launch the game. What I've tired:

Install 64 bit exe/binaries (fixes launching issues on Windows normally) protontricks 17300 -q d3dx10_43 protontricks 17300 -q d3dcompiler_43 Launch commands: PROTON_NO_ESYNC=1 %command% Changed Windows version in "winecfg" to W10, 7, Vista and XP Reinstall and tried all that again

McMarius11 commented 4 years ago

for me crysis works perfectly.

OS: Manjaro Linux KERNEL: 5.6.15-1-MANJARO CPU: Intel Core i5-7600K @ 3.80GHz GPU: NVIDIA GeForce GTX 1070 GPU DRIVER: NVIDIA 440.82 RAM: 24 GB PROTON: 5.0-9

gnusuari0 commented 4 years ago

Out of the box is not working. OS: Ubuntu 20.04 LTS KERNEL: 5.4.0-33-generic CPU: AMD Ryzen 7 1800X Eight-Core GPU: Radeon RX 580 GPU DRIVER: 4.6 Mesa 20.0.4 RAM: 16 GB

Proton 5.0-9

Steam log attached. steam-17300.log

McMarius11 commented 4 years ago

Out of the box is not working. OS: Ubuntu 20.04 LTS KERNEL: 5.4.0-33-generic CPU: AMD Ryzen 7 1800X Eight-Core GPU: Radeon RX 580 GPU DRIVER: 4.6 Mesa 20.0.4 RAM: 16 GB

Proton 5.0-9

Steam log attached. steam-17300.log

Error is in Line 1936 the problem is with the AMD Graphics ERROR: Could Not Get Primary Adapter Handle 6713.041:00e0:00e4:trace:loaddll:load_native_dll Loaded L"Z:\home\raul\.steam\steamapps\common\Crysis\Bin32\ATIMGPUD.DLL" at 0x34e0000: native 6713.056:00e0:00e4:fixme:driver:D3DKMTOpenAdapterFromHdc (0x71dc80): stub

maybe you need to upgrade the mesa driver or google the error, i hope it helps

gnusuari0 commented 4 years ago

Error is in Line 1936 the problem is with the AMD Graphics ERROR: Could Not Get Primary Adapter Handle 6713.041:00e0:00e4:trace:loaddll:load_native_dll Loaded L"Z:\home\raul.steam\steamapps\common\Crysis\Bin32\ATIMGPUD.DLL" at 0x34e0000: native 6713.056:00e0:00e4:fixme:driver:D3DKMTOpenAdapterFromHdc (0x71dc80): stub

maybe you need to upgrade the mesa driver or google the error, i hope it helps

Thanks. I'll give it a shot.

springwurm commented 4 years ago

Error is in Line 1936 the problem is with the AMD Graphics ERROR: Could Not Get Primary Adapter Handle 6713.041:00e0:00e4:trace:loaddll:load_native_dll Loaded L"Z:\home\raul.steam\steamapps\common\Crysis\Bin32\ATIMGPUD.DLL" at 0x34e0000: native 6713.056:00e0:00e4:fixme:driver:D3DKMTOpenAdapterFromHdc (0x71dc80): stub maybe you need to upgrade the mesa driver or google the error, i hope it helps

Thanks. I'll give it a shot.

or its a '3D Now!' issue.

after applying this workaround: https://www.pcgamingwiki.com/wiki/Crysis, the Game starts again.

BLaDZer commented 1 year ago

Hello, everyone. In January 2023, the game was finally updated in Steam! Say hello to x64 binaries and working game out the box! Yay :)

x64 bit run option: image

Game was succesfully started without NO_FSYNC or NO_ESYNC options but I'm not sure how it could affect in-game performance

But still, a recent update broke the localized versions of the game. Entire in-game menu just disappeared. For example German was broken by this change: https://steamdb.info/depot/17304/history/?changeid=M:4997311157219043932 And same for all other languages: image

@kisak-valve, I also want to report about regression in proton v7.0-5: when you exit the game, it just freezes. No problem with proton v6.3-8. Tested on clear prefix

steam-17300-proton-6.3-8.log steam-17300-proton-7.0-5.log

my system specs