Multiseat with Appian Jeronimo Pro

Federico Heinz fheinz at vialibre.org.ar
Tue Jan 3 12:24:12 PST 2006


Continuing with my attempts to get the Jeronimo Pro quad-monitor to
start up correctly, I ran the debug-enabled static server that comes in
ubuntu.

To recap briefly, the system has initialization problems: the first time
a server tries to initialize one of the cards, it hangs, but it works
perfectly after SIGKILLing and restarting it. Once I have done
start-sigkill-start dance for each card, the whole setup works
perfectly.
 
I have pinpointed the problem: the software interrupt in vm86_rep() in
linux_vm86.c hangs every time it is called from the first process to
attempt initialization of the card. The reason why a simple SIGTERM will
not kill the process is that the call to vm86_rep from do_vm86() is
surrounded by signal-handling code. Thus, when vm86_rep() is SIGTERMed,
do_vm86() detects the fact, returns an error code and gets called again,
just to get stuck once more.

There must be a perfectly reasonable explanation for it, but to me it's
very odd that vm86_rep() hangs repeatedly when called from the first
server process, yet works like charm from subsequent processes.

In any case, playing around with gdb I have found that, if I interrupt
vm86_rep() with SIGTERM, and then force do_vm86() to return 0 (OK), the
server proceeds normally, and everything is peachy. On the other hand,
if I have the server skip the call to vm86_rep() altogether, the server
does come up but with rather ugly visual artifacts (it looks like it
skips lines, or is otherwise out of sync). Also oddly enough, these
visual artifacts don't go away after restarting the server, which
entails a call to vm86_rep() from the new process which ought to
initialize the card properly.

¿Any ideas? I am an able C programmer, but I am definitely out of my
depth when it comes to video card initialization arcana...

	Fede

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.x.org/archives/xorg/attachments/20060103/6d2c9aaa/attachment.pgp>


More information about the xorg mailing list