4 ms·
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 o
by jamiesonbecker 6y ago
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..
http://icculus.org/updates/cod/gcc3-libs.tar.bz2 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 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/ 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 https://github.com/jamiesonbecker/smokinguns
- skyde 6y agodid the linux kernel system call changes or is it only a problem with libc?
- kelnos 6y agoThe system calls should be fine; Linux only tends to kill system calls if there are security issues that can't be fixed in a compatible way.
- moonchild 6y agoLinux has a hard policy that the kernel should never break userspace. Sadly, userspace provides no such guarantees.
- jamiesonbecker 6y agolibc and sdl
- flatlanderwoman 6y agoLinux has a "fix the source and recompile" mentality to backwards compatibility.
- kelnos 6y agoWhich, 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.)
- zokier 6y agoLinux (mostly) doesn't have a problem with binary backwards compatibility. It's everything around Linux that is generally the problem.
- deleted 6y ago[deleted]
- tinus_hn 6y agoLinus is adamant about new versions of the kernel not breaking compatibility with userspace. The problem is with the rest of the system.
- Heronymus_Anon 6y agoAs 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.
- MayeulC 6y ago> 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 :)
- MayeulC 6y agoThis is the sdl12-compat project: https://www.patreon.com/posts/project-sdl12-25321792 https://www.patreon.com/posts/project-sdl12-25321792 https://hg.libsdl.org/sdl12-compat/ https://hg.libsdl.org/sdl12-compat/
- therealidiot 6y agoI've found that UT99 works incredibly well under wine. 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=1569587267 https://www.oldunreal.com/cgi-bin/yabb2/YaBB.pl?num=15695872...
- trizic 6y agoIcculus also created this: https://www.icculus.org/ut99-emscripten/ https://www.icculus.org/ut99-emscripten/ 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.