protonscr

Command and Conquer 4: Tiberian Twilight

protonopen appid 47700Game compatibility - Unofficial.NET
ValveSoftware/Proton#2039 · opened 2018-11-26 by EnderShadow · updated 2023-11-18 · 14 comments · github · game page · search this game
EEnderShadow 2018-11-26 github

System Information

  • OS: Ubuntu 18.04 64-bit
  • GPU: Nvidia GTX 1080 Founders Edition
  • Driver/LLVM version: NVIDIA 410.57
  • Kernel version: 4.15.0-39-generic
  • Link to full system information report as Gist:
  • Proton version: 3.16-4 Beta

I confirm:

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

steam-47700.log

Symptoms

The game doesn't start.

Reproduction

Try to launch the game and it will install dependencies and then crash.

Kkisak-valve maintainer 2018-11-26 github

err:mscoree:CLRRuntimeInfo_GetRuntimeHost Wine Mono is not installed in the log points towards #18.

Kkmaterka 2019-07-24 github

Launcher is in .NET 3.5, uses WPF which is not implemented in mono. To run the game:

  1. Create account on origin.com and register serial number. It's not possible to activate this game from Steam, this is known issue and affects also Windows.
  2. Run game directly, without launcher:
    WINEPREFIX=/home/$USER/.steam/steam/steamapps/compatdata/47700/pfx /home/$USER/.steam/steam/steamapps/common/Proton\ 4.2/dist/bin/wine "Z:\\home\\$USER\\.steam\\steam\\steamapps\\common\\Command and Conquer 4 Tiberian Twilight\\Data\\CNC4.game" "-config" "Z:\\home\\$USER\\.steam\\steam\\steamapps\\common\\Command and Conquer 4 Tiberian Twilight\\CNC4_Polish.SkuDef"
    Change path to your location of Steam and Proton. I have Polish version, change CNC4_Polish.SkuDef to yours.
    On "High" (and sometimes "Medium") setting game has graphical issues (black object etc). On "Ultra" crashes on mission start.
TTRPB 2020-04-21 github

Here's a log file of the crash due to graphics options.

cnc4.log

It doesn't seem to be to do with "ultra" or "high" but vram usage.

You can edit the file /home/$USER/.steam/steam/steamapps/compatdata/47700/pfx/drive_c/users/steamuser/Application Data/Command and Conquer 4/Profiles/$ACCOUNT/Options.ini to tweak the settings.

It doesn't seem to be a specific setting that cause the crash, but a certain threshold of "UltraHigh" or "High".

There's a sample ultra file here: https://answers.ea.com/t5/C-C-The-Ultimate-Collection/C-amp-C4-Tiberian-Twilight-options-ini-required-for-Ultra/td-p/2465936

AlternateMouseSetup = 0
AmbientVolume = 90.000000
AnimationLOD = UltraHigh
AntiAliasing = 3
AntiAliasingLOD = 8x
AudioQualitySetting = High
Brightness = 50
BuildingOcclusion = yes
CampaignDifficulty = 1
CurrentCampaign = 0
CurrentCampaignLastMission = 1
DecalLOD = High
DrawScrollAnchor = yes
DynamicLOD = no
EffectsLOD = UltraHigh
EnableVSync = 1
ExtraAnimations = yes
Gamma = 50
HasSeenLogoMovies = yes
HeatEffects = yes
IdealStaticGameLOD = Low
LanguageFilter = false
MaxParticleCount = 5000
ModelLOD = High
MovieVolume = 90.000000
MusicVolume = 90.000000
PlayerFaction = 0
Resolution = 1920 1200
Retaliation = yes
SFX3DVolume = 58
SFXVolume = 53.000000
ScrollFactor = 63
SendDelay = no
ShaderLOD = UltraHigh
ShadowLOD = UltraHigh
ShowSoftWaterEdge = yes
ShowSubtitles = 0
ShowTickerAds = 1
ShowTickerNews = 1
ShowTrees = yes
ShowUnitOwners = 1
ShowWeaponCounterFeedback = 1
StaticGameLOD = Custom
TerrainLOD = UltraHigh
TextureQualityLOD = High
TextureReduction = 0
ToolTipDelay = 0
UseAlternateMouse = no
UseCloudMap = yes
UseLightMap = yes
UseShadowDecals = yes
UseShadowVolumes = yes
VoiceVolume = 90.000000
WaterLOD = UltraHigh

I can't get "High" to work at 3840x2160 and any time I change any setting in the game it crashes to desktop. Changing the ini file works, but having too may high/ultra options seems to hit the vram limit and crash the game.

I'm on a Radeon VII with 16gb VRAM so it's unlikely getting anywhere close to the hardware limit.

Suggestions for other games recommend using PROTON_FORCE_LARGE_ADDRESS_AWARE=1 though this didn't help and I get the same output.

TTRPB 2020-05-25 github

With the current latest version of proton, I now get an gui error message. I'm assuming from the game itself.

Failed to allocate render target. Running out of video memory?
265 addresses:
(0): (unknown mod) (unknown)

with the last line repeating 256 times.

Kkampfwuffi 2020-11-29 github

Got C&C4 working by starting the game in Terminal instead of Steam:

