You are not logged in.

#1 2014-04-06 14:37:54

nanawel
Member
Registered: 2012-05-07
Posts: 66
Website

Annoying random display issue with multiseat configuration

Hi,

For the last 10 days at least I've been working on setting up a good multiseat configuration with my Arch-x64. Nothing specially complex, I have an i7 CPU (Haswell) - so with IGP - and an Nvidia GF 760, and I'd like to use the IGP on one monitor from my couch while the Nvidia is used for dual-head on my desktop. It was not easy but now I can get it to work well... but not always.

The problem is that after each reboot, Lightdm displays the login on both seats but on the "Nvidia" one, I can see 2 white dots blinking in the upper-left of the left screen. If I log in from this seat, the 2 dots remain and after a while (generally a few minutes) the upper part of the screen is covered with "glitches". I managed to get a screenshot of the result, images are better than words for that kind of things:

351a76b7-082e-44b2-99ff-a38da4e79042.jpg

I'll skip the details and get to the point.

I deduced after a while that it was probably a virtual console that was getting "through" the X display, and the two "dots" as I called them, the cursor. This deduction seems particularly right when I press Ctrl-Alt+Fn from Lightdm login screen: I can see a bunch of glitched "things" apprearing in the upper part of the screen (where the "dots" are) colored in white, green and red, exactly the colors you can see when the system is booting (yeah, red means I have a service that fails at boot, I know).

EDIT: I could get a screenshot of this one too:
3c8fe387-7ec9-4353-b2d8-01146fa4fc70.jpg

