[Libdlo] Problems with running two X servers

Lars Magne Ingebrigtsen larsi at gnus.org
Wed Jul 28 07:46:34 PDT 2010


The main device on the computer is an nVidia card using the proprietary
driver.  I also have one of those tiny Mimo screens connected via USB
that I want to treat as a totally separate display, so using two X
servers seems ideal.

The system is Debian Squeeze, with kernel 2.6.34.1.

After some fiddling around, I got the following to work:

# X :1 vt8 -depth 16 -config /etc/X11/xorg.conf.mimo -sharevts

Without the "-sharevts", the second X server would blank the first.

So if everything is working, why am I sending this message?

Because it's using 100% CPU.

stracing the second X server says that it's looping like this:

...
rt_sigprocmask(SIG_BLOCK, [IO], [], 8)  = 0
read(6, ""..., 64)                      = 0
rt_sigprocmask(SIG_UNBLOCK, [IO], NULL, 8) = 0
...

This fd is a PCI thing pointing to my nVidia card:

# ls -l /proc/31682/fd
...
lrwx------ 1 root root 64 2010-07-28 16:44 6 -> /proc/bus/pci/00/01.0

And, indeed, the X log says that this is the primary device:

# grep Primary /var/log/Xorg.1.log
(II) Primary Device is: PCI 01:00:0

Trying to read from it fails, of course, since there's already an X
server that has it open.

So how do I get the second X server to ignore this device?  

Here are the relevant bits from the xorg.conf.mimo file:

Section "Device"
        Identifier      "MimoDevice"
        driver          "fbdev"
        Option  "fbdev" "/dev/fb0"
EndSection

Section "Monitor"
        Identifier      "MimoMonitor"
EndSection

Section "Screen"
        Identifier      "MimoScreen"
        Device          "MimoDevice"
        Monitor         "MimoMonitor"
        SubSection "Display"
                Depth   16
                Virtual 800 400
                Modes   "800x480"
        EndSubSection
EndSection



-- 
(domestic pets only, the antidote for overdose, milk.)
  larsi at gnus.org * Lars Magne Ingebrigtsen


More information about the Libdlo mailing list