ValveSoftware / Proton

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

Civilization 4 (Beyond the Sword) (8800) #179

Open oleid opened 5 years ago

oleid commented 5 years ago

The game runs fine when installing native msxml3.

I installed manually msxml3 using winetricks.

Tested on ArchLinux with steam runtime.

OvermindDL1 commented 5 years ago

If something like that has to be manually installed, then it probably shouldn't be whitelisted until steam is managing to install it itself instead (or the game itself does)?

oleid commented 5 years ago

I was hoping for kind of conditional whitelist.

pszpetkowski commented 5 years ago

@oleid How did you exactly do that? I'm also on Arch and I've also installed msxml3 using winetricks with: WINEPREFIX=~/.local/share/Steam/steamapps/compatdata/8800/pfx winetricks msxml3

but I'm receiving a Loading Error with following message:

Caught unhandled exception creating XML parser object. Current XML file is:

oleid commented 5 years ago

Does

WINEPREFIX=$HOME/.steam/steamapps/compatdata/8800/pfx/ winecfg

show overrides? If you've overrides for msxml3, please try adding msxml4, too. I experimented a little and just realized, that I have that override, too. Not really sure, if it's needed. winehq.org is undecided.

Edit: In case it matters: I've multilib/steam and multilib/steam-native-runtime installed.

pszpetkowski commented 5 years ago

Problem solved for me.

