Unix Windowing Systems: Difference between revisions

From DisNCord Community Wiki
Jump to navigation Jump to search
Waterpear (talk | contribs)
create skeleton: list and categorize
 
Waterpear (talk | contribs)
→‎Early Competitors and Predecessors: quick note about X10R3 being included with 4.3BSD in new.tar
 
(4 intermediate revisions by the same user not shown)
Line 15: Line 15:
* CMU Andrew Window Manager
* CMU Andrew Window Manager
* W (the predecessor to X)
* W (the predecessor to X)
* prior versions of X (I'm aware X10R4 has been run in emulation)
* prior versions of X (I know andrew_w has run an Ultrix version X10R4 in emulation. The sources for X10R3 are in the 4.3BSD contrib area "new.tar" and there's a QVSS driver. It might be plausible to run it in simh too!)
* mpx and mux from Research Unix 8/9
* mpx and mux from Research Unix 8/9
* layers
* layers
* the UNIX PC window system
* the UNIX PC window system
=== MGR ===
[[File:MGR on VSTa 800x600.png|thumb|MGR window system, running on VSTa, demonstrating the "clock2", "walk", and "stringart" clients, as well as a MicroEMACS session]]
MGR ("ManaGeR") was a window system written for the Sun-3 line of workstations. It saw some use as a lightweight alternative to SunView and X. It's notable in that the terminal emulator is located in the display server, and that graphics are accessed with terminal escape sequences. This means that it's well-suited for running a bunch of terminal windows, but graphics are slower<ref>https://hack.org/mc/mgr/</ref>.
It's also network transparent. Clients can be run through any sort of terminal/telnet/modem line. This resembles the Blit, and apparently the Blit terminal from Bell Labs inspired MGR<ref>https://utcc.utoronto.ca/~cks/space/blog/unix/MGRMemories</ref>.
MGR saw lots of ports. At one point or another, it ran on<ref>https://web.mit.edu/linux/redhat/redhat-4.0.0/i386/doc/HTML/ldp/MGR-HOWTO-2.html</ref>:
* Linux
* Sun-4 (SPARC) (both SunOS and, later, Solaris)
* Coherent
* Macintosh
* Atari ST (MiNT)
* Xenix
* Minix
* DECstation 3100 (Ultrix)
* AT&T UNIX PC
* OS-9
* Lynx
The MGR 0.69 distribution claims to have support for SunOS 4.1.2, Linux 0.99.14, HP-UX 8.07, Coherent 4.0, and FreeBSD 2.0. The 640x480 monochrome server and the clients build easily on Red Hat Linux 4 (not RHEL 4), but trying to specify any sort of Super VGA card or resolution seems to permanently break the build. FreeBSD 2.0 requires considerable massaging of the Makefiles, includes, and defines to produce a build of the server, so it isn't recommended.
Other ways to get this running:
* Emulating the original platform (Sun-3) is <i>possible</i> with TME, but it's a hassle to get TME running.
* There's MC Widerkrantz's Solaris port<ref>https://hack.org/mc/mgr/</ref>, which QEMU might be able to run.
* andrew_w on the Discord has a disk image with a VSTa port of MGR, which runs well in 86Box.
* There appears to be X support in this Github repo<ref>https://github.com/hyc/mgr</ref>.
Finally, given how portable MGR has proven to be, it might be feasible to forward-port it to the modern Linux framebuffer.


== Niche Window Systems ==
== Niche Window Systems ==
Line 29: Line 61:
* BSD window(1)
* BSD window(1)
* the A/UX window system
* the A/UX window system
=== BSD window ===
window(1) is a terminal multiplexer that offers overlapping windows on ordinary character cell terminals. It was introduced in 4.3BSD, and survived long enough to make it into the modern BSD systems for a bit. All of them have since jettisoned it in favor of tmux. Its last appearance was in NetBSD 6.1<ref>https://man.netbsd.org/NetBSD-6.1.5/window.1</ref>.
The NetBSD version of window was archived into pkgsrc <ref>https://github.com/NetBSD/pkgsrc/tree/trunk/misc/window</ref>. The terminal emulation isn't ANSI-compliant, and there's no terminfo definition on non-NetBSD platforms (at least not on macOS). Compatibility with modern fancy shell prompts and TUI software is limited; Neofetch in particular emits sludge.
TODO: a good screenshot
TODO: build/install instructions for non-NetBSD (could probably make a fork/distribution with a terminfo definition)


== Novelties ==
== Novelties ==
Line 34: Line 76:
* Y Window System
* Y Window System
* Orbital
* Orbital
== References ==
<references />


[[Category:Preservation and Documentation]]
[[Category:Preservation and Documentation]]
[[Category:Projects]]
[[Category:Projects]]

Latest revision as of 23:36, 13 April 2024

The phrase "windowing system for Unix" is nearly synonymous with X11 and, increasingly, Wayland. While X11 has dominated the Unix window system market for decades, it has coexisted with many others over the years. Some of them were early competitors that fell by the wayside, others filled niches that X was unable to, and still others are just fun little things someone made for fun or for a school project.

This project has three aims:

  • Gather information about these alternative window systems
  • Bring them up under emulation, where possible
  • Preserve them by porting them to modern operating systems, where practical

Early Competitors and Predecessors

  • ManaGeR (MGR)
  • SunView
  • NeWS / OpenWindows
  • NeXT Display PostScript
  • PERQ PNX / Sapphire
  • HP Windows/9000
  • CMU Andrew Window Manager
  • W (the predecessor to X)
  • prior versions of X (I know andrew_w has run an Ultrix version X10R4 in emulation. The sources for X10R3 are in the 4.3BSD contrib area "new.tar" and there's a QVSS driver. It might be plausible to run it in simh too!)
  • mpx and mux from Research Unix 8/9
  • layers
  • the UNIX PC window system

MGR

MGR window system, running on VSTa, demonstrating the "clock2", "walk", and "stringart" clients, as well as a MicroEMACS session

MGR ("ManaGeR") was a window system written for the Sun-3 line of workstations. It saw some use as a lightweight alternative to SunView and X. It's notable in that the terminal emulator is located in the display server, and that graphics are accessed with terminal escape sequences. This means that it's well-suited for running a bunch of terminal windows, but graphics are slower[1].

It's also network transparent. Clients can be run through any sort of terminal/telnet/modem line. This resembles the Blit, and apparently the Blit terminal from Bell Labs inspired MGR[2].

MGR saw lots of ports. At one point or another, it ran on[3]:

  • Linux
  • Sun-4 (SPARC) (both SunOS and, later, Solaris)
  • Coherent
  • Macintosh
  • Atari ST (MiNT)
  • Xenix
  • Minix
  • DECstation 3100 (Ultrix)
  • AT&T UNIX PC
  • OS-9
  • Lynx

The MGR 0.69 distribution claims to have support for SunOS 4.1.2, Linux 0.99.14, HP-UX 8.07, Coherent 4.0, and FreeBSD 2.0. The 640x480 monochrome server and the clients build easily on Red Hat Linux 4 (not RHEL 4), but trying to specify any sort of Super VGA card or resolution seems to permanently break the build. FreeBSD 2.0 requires considerable massaging of the Makefiles, includes, and defines to produce a build of the server, so it isn't recommended.

Other ways to get this running:

  • Emulating the original platform (Sun-3) is possible with TME, but it's a hassle to get TME running.
  • There's MC Widerkrantz's Solaris port[4], which QEMU might be able to run.
  • andrew_w on the Discord has a disk image with a VSTa port of MGR, which runs well in 86Box.
  • There appears to be X support in this Github repo[5].

Finally, given how portable MGR has proven to be, it might be feasible to forward-port it to the modern Linux framebuffer.

Niche Window Systems

  • Xynth/XFast
  • QNX Windows
  • QNX Photon
  • QNX screen
  • RockLyte Athene
  • Maryland Windows
  • BSD window(1)
  • the A/UX window system

BSD window

window(1) is a terminal multiplexer that offers overlapping windows on ordinary character cell terminals. It was introduced in 4.3BSD, and survived long enough to make it into the modern BSD systems for a bit. All of them have since jettisoned it in favor of tmux. Its last appearance was in NetBSD 6.1[6].

The NetBSD version of window was archived into pkgsrc [7]. The terminal emulation isn't ANSI-compliant, and there's no terminfo definition on non-NetBSD platforms (at least not on macOS). Compatibility with modern fancy shell prompts and TUI software is limited; Neofetch in particular emits sludge.

TODO: a good screenshot

TODO: build/install instructions for non-NetBSD (could probably make a fork/distribution with a terminfo definition)

Novelties

  • Twin
  • Y Window System
  • Orbital

References