protonscr

Cry of Fear

protonopen appid 223710Game compatibility - UnofficialMesa drivers.NET
ValveSoftware/Proton#2379 · opened 2019-03-03 by aarroz · updated 2023-09-13 · 19 comments · github · game page · search this game
Aaarroz 2019-03-03 github

Compatibility Report

  • Name of the game with compatibility issues: Cry of Fear
  • Steam AppID of the game: 223710

System Information

  • GPU: GTX 1050
  • Driver/LLVM version: 415.27
  • Kernel version: 4.18.0-15-lowlatency
  • Proton version: 3.16-7 beta

I confirm:

  • [ :white_check_mark: ] that I haven't found an existing compatibility report for this game.
  • [ :white_check_mark: ] that I have checked whether there are updates for my system available.

steam-223710.log

Symptoms

Game crashes due to missing .Net 40 for the launcher

Reproduction

Install game.
Click "play".

AAwesamLinux 2019-04-20 github

Distro: Linux Mint 19.1 Tessa (64 bit)
GPU: Vega 56
Driver/LLVM version: Mesa 19.1.0-devel/9.0.0
Kernel version: 5.0.7-050007-generic
Proton version: 4.2-3

Compatibility Report:
The game is playable now out of the box with Proton 4.2-3, and the only issues present that are not in the Windows version is that the source engine menu font rendering is a bit glitchy. But it is still legible enough to be able to play the game.

However the game has many bugs in the first place, and even on Windows runs into many issues. Note the very first time launching the game, a window pops up saying NULL, just click OK and ignore it (I think this is because it looks for a config file that has not been created yet).

The launcher does not detect exotic resolutions, so just select a standard resolution and windowed (otherwise it launches to a black full screen). And then at the games main menu, you can select the proper resolution and set the fullscreen option and save (and never touch it again on the launcher).

Next problem I encountered was the three hands and the flashlight not working issue. This is supposedly caused by a GL_Renderer Bug, however the proposed fix for the Windows version did not work for me (the fix detailed here https://cry-of-fear.fandom.com/wiki/Bugs_and_Glitches)

system_info.txt

?ghost 2020-01-07 github

GPU: Radeon RX 590 Series
Driver/LLVM version: 4.5 (Compatibility Profile) Mesa 19.2.1
Distro version: Ubuntu 18.04
Link to full system information report as Gist: https://gist.github.com/kakolisgay/44d129587f5151cc9827106d89fee276
Proton version: 4.11-9

Compatibility Report:

The game runs at a very low framerate similarly to #3411 once past the intro/video sequence. I'm assuming there's something about my hardware configuration that may cause this.

Mmkrupczak3 2020-12-15 github

Next problem I encountered was the three hands and the flashlight not working

Had the same darn issue. When I put in the console command:

gl_renderer 1

I get the output:

No paranoia hacked opengl32.dll, custom renderer disabled

Apparently "paranoia" was the name of a cheat for CS 1.6 on the Gldsrc engine, but this error message is extremely confusing, does this mean I disabled the software renderer and sucessfully switched to the gl_renderer?

I don't think so. I think the hands and lighting bug are caused by the janky fallback to the software renderer, and that it fails for whatever reason to run the gl renderer due to an anti-cheat deep within the game that doesn't like whatever the cry of fear developers mucked around with.

Regardless, the issue is not fixed by this command.

Using the command sv_cheats 1 does not fix this either.

Rreboot-mk 2021-01-15 github

Rather than a cheat, I think it refers to the Half-Life mod Paranoia, which features another renderer that Cry of Fear also uses

https://www.moddb.com/mods/paranoia

Ddblsaiko 2021-01-28 github

I've got it working with the modified renderer thanks to a post on the Wine forums: https://forum.winehq.org/viewtopic.php?t=32263

Steps I did to get the game to run using the modified renderer:

  1. Download the patch linked in the comment by Suhndern
  2. Patch the opengl32.dll in the game directory by running "patch --binary opengl32.dll < cof-opengl32.patch"
  3. Rename it to anything you want, the forum post used opengl33.dll, I used opengp32.dll (p for paranoia renderer), the file name just has to have the same amount of characters as the original file
  4. Open both hw.dll and cryoffear/cl_dlls/client.dll in a hex editor and change every occurrence of "opengl32" to whatever you named the file

Now I don't have triple hands and the flashlight works.

Mmkrupczak3 2021-01-28 github

@2xsaiko Damn, nice find.

I've come around to thinking I don't care about this game entirely enough to do that kind of work :)

I'll try running the game with the latest version of Proton Glorious Eggroll someday, hopefully it will eventually work well enough for a game like this.

Mmkrupczak3 2021-01-28 github

I think it's important to restate that the hardware renderer failing and the "three hands bug" may seem pretty trivial, but they're actually game breaking.

Wine and Proton obviously need to be fixed for cases like these

Rreboot-mk 2021-01-28 github

@2xsaiko Tried this workaround, it does seem to fix the three hand issue and the flashlight one too, however it seems to have some glitches.
Sometimes it won't lit up specific surfaces.
1611862834 - Cry of Fear
1611863073 - Cry of Fear

Ddblsaiko 2021-01-29 github

@IrreversibleReboot Do you know if the same issue happens on Windows? Flashlights in GoldSrc are notoriously janky.

Rreboot-mk 2021-01-29 github

@2xsaiko I can confirm it doesn't happen on Windows.
cof_sTEaa0qd0e

CCorneliusCornbread 2023-02-17 github

