X server semantics - number of users per server

Tiago Vignatti vignatti at c3sl.ufpr.br
Thu Mar 22 13:40:30 PDT 2007

AFAIK, since MPX was introduced, the X server's semantic was changed 
regarding the number of users on the same X server instance. Before it 
was only one user associated with one display and now can be more than 
one. This semantic modification has a great interest with multiseat 
where we have some users, each associated with one display.

Today if we initialize one instance of the Xorg with two (or more) 
graphical cards, the RAC will do some HACK to play with it. On the other 
hand, two or more instances of Xorg initialized on the same VT 
(multiseat) will stall the system with things concerning the legacy VGA 
interface. Besides it, on the multiseat environment, the VGA arbitration 
should route the VGA to its right PCI buses. But the arbiter is not yet 

I hacked a lot trying to understand how it all works and IMHO this 
things are really tough to deal, so here comes my idea: translate the X 
clients events to their associated display *inside* the X server. Well, 
XAT [1] already do this externally to X server (like a proxy) and can be 
thought like proof-of-concept. The semantics will modify a lot cause we 
are adding more than one display per server's instance.

So what I want to know is the best approach to achieve a multiseat. 
Should we learn more about how VGA routes its information? Should we try 
to do some external X server's RAC which could coordinate the severals X 
servers? Should we advance with this new semantic added by the MPX (one 
server, lot of users) + XAT? Or what?

I know that a lot of people here had discussed it, so please, your 
comments here will be very welcome and useful. My real motivations in do 
this are that nvidia proprietary driver knows how to deal with 
multiseat, mga too and a lot of companies around the world are sealing 
multiseat systems. Here in Brazil (and others third world countries) 
there are a lot of projects which are using multiseat.

my best regards


Tiago Vignatti
C3SL - Centro de Computação Científica e Software Livre

More information about the xorg mailing list