The sad case of Unreal Engine 1 on Mesa and Linux in 2020
gamingonlinux.com
gamingonlinux.com
Just recently I tried running Deus Ex and had to use the hacked .exe files and a custom graphics mode for it to not have serious issues.
Tim Sweeney said he'd like to release the Unreal 1 source code one day (5 years ago) and it's stuff like this that would be sooooo much better even if we could only get Unreal itself and not further forks like Deus Ex.
(For instance, with doom modding they had to totally reverse engineer STRIFE but it properly works on modern systems now!)
But I think that an open-source release of Unreal Engine 1 that could potentially give us the power to fix these issues, would be great. The final thing that Deus Ex needs before becoming perfect is an open-source engine (kinda like OpenMW).
It'd also let us mod things way beyond what's reasonably possible by default, port the thing to other CPU architectures, port to other OSes..
I'm quite disappointed that the games industry at large doesn't care about their customers enough to open source their code.
You're right though, it's a pity this doesn't happen more often. As we've seen with Quake and classic DOOM, it doesn't even have to amount to a giveaway, as the game assets can remain payware.
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
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...