It has been some time since I tried, but IIRC UT2004 requires the OSS sound API. It can be emulated with Pulseaudio using `paoss`. This is due to an old version of SDL being shipped. IIRC, deleting the SDL so, or upgrading it works, and also provides other niceties, such as alt-tab support, steam overlay, etc.
There's also a project from Icculus to expose an SDL 1.2 API for SDL2, but I haven't tried it. IIRC his video demonstration used UT2004 on Wayland.
BTW, this is why statically compiling is a bad thing, and LGPL a good one: let users upgrade the libraries :)
Can Emscripten use existing binaries? Because I thought it needs the original source code (maybe Icculus asked for the source). Combining this with a websocket proxy for networking support makes a really easy way to setup instant LAN parties (no deployment) and in general have a decent way to preserve these games.
For these old binaries, there probably wouldn't even need to be any source-fixing; a straight recompile would probably be enough.
(Ironically, another poster downthread points out old UE1 apps often don't run on Windows, either, without binary modification, so it's not like MS is squeaky-clean there either.)
Sadly, userspace provides no such guarantees.
However, what's more awesome is that there's an unofficial update currently in beta (v469) and I can confirm it runs well on modern Linux
https://www.oldunreal.com/cgi-bin/yabb2/YaBB.pl?num=15695872...
But, heads-up, maybe this will work in your Unreal Engine 1 hacking: the awesome Icculus put together a small tarball of the needed libc5 libraries..
http://icculus.org/updates/cod/gcc3-libs.tar.bz2
Check out the thread where I found this -- it's quite a read:
https://icculus.org/pipermail/ut2004/2005-June/002249.html
And, as much as I hate to say it, reading that old 2005 thread still rings true: Windows apps still tend to work, even 25 years later, but Linux apps don't tend to work even a year or two later. Backwards compatibility hasn't really been a thing in Linux, but it should be.
Also see https://www.smokin-guns.org/ (based on Q3A) and my 64-bit build of it from a few years ago: https://github.com/jamiesonbecker/smokinguns