Civilization IV BTS crashing on Fedora 36 after trying to load maps

My game starts up fine (it takes a bit but starts up and then runs smoothly). I then go through all the options for selecting a leader, difficulty etc. Then it starts loading the map/scenario and once the bar reaches 100% the game crashes and exits out.

The behavior is pretty consistent, but on rare occasions it goes through and works. I’m using Fedora 36, have all the wine dependencies installed, and am using an NVIDIA graphics card (and the game is using that card, which has all the up to date drivers installed and NOT the internal card on the laptop).

All of my other games work perfectly fine. I went between Proton version 7 to Proton Experimental, but there was no difference between the two.

I’m using GNOME with material shell on my desktop.

I also tried running civ 4 in windowed version vs full screen, but there was no difference there. Finally, I checked allow background processing of Vulkan shaders, but that made no difference either. The game itself runs fine when it actually works, but this is rare. I also switched from Wayland to using GNOME Xorg for the display. Still no difference.

Have you checked the comments about the game at ProtonDB ?

e.g. this one (https://www.protondb.com/app/8800#h4MQnVi0ES) mentions :

Without applying the winetricks fix the game would just freeze and close right before starting the round. I had to force Steam to use Proton 3.16.9 via the Steam compatibility settings in order to be able to apply the winetricks fix a lot of other people recommended. The execution of the command “WINEPREFIX=/path/to/SteamLibrary/steamapps/compatdata/8800/pfx winetricks d3dx9 msxml3 msxml4 vcrun2003 quartz devenum corefonts lucida tahoma” would otherwise just fail with an error message. Newer Proton version could possibly work as well. Haven’t tested all of them…

Thanks for the tip. Unfortunately that did not work. I did the command, tried running it the way that person mentioned but the game still produced the same error as before, I tried various proton versions, but then it would typically crash the way I’d mentioned before. I restarted my machine after updating to see if that would change anything but it didn’t, I also uninstalled and reinstalled the game and checked all the settings, that didn’t do anything either.

I also tried some of the other solutions listed in the forum but no change so far. Although the “play now” option seems to usually work but pretty much, the game is still unplayable. On Ubuntu 20.04 I never had any problems. Seems to be a Fedora 36 issue.

Try uninstalling then reinstalling steam from rpmfusion. I have had no problems with steam from there on F36, but don’t have Civ IV to test. You can select to install the proton portion when you launch steam.

Every time I launch steam it seems to need an update as well.

Steam is also available as a Flatpack and so you could try using the Flatpack version of Steam to see if it is indeed an issue with the Fedora 36 version of it: Flathub—An app store and build service for Linux

@thingy (and to everyone else):

Thank you everyone for the advice. However, the game still does not work. I did uninstall steam completely and reinstalled it using Flatpack, still getting the same problem. My other games all still work fine (C&C Remastered I had to use the launch setting: PROTON_USE_WINED3D=1 %command% NOSPLASHPRELOAD WINE_FULLSCREEN_FSR=1 WINE_FULLSCREEN_FSR_STRENGTH=1 DXVK_ASYNC=1 PROTON_NO_ESYNC=1

but after putting that there it worked. Sidenote: I have noticed that steam in Fedora 36 does take its time in launching games vs Ubuntu 20.04, but after they finally launch they seem to work fairly well for the most part.

Civ IV Beyond the Sword is an old game now, and it is kind of finicky on many systems at this point including Windows. However, it worked perfectly fine on Ubuntu 20.04. Not sure what else to do at this point. The game loads fine, it’s just once you actually try to start a game and load the map, it crashes like some other folks have mentioned in the forums.

I do want to be clear: Fedora 36 is a superb OS overall, and I’m keeping it as my daily driver. But this particular game seems to be giving me trouble on the OS despite going through the various solutions that were posted on ProtonDB from different users.

Okay, so I tried installing the wine version of steam to see if I could get any different result. I sort of did. So here’s what’s going on now:

The wine version of steam kind of blinks in and out and has some display issues, but this also was my experience on Ubuntu. When I install CIV IV BTS through the wine version of steam, it installs successfully.

When I then start the game with default launch options, you can hear the game start but not really see the intro video, but you can sometimes see a tiny version of the video in the upper left hand corner of the screen. This issue is intermittent, and happens less often with the “windowed -w” launch option enabled. The best thing I’ve found is to “alt+tab” out to another program then back to CIV IV BTS. Sometimes I have to wait until the intro video is fully over and the main menu screen is present before I can go back into the game normally.

Once I am back in the main game, I seem to be able to load scenarios successfully. There are however, a few caveats: The map will appear black, but you can re-load a save and it will be fine. However, if I save the game, exit out of CIV IV entirely, and then reload it, go through the intro video, etc. and then just go straight into loading the previous game, then it crashes just as before. HOWEVER, there IS a way around this. IF instead of loading the previous game you load a scenario (any scenario will do) and then load a save while in the game, then it’ll load fine without crashing.

It’s a truly bizarre work around but this at least makes the game playable.

On my F36 system I downloaded/installed Civ4 BTS. This is with an nvidia GPU and fully updated F36 with steam installed from rpmfusion.

It took a couple of changes of things but I managed to get the game to play properly.

First I added the suggested line from the protondb link in post #2 into the steam desktop launcher. “WINEPREFIX=/path/to/SteamLibrary/steamapps/compatdata/8800/pfx winetricks d3dx9 msxml3 msxml4 vcrun2003 quartz devenum corefonts lucida tahoma”.

Then I tried several different proton versions going all the way from proton 3.16.9 as suggested with that post (It errored with a path error). The invalid path shown in the error popup was (“xml\GameInfo/CIV4PlayerOptionInfos.xml”)
The valid path was “XML/GameInfo/CIV4PlayerOptionInfos.xml” and I stepped one at a time to the newer proton versions and finally got the game to properly play when I used proton 5.13-6

In 10 hours of play it never errored for me with that config.

The only thing I noted was that my monitor is a TV and sync is 60 Hz. In full screen it would not do max resolution nor frame rate higher than 60 Hz. However, I switched from full screen to windowed mode and it produced 450 - 500 FPS with full resolution.

I also use the nvidia drivers installed from rpmfusion and using xorg for the DE (not wayland)

Thanks, I have a few questions to make sure I’m doing this correctly:

Is that prefix added to the CIV IV BTS launcher under launch options?
Or is it added to the steam.desktop file after exec=env?
Or is it run as a command in the terminal?
Or is something different required? It may be that I’m getting this part wrong without knowing.

Assuming what I did was correct, when I force CIV IV BTS to run with compatibility setting using proton 5.13-6, I get the window that notifies me that “Preparing to launch sid meier’s civilization IV: Beyond the Sword…” and that window stays there for about 60 - 70 seconds before disappearing. After that, the steam window makes it seem like the game is running since it says so and the X STOP blue button displays (clicking on that button prompts the exit confirmation dialogue in steam itself). But the game is nowhere to be seen, no sound, etc. and I can’t “alt+tab” into it either because it’s not appearing anywhere.

I copied the /usr/share/applications/steam.desktop file that is created when you install steam from rpmfusion to ~/.local/share/applications/steam.desktop then edited the Name as you can see and added the winetricks line in the steam.desktop file in my local desktop files. Changing that name gives the display that pops up when you hover the mouse over the icon so I know which I am opening.

[Desktop Entry]
Name=Steam Civ4 BTS
Comment=Application for managing and playing games on Steam
Exec=/usr/bin/steam %U
Icon=steam
Terminal=false
Type=Application
Categories=Network;FileTransfer;Game;
MimeType=x-scheme-handler/steam;x-scheme-handler/steamlink;
Actions=Store;Community;Library;Servers;Screenshots;News;Settings;BigPicture;Friends;
PrefersNonDefaultGPU=true
X-KDE-RunOnDiscreteGpu=true
WINEPREFIX=/home/USER/.local/share/Steam/steamapps/compatdata/8800/pfx winetricks d3dx9 msxml3 msxml4 vcrun2003 quartz devenum corefonts lucida tahoma

I also installed winetricks from the fedora repo dnf install winetricks

I would venture that if you installed steam differently, are launching it differently, and installed winetricks differently then things may not function the same.

Oh, and I also installed Civ 4 BTS by downloading it from the steam store. Steam had the entire group of (4) Civ 4 games on sale this weekend for $5.99

1 Like

This worked! I did exactly what you laid out here and it works like a charm! :slight_smile: I figured it was probably me not doing something correctly. Thanks!