Opening the game leads to a black screen, even with patched DLLs the game will not load the main menu. Neither will GE work, older versions also will not open the game at all.

NNewbytee 2023-03-28 github

Singleplayer seems to be fine for me without any patched DLLs. However, the server browser doesn't actually show any servers for me. Wit that said, I was still able to host a multiplayer game from the menu and have my friends join. This is with Proton Experimental.

Edit: and, of course, I had to do the aforementioned DLL hack to get the rendering working properly.

Rreboot-mk 2023-03-31 github

That's interesting, on my machine I still need Proton 5.13-6 for the game to render anything. I tried again just now with Proton Experimental and all I got was a black/garbled screen, with the game running anyway, with or without the hacked DLLs. And on 5.13-6 with the DLLs, the lighting works but is still more approximate than Windows.

?ghost 2023-04-23 github

I have problem when i click on launch it will get black screen on cry of fear i have the latest version of Kubuntu and the graphics is Intel uhd 620 graphic and the CPU is Intel core i3-1154g5 or whatever it is written and 8gb ram

CCorneliusCornbread 2023-05-17 github

I was able to get it working on the older version of proton with the patched DLLs, here's my proton logs on a newer version (8.0-2)
steam-223710.log

GGermanAizek 2023-06-02 github

I have problem when i click on launch it will get black screen on cry of fear i have the latest version of Kubuntu and the graphics is Intel uhd 620 graphic and the CPU is Intel core i3-1154g5 or whatever it is written and 8gb ram

exactly the same problem Ubuntu 22.04, Proton 8.0-2

AAwesamLinux 2023-06-20 github

System Information

  • GPU: AMD RX 5700
  • Driver/LLVM version: Mesa 23.1.2
  • Kernel version: 6.3.8-200.fc38.x86_64
  • Proton version: proton-8.0-2d

Can confirm that with current Proton out of the box graphics are not rendered (just a garbled screen).

Setting launch option MESA_LOADER_DRIVER_OVERRIDE=zink %command% fixes the problem.

Also previously mentioned issues persist with latest Proton:

  • Main menu font rendering is glitchy
  • The game does not render correctly in Fullscreen, have to launch the game Windowed (this I think is a bug with the game though)
  • The flashlight/camera flash does not work

including logs of running the game with and without zink launch option.
steam-223710-fail.log
steam-223710-success.log
system_info.txt

TTacoDeBoss 2023-09-09 github

Hello all - in my recent experimentation with Cry of Fear, I'm quite sure I found a workaround for the flashlight/dynamic light issue. Simply use the console command gl_twopassdyn 1. It's set to 0 by default, but in my testing, this command works to fix dynamic lights on any Mesa driver/version with no noticeable or measurable performance impact.

Additionally, the black screen issue mentioned by others earlier in this thread appears to have been resolved in recent releases of Proton Experimental.

I've also found that Zink alleviates some performance issues shown on radeonsi, with the caveat of introducing one or two more minor rendering bugs. Neither are quite as fast as Nvidia drivers on Linux/Windows or AMD drivers on Windows according to my results, but the game is fairly playable in its current state.
[Graphical issues are being tracked on the Mesa GitLab issue #7582.](https://gitlab.freedesktop.org/mesa/mesa/-/issues/7582)

[Performance issues are being tracked on the Mesa GitLab issue #9805.](https://gitlab.freedesktop.org/mesa/mesa/-/issues/9805)

To summarize, launching the game with Proton Experimental and the properties WINEDLLOVERRIDES="opengl32.dll=n,b" %command% +gl_twopassdyn 1 is enough to get the game rendering properly. MESA_LOADER_DRIVER_OVERRIDE=zink may also help your performance depending on system and game level at the cost of minor visual artifacts.
Do note that you cannot currently run this game with Zink on the Steam Deck. It will run with Mesa version lib32-mesa-23.1.3.170235.radeonsi_3.5.1-1 from the jupiter-main Deck repo, though. This will presumably be fixed in SteamOS 3.5.

gl_twopassdyn 0 gl_twopassdyn 1
Screenshot_20230906_023254 Screenshot_20230906_023324
AAwesamLinux 2023-09-12 github

System Information

  • GPU: AMD RX 7900 GRE
  • Driver/LLVM version: Mesa 23.3.0-devel
  • Kernel version: 6.4.14-200.fc38.x86_64
  • Proton version: experimental-bleeding-edge-8.0-55613-20230912

I can confirm that the graphics render properly with launch option WINEDLLOVERRIDES="opengl32.dll=n,b" %command% +gl_twopassdyn 1 Thank you @TacoDeBoss for that info :+1:

One can already see the difference at the main menu screen, when the train passes by the headlights are supposed to cast light on the bridge pillars as seen here:
cryoffear

Additional Info:
Game does have issues (not proton specific) detecting screen resolution above 1920x1080, instructions how workaround that:

Game does not properly detect resolution/launch into fullscreen for the first time. To make the game switch properly to fullscreen in your desired resolution do the following:

  • In the Cry of Fear launcher, select a low resolution like 1280x800 Windowed and launch the game
  • In games options select your desired screen resolution like for example 2560x1600 and apply settings
  • Select Fullscreen and again apply settings

Now the game will from here on launch Fullscreen in the desired resolution (unless you change any of the settings in the Cry of Fear launcher).

Problems that do remain is the main menu options font is glitchy/hard to read like this:
menu

Logs:
steam-223710-success.log
system_info.txt