ValveSoftware / Proton

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

Tom Clancy's Splinter Cell: Conviction (33220) #456

Open kisak-valve opened 6 years ago

kisak-valve commented 6 years ago

Issue transferred from https://github.com/ValveSoftware/steam-for-linux/issues/5672. @FreigeistZ posted on 2018-08-24T22:30:25:

Your system information

Please describe your issue in as much detail as possible:

Describe what you expected should happen and what did happen. Please link any large code pastes as a Github Gist

Hello All,

Tom Clancy's Splinter Cell: Conviction with DeLuxe Key bought on Steam on 11/27/2016. (appID 33220) Works on Windows Steam Client on Windows 7 for nearly two years now,

Installed on Linux Steam beta client with Proton enabled today. When I start the game I only get the following message:

Failed to request product key from Steam, pleast try again in a few minutes.

After that I can only click OK and the game fails to start instead of working correctly.

There are no log files available.

Steps for reproducing this issue:

  1. Start Steam beta Client on Linux
  2. Choose "Tom Clancy's Splinter Cell: Conviction" in library
  3. Click "Play"
kisak-valve commented 6 years ago

Hello @FreigeistZ, please copy your system information from steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report.

priand1 commented 6 years ago

Here it is:

https://gist.github.com/FreigeistZ/df2db421094762a1a14e184585fd9eee

Zero86Sk commented 6 years ago

Does uPlay launch? cause this game is tied to your uPlay account.

priand1 commented 6 years ago

@Zero86Sk: No, it does not seem to run. I only get the popup mentioned above and it only takes a fraction of a second to pop up.

Kzimir commented 6 years ago

Wine 3.7 does not have the patches which allow to connect to UPlay correctly. Wine 3.15 will have these patches i think.

priand1 commented 6 years ago

I just found out that when I lauch steam in a terminal I get the following feedback when I try to start Conviction:

GameAction [AppID 33220, ActionID 5] : LaunchApp changed task to ShowCDKey with "" GameAction [AppID 33220, ActionID 5] : LaunchApp waiting for user response to ShowCDKey ""

It seems that there is something missing.

veikk0 commented 6 years ago

https://github.com/ValveSoftware/steam-for-linux/issues/212 could be related.

tr37ion commented 6 years ago

Compatibility Report

System Information

I confirm

Symptoms

Game doesn't start. Shows only the following dialog:

image

NerosTie commented 5 years ago