It could mean the configuration is wrong but... sometimes I manage to make it work. I cannot access the virtual console from the machine itself (see my previous post https://bbs.archlinux.org/viewtopic.php?id=178984) so I use SSH.
From there I can tweak the config (Lightdm and Xorg) and restart Lightdm. This is how sometimes the glitch "disappears" (even if the config is strictly the same as when it booted up) and then the machine runs perfectly until the next reboot.

So my questions would be:
- Where does that virtual console thing come from? (if you can - technically - explains a bit, I'd be glad)
- Is there something I should try to avoid this issue?

Disable framebuffer? I didn't figure out how to do that.

Here are the config you might want to look at:
/etc/default/grub

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""

GRUB_PRELOAD_MODULES="part_gpt part_msdos"

GRUB_TERMINAL_INPUT=console
GRUB_TERMINAL_OUTPUT=console

GRUB_GFXMODE=auto
GRUB_DISABLE_RECOVERY=true

/etc/lightdm/lightdm.conf

[LightDM]
greeter-user=lightdm
log-directory=/var/log/lightdm
run-directory=/run/lightdm

[SeatDefaults]
xserver-command=/usr/bin/X
greeter-session=lightdm-gtk-greeter
greeter-show-manual-login=true
session-wrapper=/etc/lightdm/Xsession
pam-service=lightdm-autologin

[Seat:0]
xserver-command=/usr/bin/X :0 -sharevts
xserver-layout=Layout-Main

[Seat:1]
xserver-command=/usr/bin/X :1 -sharevts
xserver-layout=Layout-Aux

[XDMCPServer]

[VNCServer]

/etc/X11/xorg.conf.d/50-serverlayout-main.conf

Section "ServerLayout"
    Identifier     "Layout-Main"
    Screen         "Screen-Main" 0 0
    InputDevice    "Logitech-Illuminated" "CoreKeyboard"
    InputDevice    "Logitech-G100S" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    Identifier     "Logitech-G100S"
    Driver         "evdev"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/input/by-id/usb-Logitech_G100s_Optical_Gaming_Mouse-event-mouse"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"

    Option         "GrabDevice" "on" # prevent send event to other X-servers
EndSection

Section "InputDevice"
    Identifier     "Logitech-Illuminated"

    Driver         "evdev"
    Option "XkbLayout" "fr"
    Option "XkbModel" "pc104"

    Option         "Device" "/dev/input/by-id/usb-Logitech_Logitech_Illuminated_Keyboard-event-kbd"
    Option         "GrabDevice" "on" # prevent send event to other X-servers
EndSection

Section "InputDevice"
    Identifier     "Logitech-Illuminated-multimedia"
    Driver         "evdev"
    Option         "Device" "/dev/input/event12"
    Option         "XkbModel" "evdev"
EndSection

Section "Monitor"

    Identifier     "Monitor0"
    VendorName     "Samsung"
    ModelName      "Samsung SyncMaster 2433"
    HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 60.0
    Option         "DPMS"
EndSection

Section "Monitor"

    Identifier     "Monitor1"
    VendorName     "Samsung"
    ModelName      "Samsung SyncMaster 2333sw"
    HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 60.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "NVIDIA-GTX760"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 760"
EndSection

Section "Screen"
    Identifier     "Screen-Main"
    Device         "NVIDIA-GTX760"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-3, DFP-0"
    Option         "metamodes" "DVI-I-1: nvidia-auto-select +1920+0, DVI-D-0: nvidia-auto-select +0+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

/etc/X11/xorg.conf.d/51-serverlayout-aux.conf

Section "ServerLayout"
    Identifier     "Layout-Aux"
    Screen         "Screen-Aux" 0 0
    InputDevice    "K400r-keyboard" "CoreKeyboard"
    InputDevice    "K400r-mouse" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    Identifier     "K400r-mouse"
    Driver         "evdev"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/input/by-id/usb-Logitech_USB_Receiver-if02-event-mouse"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"

    Option         "GrabDevice" "on" # prevent send event to other X-servers
EndSection

Section "InputDevice"
    Identifier     "K400r-keyboard"

    Driver         "evdev"
    Option "XkbLayout" "fr"
    Option "XkbModel" "pc104"

    Option         "Device" "/dev/input/event14"
    Option         "GrabDevice" "on" # prevent send event to other X-servers
EndSection

Section "InputDevice"
    Identifier     "K400r-keyboard-multimedia"
    Driver         "evdev"
    Option         "Device" "/dev/input/event14"
    Option         "XkbModel" "evdev"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Compaq"
    ModelName      "Compaq Q2159"
    HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 60.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Intel-I915"
    Driver         "intel"
    VendorName     "Intel"
    BoardName      "Intel IGP"
    BusID          "PCI:0:2:0"
EndSection

Section "Screen"
    Identifier     "Screen-Aux"
    Device         "Intel-I915"
    Monitor        "Monitor1"
    DefaultDepth    24
EndSection

I must add that I tried, as written on the wiki to add "-sharevts" only to the second seat but in this cas, once I log in from this second seat (I have a dedicated user for it), the monitors of the first seat go into sleep mode (no video signal).

Also, here are the different configurations I tried in lightdm.conf:

[Seat:0]
#xserver-command=/usr/bin/X :0 -sharevts -novtswitch -keeptty -isolateDevice PCI:1:0:0
#xserver-command=/usr/bin/X :0 -sharevts -isolateDevice PCI:1:0:0
#xserver-command=/usr/bin/X :0 -isolateDevice PCI:1:0:0
#xserver-command=/usr/bin/X :0 -sharevts -novtswitch
xserver-command=/usr/bin/X :0 -sharevts
#xserver-command=/usr/bin/X :0 -novtswitch
#xserver-command=/usr/bin/X :0
xserver-layout=Layout-Main

[Seat:1]
#xserver-command=/usr/bin/X :1 -sharevts -novtswitch -keeptty -isolateDevice PCI:0:2:0
#xserver-command=/usr/bin/X :1 -sharevts -isolateDevice PCI:0:2:0
#xserver-command=/usr/bin/X :1 -isolateDevice PCI:0:2:0
#xserver-command=/usr/bin/X :1 -sharevts -novtswitch
#xserver-command=/usr/bin/X :1 -novtswitch
xserver-command=/usr/bin/X :1 -sharevts
xserver-layout=Layout-Aux

The only one working "randomly" is the one uncommented, even if it's against everything I read about multiseat configuration.

Here's the working configuration in ps:

root     32646  0.3  0.3 185776 52580 tty7     Ss+  16:39   0:00 /usr/bin/X :0 -sharevts :0 -layout Layout-Main -auth /run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
root     32649  0.0  0.2 394576 39200 tty8     Ssl+ 16:39   0:00 /usr/bin/X :1 -sharevts :1 -layout Layout-Aux -auth /run/lightdm/root/:1 -nolisten tcp vt8 -novtswitch

I might have ommitted a lot of stuffs, so feel free to ask for more if needed.
I know I'm really close to the solution, so maybe some fresh eyes would help me for the last few steps. Thanks in advance!

Last edited by nanawel (2014-04-10 05:49:14)

Offline

Board footer

Powered by FluxBB