On Mon, Mar 13, 2023 at 9:13 AM Paul Ruizendaal via TUHS <tuhs@tuhs.org> wrote:
Thinking a bit more about terminal multiplexing was a major use case for early X, I recalled using Linux virtual consoles in the late 90’s for this purpose.

According to Wikipedia, virtual consoles originated with Xenix and before that with concurrent CP/M.

Perusing the documentation of those on Bitsavers, I can see that virtual consoles have a prominent mention in the manual for concurrent CP/M (1983), but not those of its forerunners MP/M II and MP/M (1979). I cannot find a mention of virtual consoles in Xenix documentation as late as 1988.

Venix/86R 1.0 Boston Softwre Works Edition had virtual consoles. It was released in 1986. https://groups.google.com/g/mod.newprod/c/iYLc3cdnyms/m/Him5XgqwT70J is a reference. However, it was inspired by Xenix and Microport System V/AT according to the author. The stock version of Venix/86R 1.0 didn't have them, nor did the PC version that we have some sources for. Here's the relevant bits from the blurb:

Virtual consoles, as found in VENIX on IBM-compatible machines, and also in XENIX and Microport System V/AT.

But also interesting was:

Support for simultaneous use of a monochrome display (for terminal/console use) and a color graphics display (for graphics).
 
which I thought interesting at the time, but was pretty old-school Unix Workstation by then.

No such thing as a virtual (as distinct from pseudo) tty on 16-bit Unix or early 32-bit, as far as I know; one could argue it does not make much sense with physical terminals. Wikipedia says no such thing existed on SunOS either.

I think virtual consoles where present in Linux from a very early point.

Ditto for the 386BSD BSD/386 line of  code. I think they were added in the patch-kit phase, not the original Jolitz code phase. FreeBSD 1.0 Beta had them in 1993 for sure, as did NetBSD of the time.

I have a memory of them on 0.98pl13 on Linux as well, but that version sticks in my head as a proxy for anything between 0.96 (the first one I tried) and 0.99 (the last before 1.x Linux). This would be approximately 1992 or 1993.

I've not done the deep-dive into the ancient code bases to see if I can suss out when they arrived.
 
So, as far as I can tell virtual consoles were invented for concurrent CP/M around 1983, made their way to Xenix in the late 80’s and became part of Linux in the early 90’s.

Have I missed other prior art?

Maybe a little. Good information about Microport System V is kinda hard to come by these days...

Warner