XMX Frequently Asked Questions

1. What does the error "can't merge server foo:0.0 into virtual config" mean?

The X Window System was designed to run on a wide assortment of graphical display devices. To achieve this flexibility, X servers provide a variable set of resources (for example, color depths) to X clients based upon the hardware they run on. There is no complete core set of resources that every X server must provide. It is therefore possible for two or more X servers, on different machines, to support a disjoint, incompatible set of resources.

For example, few if any X servers will offer a black and white mode (called a visual in X lingo) when running on color hardware. For that reason, black and white X machines offer a set of resources to X clients that are incompatible with the set of resources offered by a color X machine.

In most cases, however, X servers offer enough resources that there is overlap among servers running on several different hardware platforms.

Xmx must present a single set of resources, established at startup, to the X clients that connect to it. It tries very hard to find compatible resources - even if they are not the defaults - to make a session possible. This error occurs when xmx is unable to find a compatible set of resources among two or more X servers.

You can often see the incompatibilities by running the command

	% xdpyinfo
on each of the offending machines and comparing the outputs.

2. Can the "can't merge... error be fixed?

Xmx could do additional work to bridge these resource gaps. It would require writing code to perform the appropriate transformations on the protocol stream. In some cases, these transformations would have serious effects on performance and on the quality of the shared display. For instance, when adding a low color-depth display into a session of high color-depth displays, the image quality cannot be made to match, and the computation needed to transform the colors is very expensive.

While it may seem worthwhile to add this feature to address a particular problem, note that the number of permutations of these tranformations grows sharply as you approach a general solution. Already, xmx handles the dozens (or hundreds, depending on how you look at it) of possible bitmap and pixmap mappings imposed by the core X protocol. Any additional transformations get added into this.

So the answer is yes, it can be fixed, but no, I have no near-term plans to do it.

3. What does the error "can't map server foo:0.0 to virtual config" mean?

See Question 1 for background information.

Xmx was unable to perform a Display Add of a particular X server, because it does not offer all the resources that are required by the current xmx session, which was previously established among one or more other X servers.

In many cases, the set of resources xmx is using are more than it needs, and you can get it to use fewer resources by including all the machines in the session at the outset. If you wish to add the machine that is causing the problems, try including it at startup, then drop it, then add it later. Because the set of resources xmx uses is established at startup, you are assured a machine can be added if it was previously dropped.

4. What does this error mean?
	/tmp/.X11-unix/X1: Permission denied
	unable to establish X server ports

It means that xmx cannot create a unix-domain socket in /tmp/.X11-unix. It must do this so that X clients can find it. Is your X server running setuid or setgid (as of Solaris 5.7, Sun's X server is setgid root)? If so, give xmx the same perms. Under Solaris, do this:
	% chgrp root xmx
	% chmod g+s xmx

Changing the permissions on /tmp/.X11-unix works, too, but not under Solaris - the perms get reset each time the server is run. On other platforms you can set that directory to 01777 and all will be well. Note that these perms allow any program to pose as an X server on any display number not already in use. Personally, that doesn't worry me too much, but it apparently worries Sun.

Home Software XMX
John Bazik