WINEPREFIX=/home/$USER/.steam/steam/steamapps/compatdata/47700/pfx /home/$USER/.steam/steam/steamapps/common/Proton\ 5.13/dist/bin/wine "Z:\\home\\$USER\\.steam\\steam\\steamapps\\common\\Command and Conquer 4 Tiberian Twilight\\Data\\CNC4.game" -config "Z:\\home\\$USER\\.steam\\steam\\steamapps\\common\\Command and Conquer 4 Tiberian Twilight\\CNC4_English.SkuDef"

Be sure to have the proper Proton version in your path (5.13 in my case) and proper language (CNC4_English.SkuDef).

Game does work, but be aware to have a short password on EA account (9 or 10 characters) because the old EA Login GUI ingame does limit password chars.

After login the game starts, but on high details the game gets graphics errors and at a point force closes.

..... 0024:fixme:d3d:wined3d_swapchain_init The application requested more than one back buffer, this is not properly supported. Please configure the application to use double buffering (1 back buffer) if possible. 0024:fixme:thread:SetThreadIdealProcessor (00000298 7): stub 012c:fixme:d3d:state_linepattern_w Setting line patterns is not supported in OpenGL core contexts. .... 0024:fixme:shell:foldermanager_QueryInterface interface {00000126-0000-0000-c000-000000000046} not implemented .... 0024:fixme:thread:SetThreadIdealProcessor (00000354 1): stub .... LLVM failed to upload shader EE ../mesa-20.2.3/src/gallium/drivers/radeonsi/si_state_shaders.c:2040 si_build_shader_variant - Failed to build shader variant (type=1) 012c:err:d3d:wined3d_debug_callback 0x50fc178: "GL_OUT_OF_MEMORY in glTexSubImage". LLVM failed to upload shader EE ../mesa-20.2.3/src/gallium/drivers/radeonsi/si_state_shaders.c:2040 si_build_shader_variant - Failed to build shader variant (type=0) .... 0024:fixme:thread:SetThreadIdealProcessor (00000370 4): stub 012c:err:d3d:wined3d_debug_callback 0x50fc178: "GL_OUT_OF_MEMORY in glGetTexImage". .... 012c:err:d3d:wined3d_debug_callback 0x50fc178: "GL_OUT_OF_MEMORY in glGetTexImage". 012c:err:d3d:wined3d_debug_callback 0x50fc178: "GL_OUT_OF_MEMORY in glGetTexImage". 012c:err:d3d:wined3d_debug_callback 0x50fc178: "GL_OUT_OF_MEMORY in glMapBufferRange(map failed)".

This would be fixed with Steam Launch Option PROTON_FORCE_LARGE_ADDRESS_AWARE=1 %command%

But since the game is not started inside Steam i don't know how to add launch options to the terminal start code.

EDIT:

In /home/$USER/.steam/steam/steamapps/common/Proton 5.13/ there's a user_settings.sample.py
Renamed to user_settings.py and added "PROTON_FORCE_LARGE_ADDRESS_AWARE": "1", and uncommented "PROTON_USE_WINED3D": "1", inside the user_settings.py file.

It helped, the game crashed 30minutes later at high graphics settings, but still missing a setting to eliminate the crash. (GL_OUT_OF_MEMORY in glMapBufferRange(map failed))

Anybody knows?

Kkampfwuffi 2020-12-31 github

Any known progress with newer proton versions? :-/

TTRPB 2020-12-31 github

Not that I've worked out.

PROTON_FORCE_LARGE_ADDRESS_AWARE=1 %command%

Should affect all child processes launched so I don't believe this is the fix unfortunately.

TTRPB 2022-04-30 github

Trying this again, I can't even launch the game any more. Proton 5.13, 6.3, 7.0 and experimental all end up with 023c:err:d3d:wined3d_resource_allocate_sysmem Failed to allocate system memory.

that's with and without PROTON_FORCE_LARGE_ADDRESS_AWARE=1 % set.

PPatola 2023-11-14 github

The launcher window appears and I can input my email and password and I can log in successfully. Then I press play and it immediately returns to steam. The steam log complains about not having MSVCR80.dll and MSVCP80.dll but I even copied these files (x86 version) to the game directory and Data/ directory and it still says it can't load them.

Attached the proton log
steam-47700.log

PPatola 2023-11-14 github

found it, protontricks 47700 vcrun2005 did the trick

Mmadewokherd 2023-11-17 github

Odd, both MSVCR80.dll and MSVCP80.dll have builtin versions in Proton, so loading them shouldn't fail.

PPatola 2023-11-17 github

Odd, both MSVCR80.dll and MSVCP80.dll have builtin versions in Proton, so loading them shouldn't fail.

Indeed, they must need some registering maybe? I haven't tried WINEDLLOVERRIDES or anything. I can purge the installation (including the compatdata) and try again from scratch for a test if you want, just tell me what to do to test it.

Mmadewokherd 2023-11-18 github

You shouldn't need to do anything for them to work.

Do you have msvcr80.dll and msvcp80.dll (lower-case) in your steam/steamapps/common/Proton 8.0 directory? There should be a 32-bit version and a 64-bit version somewhere in dist/lib/wine and somewhere in dist/share/default_pfx.

Assuming you do have them, does a newly-created compatdata directory have them? (It doesn't matter which game as long as it's using the same Proton version.)

PPatola 2023-11-18 github

I have verified both proton's directory and other games prefixes and msvc?80.dll was there.

I must have done something wrong previously. I just uninstalled and erased the complete game directory and its compatdata, then proceeded to download and install this game (Tiberian Twilight) again. This time it worked out of the box, I was able to login to EA and configure everything and get it running without resorting to protontricks.