this post was submitted on 01 Jul 2025
20 points (95.5% liked)

Linux Gaming

18853 readers
24 users here now

Gaming on the GNU/Linux operating system.

Recommended news sources:

Related chat:

Related Communities:

Please be nice to other members. Anyone not being nice will be banned. Keep it fun, respectful and just be awesome to each other.

founded 5 years ago
MODERATORS
 

I recently switched to Nobara and I'm currently trying to get everything to work. I'll be a bit spammy here looking for help, I hope that's ok.

Today I would like to install my retail version of Unreal Tournament 2004 that came on a DVD. I got the installer for the native Linux version to run and copied over the latest patch. But when I try to run the game i get ./ut2004-bin-linux-amd64: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory

I tried to install libstdc++ through dnf and got

Package "libstdc++-15.1.1-2.fc42.x86_64" is already installed.
Package "libstdc++-15.1.1-2.fc42.i686" is already installed.

In /root/lib I habe a libstdc++.so.6

Does ".so.5" mean I need version 5. How do I get the version Unreal Tournament 2004 wants?

Or would it be easier to use the Windows version through Wine?

edit: managed to get the native version to run: https://feddit.org/post/15075302/7666396

top 20 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 1 day ago

With the help of this forum post and a bit of persistence I managed to get it to work and I wanted to share how with future generations and/or my future self.

First Problem: libstdc++.so.5
dnf does not have libstdc++5 but apt does.
Solution: I installed Mint on a Virtual Machine ran sudo apt install libstdc++5 and then copied the library to my real machine into the system directory of UT2004. The game now starts. I know there must be a better way to solve this.

Second Problem: Game starts in a tiny window stuck in the top left corner
Alt+Enter switches it to a real window that makes the game useable, but setting a proper resolution and trying to make it fullscreen again crashes the game.
Solution: Open /home/odin/.ut2004/System/UT2004.ini, go to the [SDLDrv.SDLClient] section and set all lines with viewport to the desired resolution.

Third Problem: No sound
UT2004 uses the obsolete OSS sound system.
Solution: Run the game under a compatibility wrapper. Debian and derivatives have aoss available. Fedora and derivatives have padsp. Thus run the game with padsp "./ut2004-bin-linux-amd64" and the sound works.

[–] [email protected] 1 points 1 week ago* (last edited 1 week ago) (1 children)

My recollection is that the DVD included that library, but it's been a while...

[–] [email protected] 2 points 6 days ago

The DVD includes SDL and OpenAL, but not libstdc++

[–] [email protected] 7 points 1 week ago* (last edited 1 week ago) (1 children)

You’re much better off either running it in a container that provides the ancient libraries it needs or running the Windows version through Proton. Otherwise, my understanding is that if you were to theoretically provide it everything it needed, you’d basically be downgrading your distro to a version from 2004.

The Proton approach is what I would try.

[–] [email protected] 1 points 6 days ago

If all else fails I'll fall back to the Windows version, would make me very sad though.

[–] [email protected] 3 points 1 week ago (1 children)

Looking in the aur libstdc++5-bin package it's getting it from Debian pre-compiled: https://packages.debian.org/bullseye/libstdc++5

I don't know about Nobara, but if isn't available there you can get the library from the same source and use LD_LIBRARY_PATH to load that library.

[–] [email protected] 2 points 6 days ago

That helped. Thank you very much! Crashes everytime I try to switch to fullscreen though, I'll play around with it for a bit, hopefully I'll figure it out.

[–] [email protected] 0 points 1 week ago (2 children)

Every time I'm getting close to abandoning Windows on my gaming rig I stumble in here and change my mind. I do run Linux on some other machines though.

[–] [email protected] 2 points 1 week ago (1 children)

Honestly this is not a good reason.

Basically the only sticking point IMO would be whether the specific games you enjoy tend to have problems (often due to draconian DRM or anti cheat systems)

[–] [email protected] 2 points 6 days ago* (last edited 6 days ago)

I have those reasons. Multiple games, and several other work-related software requirements. And related to this post I literally have the physical media for UT2004 sitting on my desk because I recently reinstalled it. Like I said, I'm still running Linux on multiple machines but I'm not yet comfortable cutting the cord.

My job is only 10% IT but I'm going to be having to deal with this more soon. I have at least a dozen PCs I'm going to have to make decisions about before Win10 EOL. Maybe I'll be more confident soon after switching over more PCs. Or less. We'll see, it will go one way or the other.

[–] [email protected] 6 points 1 week ago

To be honest I'm having way less problems than I was expecting. I would never want to switch back.

[–] [email protected] 2 points 1 week ago

Sounds like the best way would be to run the software in a period appropriate container.

Or find the source for libstdc++.so.5, compile it yourself and set the appropriate LD_LIBRARY_PATH.

[–] [email protected] 1 points 1 week ago (1 children)

Usually you can symlink to other versions and it will work fine.

[–] [email protected] 1 points 1 week ago (1 children)

Well yeah, but how do i figure out which version I need and where do I get that version?

[–] [email protected] 3 points 1 week ago

What I mean is, you create a link from "libxyz.wanted.so" to "libxyz.present.so", so when the game is looking for the libxyz.wanted.so file, it actually reads the libxyz.present.so file.
You do this with the symbolic links and ln -s, but check the order of the parameters, as I always get those with long the first time around.

[–] [email protected] 2 points 1 week ago (1 children)

Windows version is also problematic.

Do you have a current version of the game?

Lutris scripts are also often a good help: https://lutris.net/games/install/504/view

[–] [email protected] 3 points 1 week ago (1 children)

Well obviously the version on the DVD is ancient. I did apply the latest available patch, but that is also ancient.

I assume the steam version the Lutris script uses was updated at some point after the last retail patch.

[–] [email protected] 1 points 1 week ago (1 children)

Maybe. But more importantly, it downloads a new binary.

[–] [email protected] 2 points 1 week ago (1 children)

Right. I tried that patch now, but it still wants libstdc++.so.5

[–] [email protected] 2 points 1 week ago

Bummer. Maybe you can get that from some other distro's package and add to the library path.

But at that point going the Proton route is probably easier.