Argh. Unreal engine 1 can be a real pain, even on windows!
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!)
I've been playing Deus Ex from GOG.com on Linux (under Wine) myself and it has worked great.
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).
They might want to avoid 3rd party licensed software issues, and/or possibly in their archaic restricted mindsets, any user enjoying a decades old game ported to current hardware becomes one less customer purchasing a new title.
For anyone who missed it, EA just announced that they will release the C++ source code of Red Alert 1. (It's not completely clear whether they will release all of the source.) [0]
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.
Does it get that bad? I had various issues with UE1 applications but most of the time just adding a modern OGL/DX9/10/11 renderer library solves everything.
I started hacking on this again as well (especially classic Unreal Tournament/UT99). Would love to play some Facing Worlds, but was not able to get it to work on a modern 64-bit MX system w/ nvidia binary drivers.. however, did get UT2004 working! (no sound so far though)
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..
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.
Which, for an open source OS, is honestly not that unreasonable, even if it is frustrating for cases where you have old binaries with no source.
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.)
As far as old windows games are concerned, I've experienced that they often run more stable and performant with wine on linux than on a newer windows version.
> however, did get UT2004 working! (no sound so far though)
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.
25 comments
[ 11.7 ms ] story [ 51.4 ms ] threadJust 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.
[0] https://news.ycombinator.com/item?id=23249964
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
Sadly, userspace provides no such guarantees.
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.)
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 :)
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...
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.
https://github.com/zedr/docker-unreal-tournament-99