One year later and I have the same issue :(

NerosTie commented 5 years ago

The issue can be fixed by running this command before launching Steam:

sed -i 's/legacykeyregistrylocation/legacykeyregistrylocation2/g' ~/.steam/steam/appcache/appinfo.vdf

Unfortunately, there is a bug about sound and you can't skip it, making it impossible to launch...

Screenshot_20191102_145906

It has been reported on winehq 2 years ago:

https://appdb.winehq.org/objectManager.php?sClass=version&iId=35002

edit: Found a solution:

First, rename or delete systemdetection.dll in GAMEFOLDER/src/system

Then, you need to install Uplay. You can do that with Protontricks easily. But now, Uplay asks for a CD-KEY and there is no way to know it...

priand1 commented 5 years ago

But now, Uplay asks for a CD-KEY and there is no way to know it...

You can: Start Steam for Windows with wine and let it show you the CD key via the cog wheel (manage) -> cd keys

NerosTie commented 5 years ago

You were right, now I have the cd-key, thanks.

Now, I can launch the game. Unfortunately, the "sed" command is still needed.

Here are the issues:

priand1 commented 5 years ago

Here are the issues:

You need to install directx9 (with protontricks), otherwise you will have a black screen instead of videos + a "Critical Error" when launching a new game

With WineD3D, there is an awful lag, totally not playable

Both, Wined3d and dx9, do not work for me. With both the game does not even start and either upc.exe or Uplaygamelauncher.exe crash a few seconds after launching the game. See the attached steam-33220-dx9.log.

With D9VK the lag is gone, but it hangs on the intro when you launch a new game

In my case the game is only starting when using d9vk (0.30). Menus and fonts look normal and I can change settings and apply/save them without problems.

I can launch a new game or select a scene and the intro video is shown up to a certain point and then it hangs. I cannot Alt-Tab to the desktop. Switching to another console does work but starting top and trying to kill conviction_game.exe does not. I either have to switch back to Plasma and terminate it with Ctrl-Alt-Backspace - which also does not always work - or restart my machine.

Please see the two additionally attached logs steam-33220-d9vk-2.log and steam-33220-d9vk-1.log.

steam-33220-dx9.log steam-33220-d9vk-1.log steam-33220-d9vk-2.log

In the steam-33220-d9vk-2.log several

"err:seh:setup_exception_record stack overflow 1040 bytes in thread 00b7"

messages appear.

HenrikHolst commented 4 years ago

The sed workaround for the "Failed to request product key from Steam, pleast try again in a few minutes." does no longer work in the newer Steam Client. The appinfo.vdf file is recreated from scratch when Steam starts if it detects any discrepancies in it and even if one changed the file attribute to immutable so Steam cannot overwrite it, it no longer works anyway (I'm guessing that Steam simple recreates the file in memory and uses that).

ayxos commented 3 years ago

Any updates on this?

tferrerm commented 3 years ago

This keeps happening. It's odd that the game cannot start without generating a key, especially given the key can be generated in Windows.

HenrikHolst commented 2 years ago

This seems to have been fixed now completely in silence. Problem now is that the compatibility check complaints about the wrong "operating system", running winecg and setting the OS to Windows7 from Windows10 fixes that. However next it complains that there are no supported audio device and refuses to launch.

So open the game location, and in the src/system folder either remove or change the file suffix of systemdetection.dll to avoid running the system check altogether. However now the launched exits with "Error: 1" which according to "internet" means that the version of uplay supplied with the game is outdated and one have to install that manually somehow, this step I don't know how to proceed past.

edit: turned out that installing uplay was a menu option in protontricks. Well the more you know... Once that was installed, launch the game and uplay needs a new 216M update but after that the game launches just fine!

HenrikHolst commented 2 years ago

For some reason the game keeps on setting the thread affinity to core 0 for all the threads leading to horrible performance. Re-enabling all the threads to use all the cores gave a huge performance impact for me, however the game keeps on setting the affinity on every single load or new level. Wish there where an env for wine/proton to disable the thread affinity call.

priand1 commented 2 years ago

This game is finally running with steam beta update received on April 1st, 2022. The Help -> About Steam menu says:

Built: Mar 31 2022 at 23:11:43 Steam API: v020 Steam package versions: 1648789923

Problems remaining:

  1. The file

SteamLibrary/steamapps/common/Tom Clancy's Splinter Cell Conviction/src/system/systemdetection.dll

provided by the game still does not let it run. I renamed it to systemdetection.dll_. When starting the game after the file was renamed, it complains that it can not find systemdetection.dll twice during startup. Just click OK.

  1. It did not install the current Ubisoft Connect client for me. I downloaded it and installed it manually with protontricks uninstaller.

  2. It did not install the included directx and vcredist packages on its own. I had to install them manually, using protontricks uninstaller. These packages reside in SteamLibrary/steamapps/common/Tom Clancy's Splinter Cell Conviction/redist/

  3. The game is lagging and has low frame rates. This is due to the fact, that it sets affinity to one cpu core only. This can be worked around by using a script - I called it "sc-load" - that I created in /usr/local/bin. The idea to the script is from protondb. . It just did not run the way it was posted on protondb, so I changed it:

    
    #!/bin/bash

while :; do PID=ps ax | grep conviction_game | grep Z: | awk '{ print $1 }'; if [ -n "$PID" ]; then taskset -cap 0-15 "$PID"; fi; sleep 5; done;


This is for my system using a 3700x 8-core/16-thread cpu. To match a different cpu change "-cap 0-15" to the number of cpu cores - if they are single threaded - or to the number of threads you have. E.g. a 6-core single threaded cpu: "-cap 0-5", a 6-core multithreaded cpu: "-cap 0-11".
I think you get the idea.

The procedure I follow to invoke it is as follows:

Start the script from cli before you start the game. 
I could not make it work calling it from the steam launch parameters for several reasons.

After the script runs the game is using all cpu cores and runs smoothly at the highest graphical settings for me.
FPS is between 40 at its lowest and up to 120 maximum.
gabriele2000 commented 1 year ago

After the script runs the game is using all cpu cores and runs smoothly at the highest graphical settings for me. FPS is between 40 at its lowest and up to 120 maximum.

I've been using this script for months, but when I go into a firefight the game at some point just crashes.

edisleado commented 1 year ago

After the script runs the game is using all cpu cores and runs smoothly at the highest graphical settings for me. FPS is between 40 at its lowest and up to 120 maximum.

I've been using this script for months, but when I go into a firefight the game at some point just crashes.

Same here. Firefights cause the game to chug and eventually crash. In the single player campaign, this is particularly problematic when you reach the Iraq mission, which consists of lots of combat sequences. I was not able to pass the Iraq mission due to this issue.

anark10n commented 1 year ago
2. It did not install the current Ubisoft Connect client for me. I downloaded it and installed it manually with protontricks uninstaller.

3. It did not install the included directx and vcredist packages on its own. I had to install them manually, using protontricks uninstaller.

How do you do a manual installation with protontricks? My google-fu has failed me and I can't seem to find instructions on how to do so anywhere?

bayazidbh commented 1 year ago

@anark10n

Install protontricks, run game once to generate game proton's compatdata prefix for the game, open protontricks and choose the game that needs extra installs, choose "Select the default wine prefix", then choose Run Uninstaller, and then use the "Install..." option and make sure to switch the file type to .exe or all files.

Sometimes it can be enough to just install Protontricks and run a .exe using protontricks-launcher from the file-manager, but for making sure that everything is detected correctly, using the wine uninstaller's Install dialog through protontricks is still better (as weird as that sentence is to read).

Also, I recommend using ChatGPT for asking stuff regarding Linux. They're trained with a lot of StackOverflow data and the resulting Linux tips are generally pretty good.

gabriele2000 commented 10 months ago

Ok the script makes the game playable, it's good... what it's not good is the problem that makes the game crash once you get in a firefight, when 5 or 6 guys start shooting at you at the same time.

Because it's a known problem, yet nobody is talking about it, which is weird.

HenrikHolst commented 10 months ago

Ok the script makes the game playable, it's good... what it's not good is the problem that makes the game crash once you get in a firefight, when 5 or 6 guys start shooting at you at the same time.

Because it's a known problem, yet nobody is talking about it, which is weird.

Single place it crashed for me was the end scene in the Iraq mission, played through the rest of the game with no crashes so it is not happening for everyone. Google gives back a lot of Windows players also experiencing crashes so this is probably the game itself being very sensitive and not proton/wine.

gabriele2000 commented 10 months ago

Single place it crashed for me was the end scene in the Iraq mission, played through the rest of the game with no crashes so it is not happening for everyone. Google gives back a lot of Windows players also experiencing crashes so this is probably the game itself being very sensitive and not proton/wine.

That scene has a lot of people shooting at you at the same time. The other missions? IF you get spotted you might trigger it by shooting a lot and attracting fire at the same time by multiple people

HenrikHolst commented 10 months ago

Single place it crashed for me was the end scene in the Iraq mission, played through the rest of the game with no crashes so it is not happening for everyone. Google gives back a lot of Windows players also experiencing crashes so this is probably the game itself being very sensitive and not proton/wine.

That scene has a lot of people shooting at you at the same time. The other missions? IF you get spotted you might trigger it by shooting a lot and attracting fire at the same time by multiple people

Quite possible that this is the difference, I tend to play as stealthy as possible.

gabriele2000 commented 10 months ago

Quite possible that this is the difference, I tend to play as stealthy as possible.

Me too, but I tried to get into more firefights to test if they were de-stabilizing the game, and they are.

Off-topic: I've played them all, I loved Chaos Theory especially!

HenrikHolst commented 10 months ago

Quite possible that this is the difference, I tend to play as stealthy as possible.

Me too, but I tried to get into more firefights to test if they were de-stabilizing the game, and they are.

interesting, do you have another chapter/scene except iraq where this happens a lot? Just so I could try (whatever difference that makes, but I'm just curious)

gabriele2000 commented 10 months ago

interesting, do you have another chapter/scene except iraq where this happens a lot? Just so I could try (whatever difference that makes, but I'm just curious)

Just get into a firefight with more soldiers as possible, such as the second mission, where you have to steal the car of Grimsdottir... I could even make a video for you once I get home.

HenrikHolst commented 10 months ago

interesting, do you have another chapter/scene except iraq where this happens a lot? Just so I could try (whatever difference that makes, but I'm just curious)

Just get into a firefight with more soldiers as possible, such as the second mission, where you have to steal the car of Grimsdottir... I could even make a video for you once I get home.

No need I have zero doubt that the game crashes there for you, not for me though for some reason. Just replayed Price Airfield and went in guns blazing, especially to the larger group of enemies that appear once you plant the explosives on the satellite dish, there where slowdowns but no crash. Perhaps it is the slowdowns that will crash the game so could be my 5800x3d and 7900xtx that make me survive it barely.

gabriele2000 commented 10 months ago

Perhaps it is the slowdowns that will crash the game so could be my 5800x3d and 7900xtx that make me survive it barely.

YES, I see the pattern more clearly now! Right before crashing, the framerate dips a lot, thanks to the firefight.

The Iraq mission has a lot of dips in firefights so it could even crash at the beginning, in the first firefight.

Last but not least, I guess that the sounds could be the issue too: I marked three enemies and executed them using an MP5, the game crashed. I did the same using the silenced pistol, don't remember the name now (it was the top center one in the armory), and the game didn't crash.

gabriele2000 commented 9 months ago

Some kind of recent DXVK commit boosted the overall performance and stability of this game (I suspect some change related to DX9, I've seen interesting things in the commits about this particular version) but the crash eventually still triggers. It's still there, but it triggers a bit later, which is promising.

gabriele2000 commented 4 months ago

Any news on this?

I've also noticed that sometimes some audio samples just loops and becomes pure earrape, forcing me to restart the game. It's becoming unbearable in the mission when an helicopter starts to shoot you for five minutes or something, you'll destroy your hearings basically.