ValveSoftware / Proton

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

Sid Meier's Civilization IV: Colonization (16810) #4547

Open wyphan opened 3 years ago

wyphan commented 3 years ago

Compatibility Report

System Information

I confirm:

steam-16810.log

Symptoms

Game won't start after Proton 5.13 update

Reproduction

  1. Update Proton 5.13
  2. Start game through Steam
  3. After a while, "stop" button becomes "play" again
kisak-valve commented 3 years ago

Hello @wyphan, wine: could not load kernel32.dll, status c0000135 in your log has been seen before in #4269.

wyphan commented 3 years ago

Looks like the problem is kernelbase.dll being a symlink, which is not supported in NTFS. Lemme try creating the pfx in an EXT4 partition.

Update: Nope, even after moving the game to the Steam library on my home folder (EXT4), it still won't run with Proton 5.13-5. For now, I'm switching to Proton 5.0-10, which still works.

wyphan commented 3 years ago

To clarify, the game worked using Proton 5.13-4, but not 5.13-5.

Ruedii commented 3 years ago

The issue with the map disappearing when "centering the map" on the globe is due to some missing or improperly implemented functions in wine's msxml3 implementation.

I can confirm this with an AB test only adding the msxml3 runtime. It is absolutely that file.

There are errors when the wine implementation is used leading up to the crash.

The minor issues of the star backdrop having intolerable artifacts is not corrected by this. If someone could track that down it would be nice. I suspect the skybox shader is doing something funky, but the bug is consistent across both DXVK9 and WineD3D, so it is some sort of behavior shared by both of them. Probably undocumented quirks in D3D's texture buffer handling.

The periodic crashing to desktop is MUCH less often in recent versions but still exists. I hear this is simply worse on wine and occurs on Windows too. There are actually several well documented bugs in the Windows version relating to various low memory conditions.

wyphan commented 3 years ago

missing or improperly implemented functions in wine's msxml3 implementation.

Yes, in order to run the "We the People" mod (or "Religions and Revolutions" or "The Authentic Colonization" mod, which this mod is based on), I had to install msxml3 using protontricks. Otherwise, it will crash after "loading map" when creating/loading a game.

kisak-valve commented 10 months ago

Civilization 4

Issue transferred from https://github.com/ValveSoftware/Proton/issues/7058. @williamodavis posted on 2023-08-29T23:18:08:

Compatibility Report

System Information

I confirm:

Symptoms

Game launches fine, but no mouse clicks are detected. Keyboard and mouse movement input works fine, though.

Reproduction

Just launch the game

williamodavis commented 10 months ago

Just checked in on the mouse input in Civilization 4 and all the DLCs again, and it all works again. I dont know if it was something you did or if it just happened accidentally, but this issue has been resolved. Just letting you know.

wyphan commented 2 weeks ago

Revisiting this thread, this time it's random crashes happening every so often with Proton 9 on NVIDIA.

System Information

Symptoms

This looks like a crash in the NVIDIA driver followed by an assert failure in winevulkan.

247081.770:0124:01c8:trace:seh:handle_syscall_fault code=c0000005 flags=0 addr=0xe2a83838 ip=e2a83838
247081.770:0124:01c8:trace:seh:handle_syscall_fault  info[0]=00000001
247081.770:0124:01c8:trace:seh:handle_syscall_fault  info[1]=00000028
247081.770:0124:01c8:trace:seh:handle_syscall_fault  eax=00000000 ebx=00000000 ecx=0f51fb40 edx=e4450050 esi=cfefa620 edi=0f51e36c
247081.770:0124:01c8:trace:seh:handle_syscall_fault  ebp=fe7ffec0 esp=0f51e2a0 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010282
247081.770:0124:01c8:warn:seh:handle_syscall_fault backtrace: --- Exception 0xc0000005 at 0xe2a83838: /usr/lib/pressure-vessel/overrides/lib/i386-linux-gnu/libnvidia-glcore.so.550.67 + 0xe7d838.
247081.770:0124:01c8:trace:seh:handle_syscall_fault returning to user mode ip=7967b5c5 ret=c0000005
247081.770:0124:01c8:err:msvcrt:_wassert (L"!status && \"vkCreateDescriptorPool\"",L"../src-wine/dlls/winevulkan/loader_thunks.c",2841)
247081.770:0124:01c8:trace:seh:raise (22)

Full Proton log: link

Reproduction

  1. Download the "We the People" 4.1 mod, extract to steamapps/common/Civilization IV Colonization/Mods/We_The_People, and copy the Intel TBB dlls to steamapps/common/Civilization IV Colonization as instructed in the mod's readme file
  2. Use Protontricks to install msxml3
  3. Not sure if it matters, but I use the following command line: PROTON_LOG=1 WAYLAND_DISPLAY=wayland-0 DXVK_FILTER_DEVICE_NAME="NVIDIA" PROTON_FORCE_LARGE_ADDRESS_AWARE=1 %command% /mod="/We_The_People"
  4. Start a new game on "massive" map setting, or alternatively load my crappy save game
  5. Play for several turns, eventually it would crash randomly. Most of the time it happens at the start of a turn after the autosave happens.

PS: technically the base Civ 4 game and DLCs have different Steam IDs from this. The base game is 3900, Warlords DLC is 3990, and Beyond the Sword DLC is 8800. Despite the Civ 4 complete package (4323) lumping Civ 4 Col together with the other three, in reality Civ 4 Col is independent from the base game. IMO the comment above shouldn't be moved here.