points by xacky 3 days ago | 0 comments
There's probably an old X11 app from the 1980s that could be executed through xwayland somewhere.
[–] layer8 3 days ago
As an unmodified binary from the 1980s on current Linux/Unix? Highly unlikely.
[–] ndiddy 3 days ago
From the article, the time to beat is November 16, 1992. This might be possible on one of the BSDs, as FreeBSD and NetBSD both document support for running a.out executables with the 4.3BSD ABI. I guess it would depend on whether anyone had ported X11 to run on a BSD on i386 before then. Alternatively, maybe you'd be able to get something running on SCO OpenServer (if you count that as a current OS, it IS still getting security patches). It documents support for XENIX x.out binaries ( https://www.scosales.com/ta/kb/126704.html ) so you might be able to run software compiled in the late 1980s for XENIX/386.
[–] spijdar 3 days ago
NetBSD has excellent binary compatible with 80s "unix", the problem is most (all?) of the 80s unix platforms it supports aren't x86.
Current NetBSD still has good support for running SunOS binaries, though, including graphical ones. I'm certain you could get a SunOS 4.x binary from pre-1992 to run on NetBSD/SPARC. I've no idea how far back you could potentially go on NetBSD/m68k -- probably quite a ways, especially if the binaries are statically linked. SunOS pre-1988 was all static linking!
(Running "real" 4.3BSD binaries might be hard -- I think NetBSD/VAX defaults to ULTRIX compat, which is an either/or thing versus strict Berkeley Unix compatibility. Same binary format, similar but incompatible syscalls/data structures.)
[–] dvh 3 days ago
Just used xev today (bought new mouse few days ago and it wasn't responding in chrome so I wanted to be sure).
[–] LeFantome 3 days ago
xwm from 1984 and twm from 1989 will still execute on Xorg today.
And if you want to run them on Wayland, Worg will do that for you. https://github.com/jmalcolm137/Worg
[–] efreak 2 days ago
404
Either the repo doesn't exist or it's private
[–] jpablo 3 days ago
[–] xattt 3 days ago
[–] kragen 3 days ago
The other way around works fine, though, and you can avoid it by statically linking the binary when you build it.
[–] fuzzfactor 2 days ago
One of the recent efforts completed was removal of support for Ubuntu 24.04. That part I remember exactly :\
[–] jeroenhd 3 days ago
The downside of dynamically linked binaries: every tool of medium complexity needs a close-enough version of a common library, and once those get upgraded, the tool dies.
Most statically compiled version should work with a compatible enough libc, but I haven't seen many old programs like that.
Wine, on the other hand, runs tools from the 90s just fine, as long as they're 32 bit.
[–] account42 2 days ago
[–] Asooka 2 days ago
That means everything above libc. There are no "base system libraries" in the Linux world for GUI. Not even libX11, that has been deprecated in favour of libxcb, which has been deprecated in favour of not having X11 and running Wayland. Some days I am amazed that the ELF binary format hasn't been deprecated yet...
[–] account42 2 days ago
And of course Wayland has XWayland to continue compatibility. This doesn't give you access to new toys but neither does restricting yourself to a 30-year old Win32 API.
And beyond libc/libX11/libxcb, libasound has also provided good backwards compatibility with newer systems implementing shims to make it work. You can also use libpulse directly if you don't care about old/opinionated systems though.
[–] boomlinde 3 days ago
[–] 0x0203 3 days ago
[–] the__alchemist 3 days ago
More broadly, there are things like manylinux and MUSL which allow cross-distro applications.
[–] martijnvds 3 days ago
As long as the container bundles the right libc, the program should work.
[–] the__alchemist 3 days ago
[–] Rohansi 3 days ago
[–] toast0 3 days ago
[–] the__alchemist 3 days ago
[–] mrheosuper 3 days ago
[–] dekhn 3 days ago