From: Jim P. <ji...@ag...> - 2000-03-08 17:54:22
|
> > Make the terminal emulation a loadable module. Have the console driver > > look for module "vte" and then you can use the alias mechanismen of > > modload to push the appropriate module. If that fails fall back to dumb > > line mode (similiar to the framebuffer initialization). > > > > Does that appear a workable solution? > > Yes:) Another idea - the terminal emulator can live in user-space (a terminal- emulator daemon ?), sitting on top of the normal Linux console code, or fbdev, or GGI, or X, or whatever. It can use /dev/ttyp? as the tty device. It doesn't need to go into the kernel. If we take the GGI approach of only having hardware-banging stuff in the kernel, then there is no reason to have the terminal emulator live there as well. If we can get all the services we need from the kernel one way or another, then the terminal emulator can live outside. This is what xterm does anyway - sits on X, grabs a pseudo-tty. This may need to be a high-priority process to keep the display up-to-date in the face of high system loads. This is a downside, but there is also the up-side that the application does not block whilst the display is updated (as with a kernel solution), but only when the pipe buffer is full. A daemon updating once every frame or so could cut out a lot of unnecessary updates when applications have rolling counters or whatever. Any objections to this idea ? The other thing to remember is that in the case of a real hardware terminal, the only link to the main machine is a two-way serial cable. So a terminal emulator could live on the end of a couple of pipes, across the network if necessary. This is taking the detachment from the kernel to the extreme, but perhaps you see the point. Once you've worked out how to do multiple-keyboards, multiple-heads, and so on in the kernel, the user-space daemon could be configured to pick these up and make use of them. The terminal emulator daemon could support many pseudo-ttys on one display, using hot-keys to switch (just like Alt-Fn), or even two displays at the same time, moving pseudo-ttys between them. You can do a lot from user-space if the kernel can provide the services. Jim -- Jim Peters / __ | \ Aguazul / /| /| )| /| / )|| \ jim@aguazul. \ (_|(_|(_|(_| )(_|I / www.aguazul. demon.co.uk \ ._) _/ / demon.co.uk |