After experimenting for few hours this is what I've done (not sure what did the trick):

  1. Removed the 8800 directory.
  2. Recreated the wine prefix by using the Verify Integrity of game files feature. (not sure if there isn't easier way)
  3. Installed msxml3 with WINEPREFIX=~/.local/share/Steam/steamapps/compatdata/8800/pfx WINE=~/.local/share/Steam/steamapps/common/Proton\ 3.7/dist/bin/wine winetricks msxml3.
  4. Installed msxml4 with WINEPREFIX=~/.local/share/Steam/steamapps/compatdata/8800/pfx WINE=~/.local/share/Steam/steamapps/common/Proton\ 3.7/dist/bin/wine winetricks msxml4.

Now, everything works without a single error, however as I said I'm not sure what was necessary and what wasn't.

ryanmusante commented 5 years ago

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

wintricks: d3dx9, msxml3, msxml4, vcrun2003, quartz, devenum. corefonts, lucida, tahoma. d3dx9_26.dll, d3dx9_31.dll, d3dx9_32.dll, d3dx9_33.dll

winecfg: 'gameux' disabled 'msxml3r' native <=not a typo

Recent Failure Reports: Failed Loading XML file xml\text\civ4gametextchanged_bts.xml[.Fxml.cpp:133]

kisak-valve commented 5 years ago

Civilization IV Beyond the Sword Crashes on "Setup Map\

Issue transferred from https://github.com/ValveSoftware/Proton/issues/645. @ahvth posted on 2018-08-26T09:59:25:

Civilization IV Beyond the Sword crashes to desktop without error on the "Setup Map" phase of game loading in these reproducible contexts:

Sometimes crashes in these contexts, only reproducible some of the time:

Both Proton 3.7-3 and 3.7-4 Beta were tried.

Otherwise the game works well, and the game does not freeze on any loading phase besides "Setup Map"

System info:

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

Processor Information:
    CPU Vendor:  GenuineIntel
    CPU Brand:         Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz
    CPU Family:  0x6
    CPU Model:  0x3a
    CPU Stepping:  0x9
    CPU Type:  0x0
    Speed:  3600 Mhz
    4 logical processors
    2 physical processors
    HyperThreading:  Supported
    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:
    "Fedora release 28 (Twenty Eight)" (64 bit)
    Kernel Name:  Linux
    Kernel Version:  4.17.14-202.fc28.x86_64
    X Server Vendor:  Fedora Project
    X Server Release:  11906000
    X Window Manager:  GNOME Shell
    Steam Runtime Version:  steam-runtime-beta-release_2018-06-14

Video Card:
    Driver:  Intel Open Source Technology Center Mesa DRI Intel(R) Ivybridge Mobile 
    Driver Version:  3.0 Mesa 18.0.5
    OpenGL Version: 3.0
    Desktop Color Depth: 24 bits per pixel
    Monitor Refresh Rate: 60 Hz
    VendorID:  0x8086
    DeviceID:  0x166
    Revision Not Detected
    Number of Monitors:  1
    Number of Logical Video Cards:  1
    Primary Display Resolution:  1920 x 1080
    Desktop Resolution: 1920 x 1080
    Primary Display Size: 18.90" x 10.63" (21.65" diag)
                                            48.0cm x 27.0cm (55.0cm diag)
    Primary VRAM Not Detected

Sound card:
    Audio device: Realtek ALC3202

Memory:
    RAM:  15740 Mb

Miscellaneous:
    UI Language:  English
    LANG:  en_US.UTF-8
    Total Hard Disk Space Available:  366106 Mb
    Largest Free Hard Disk Block:  164034 Mb
    VR Headset: None detected

Recent Failure Reports:

@Shished commented on 2018-08-26T18:12:04

I'm using GTX 660 with 396.54 driver and game fails to load XML files during startup (load XML (cached) stage) and as a result all text is unlocalized (words with underscores). But game works https://steamuserimages-a.akamaihd.net/ugc/965347876443457276/4FE57F5BF645745FFC0C6D673B2976601DEC7EF9/

Its the same for all Civ4 games.

zzhiyi commented 5 years ago

Cannot reproduce with proton 3.7-8 or 3.16 any more.

prototype99 commented 5 years ago

tested fresh install on 4.2-1. anti aliasing multi-samples set to 16 and resolution set to 3840x2160 causes everything but the cursor to go black. this is a regression (that i would have reported earlier, had i known it wasn't just file corruption, which i initially thought it was), as 3.16-4 does not have this issue, but 3.16-8 beta and 4.2-1 do. every other resolution has been tested, and found to have no issue. this is only with those exact specified settings, any other resolution or anti aliasing setting used in conjunction with 4k appears to be fine. anything after 3.7-8 beta seems to fail at world generation every time if you have the next war mod loaded

kisak-valve commented 5 years ago

Hello @prototype99, 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. Also, please add PROTON_LOG=1 %command% to the game's launch options, reproduce the regression, and drag and drop the generated $HOME/steam-$APPID.log into the comment box.

prototype99 commented 5 years ago

https://gist.github.com/prototype99/9a83970a72601e1a068b2aecc7cf4a4c the graphical issue: https://nofile.io/f/O7hfgqBwPmo/steam-8800.log the world generation issue: steam-8800.log both are done using the 4.2-1 version of proton. had to do two logs because one makes it impossible to exit normally, and one just straight out crashes

kisak-valve commented 5 years ago

Your log contains wine client error:4a: write: Bad file descriptor, can you run ulimit -Hn and verify it is a high value and not 4096?

prototype99 commented 5 years ago

16384

kisak-valve commented 5 years ago

Please try a limit around a million to eliminate it as a factor.

prototype99 commented 5 years ago

okay. apparently systemd has its own config that until now, i didn't need to touch. it would only let me go up to 1048576 rather than my specified 9999999. both issues are still present but the bad file descriptor error is gone. graphical issue: steam-8800.log world generation issue: steam-8800.log

kisak-valve commented 5 years ago

Graphics issue: err:d3d:wined3d_debug_callback 0x5a61838: "GL_OUT_OF_MEMORY error generated. Failed to allocate CPU address space mapping for texture (consider building 64-bit app).". Please try PROTON_FORCE_LARGE_ADDRESS_AWARE=1 %command% in the game's launch options.

World generation: These look like lines of interest from the log fixme:msxml:domdoc_putref_schemas (0x6f32500)->(0x32e9f0 {VT_DISPATCH: 0x6f418c4}): semi-stub fixme:msxml:domdoc_get_readyState stub! (0x6f32500)->(0x32eaac)

prototype99 commented 5 years ago

hmmm... i think i recall that it uses a lot of xml files to be fair. the graphical problem is still observed, this is the log: https://nofile.io/f/zQ5amycsWQY/steam-8800.log no change on the other one i imagine? there didn't seem to be any. as with both problems it just stops working after a certain version presumably a certain commit in wine or proton must have caused each of them? just a matter of working out what i imagine. looking back, i can see there were various winetricks solutions i could try, but surely if 3.7-8 functions fully, those should in an ideal situation never be needed again?

soredake commented 4 years ago

Game works fine with vanilla proton 5.0-2.

GitHubIsShortOnUsernames commented 4 years ago

Game does not work with vanilla proton. Nothing has changed since Proton 3. Confirmed on Debian 10, latest stable proprietary Nvidia driver.

Map creation crashes the game randomly, both with a new game and when loading one. Only change in Proton 5 is that the exception actually ends the process rather than stalling it. This crash is strangely a per-startup thing. If a running process succeeds in creating a map once, it'll work consistently. If you start with a complex map script or a large savegame, initial success rate is in the 30% ballpark.

Background added with Astronomy or Stonehenge (vanilla) still overlays the map, the game essentially ends there. On the highest zoom level, the map becomes visible. I assume the background gets optimized away there. I had managed to work around that before, but it was a wild combination of settings and native libraries. Wasn't able to find a workaround on a fresh prefix.

This is exactly the state we had with Proton 3. Please actually play the game before shouting Hallelujah.

Edit: From testing with Wine 5 it appears msxml3 is still the culprit.

Edit2: msxml3 did not install for me in Proton with winetricks, the installer would keep crashing. Apparently the workaround is using the quiet install method: "wine msiexec /i msxml3.msi /q".

kisak-valve commented 4 years ago

CIV4 Beyond the Sword installs/downloads 0 bytes

Issue transferred from https://github.com/ValveSoftware/Proton/issues/3790. @onurkulak posted on 2020-04-22T00:56:39:

CIV4 Beyond the Sword

System Information

I confirm:

Symptoms

this is most likely not a proton problem but steam support is refusing to give me any help and they are forcing me to write it here.

when I try to download this game, it doesn't download anything, it immediately finishes after downloading 0 bytes. I tried cleaning the download cache and changing my download servers, but they didn't work.

I can install and play other Civ4 clones just fine: base game and CIV4 COL are working fine but I couldn't install this expansion.

Reproduction

Clicking install on Beyond the Sword game.

kisak-valve commented 4 years ago

Hello @onurkulak, as something basic to check, please go to the game in Steam's Library UI, click on the ⓘ on the right side and verify that the extended info has "Runs on this computer via Steam Play Proton # selected by you for this title."

onurkulak commented 4 years ago

Hello @onurkulak, as something basic to check, please go to the game in Steam's Library UI, click on the ⓘ on the right side and verify that the extended info has "Runs on this computer via Steam Play Proton # selected by you for this title."

yes, it says Proton 4.11 is selected currently. (I tried with 5.0 before)

onurkulak commented 4 years ago

Steam support solved the problem, it was caused because my system was trying to download the mac version, which downloads 0 bytes. I looked at the hidden games section and downloaded the Windows one. (I hid the versions when I first purchased because buying beyond the sword gives you 6~ games, and they take up too much space) apparently I hid the windows version instead of mac.

Kartoffelsaft commented 4 years ago

I have been playing with the total conversion mod Caveman2Cosmos and have encountered a seemingly random crash. It didn't seem appropriate to start another thread just for a mod, so I'm just posting this here.

I talked to the devs of the mod on this thread (my username is fluffy465 over there, if it wasn't clear). They have been quite helpful, but so far they haven't figured out the solution to the issue. Would anyone here have any idea how to help?

Here's a log. It should be very similar to one given in the forum thread.

OvermindDL1 commented 4 years ago

@Kartoffelsaft This doesn't seem like a proton issue, based on the forum conversation that you linked to it looks like a misuse of the wcsrtombs function by the mod itself as now described at: https://forums.civfanatics.com/threads/random-crashes.655981/page-3#post-15801082

You can probably work around the issue by making sure your path is only ascii chars and making sure it's shorter than it is now.

Endle commented 2 years ago

I failed to play 8800 with vanilla Proton (Experimental 6.3+) My log

Inspired by https://github.com/ValveSoftware/Proton/issues/179#issuecomment-415593087 I executed such command

WINEPREFIX=~/.local/share/Steam/steamapps/compatdata/8800/pfx WINE=~/.local/share/Steam/steamapps/common/Proton\ -\ Experimental/files/bin/wine winetricks  msxml3 msxml4 corefonts

And I can play this game with no error after that.

I guess this XML issue is highly related to a long-time lasting wine bug https://bugs.winehq.org/show_bug.cgi?id=36711

Verontrix commented 2 years ago

how were you able to get msxml4 to install on your system? It does not install on mine I get the following error:

0238:fixme:file:NtLockFile I/O completion on lock not implemented yet
0238:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0238:fixme:msi:event_spawn_wait_dialog doing nothing
0238:fixme:msi:event_spawn_wait_dialog doing nothing
0238:err:msi:extract_cabinet_stream FDICopy failed
0238:err:msi:ACTION_InstallFiles Failed to extract cabinet: L"#XML_Core.cab"
0238:err:msi:execute_script Execution of script 0 halted; action L"InstallFiles" returned 1603
0238:err:msi:ITERATE_Actions Execution halted, action L"InstallFinalize" returned 1603
0238:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 5)
0238:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 5)
0238:err:msi:ITERATE_Actions Execution halted, action L"ExecuteAction" returned 1603
Vactarian commented 1 year ago

I cannot get msxml4 to install either..