X Address Translation

MPX brought to us a new idea of multiseat system.

Xat is an application that serves as an intermediary between the X clients and a multiheaded X server. Xat deceives its clients which have the impression that the server has only one head. The objective is that each head behaves like several distinct X servers. We can imagine a scenario where we have a xserver on display :1 with four screens (:1.0, :1.1, :1.2 and :1.3). After Xat being connected we have four displays (:2, :3, :4 and :5) and just one screen per display.

Today, we are releasing Xat to the public. The program still is a proof of concept and needs feedback from the community so that it can succeed. Perhaps in the future this application can be incorporated in the next releases.

The 0.1.0 release is available at:

There are some nice screenshots here:

The documentation can be found on

So, please let us know what you think.

Thank you,

C3SL team

Multiseat state on Linux

For some reason multiseat doesn’t call much attention in countries that are not of the third world. I can be radical, but in my humble opinion there is no reason to not apply this model of computation in certain types of environment (I’m talking about kiosks, Internet cafe, office, schools, etc). The money saved is enormous, and this is only one of the advantages that I am enumerating here.

There are a lot of solutions of multiseat and I like to separate it on two groups: (a) the hardware dependent and (b) hardware independent. The solutions of group (a) is the “backstreet ruby”, “evdev” and “faketty”. All of these starts severals instances of xservers and have a well known problem concerning the routing on VGA interface. There were efforts to implement VGA arbitration in the kernel before, but because of lack of community support, it never got in. Therefore, the solutions of group (a) works with a very limited graphics card vendors.

On the other hand we have the (b) group. Nested xservers like Xnest, Xephyr and Xglx can be used to deploy a multiseat. The problem is that this is a hack. It’s not the right way to get it done. The overhead imposed by the nested servers and the lack of some extensions that only the Xorg server has make this group of solutions be just temporarily. I call this group hardware independent because it works with all graphics cards which Xorg supports being a “normal” server (not multiseat).

Me and the C3SL team have followed and contributed for about four years the multiseat progress. Tomorrow, or after tomorrow, C3SL will be announcing to the world a new kind of multiseat that fits on group (b) but possibly to (a) group too. I’ll write the announces here. Just keep tuned! :)