> > Are you aware of the linuxconsole project at > > linuxconsole.sourceforge.net, looks like this kind of thing is included > > in thier plans. Stuff is already getting merged into the 2.5 development > > kernels.
Hmmm... OK, but this gives us only the VT's, keyboards and mice - the video problem is the same, isn't it? That is, unless we want to use the fbdev, losing all acceleration and support for many cards. Or am I wrong - is there some acceleration in the framebuffer and its X driver? > 1) Some way for two (human and unix) users to get their own desktops, > completely seperated for security reasons etc etc. As ppl have pointed out, > either with two seperate servers, or one server with security somehow bolted > on. That's what I want to do. OK, you all have convinced me that the multi- user single-server is not a good idea. In that case, we face the problem of conflicting VGA card access by multiple servers. XFree currently expects that it is the only program accessing any video hardware, which obviously is a mistaken assumption in the case we want to implement. Now, I am afraid I miss a piece of technical background here, so please, fill me in if possible, or point me to a resource: If I remember correctly, the original VGA has I/O ports at somewhere around 0x3C0, and memory at 0xA0000 (or 0xB0000, or 0xB8000). Now, with PCI/AGP VGA cards, I assumed that the address ranges are dynamically allocated at startup just like with other PCI devices, with some kind of a hack to support backwards compatibility. However, this does not seem to be the case. Many modern VGA's that I have seen have no I/O port entry in /proc/pci (some do - my ATI All In Wonder 128 has 0xC000 - 0xC0FF). Does it mean that they use only the backwards-compatible I/O addresses? Or do they use memory I/O instead? (Because they do have a memory address listed in /proc/pci.) If I guess correctly, the multiple VGA's share the backwards- compatible I/O port range at 0x3Cx. Certainly, it seems so from the files vgaHW.[ch]. This must mean that for any access to these ports - initialization, mode change etc. - all other VGA's bus access must be disabled and only the one VGA enabled. From what I have seen, it seems that currently X disables all VGA's bus access except for the one (or more) that it handles, and it stays that way for the lifetime of the server, except for mode changes, VT switches etc. Again, if I understand correctly, for multiple X servers we would have to isolate all shared I/O port accesses and enclose them in lock acquire/lock release. For the rest of the servers' lifetime (when no mode change is occuring), the cards' I/O access should stay disabled. Right? (This all should apply to shared memory accesses too, I suppose - except I'm not sure what would happen to a DGA application writing to the framebuffer while memory access is disabled for that card??? Or are applications never writing directly to the card's framebuffer?) Now, please tell me, someone knowledgeable, if my above written guesses and conclusions are anywhere near the truth. :-) Thanks. In the positive case, is it even possible to isolate I/O accesses in a driver-independent way? Where would I start? I'm willing to try to do the hard work, but I need guidance from someone who understands XFree internals. (Even then, it may prove to be too much for me...) Thanks for all input. I'm glad I at least managed to stir a discussion this time. :-) Vaclav Dvorak [EMAIL PROTECTED] IDAS, s.r.o. http://www.idas.cz _______________________________________________ Xpert mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xpert