Single-card Multiseat: Xephyr Freezes

Hi all,

I have a multiseat installation consisting of a single graphics card controlling two screens, with one Xephyr instance on each. Each one has its corresponding mouse and keyboard assigned via appropriate command line switches–evdev is used as the input device driver.

Since a recent “zypper update” (about two weeks ago), this configuration has been having problems: as long as the keyboard and mouse are not being used, it runs fine (e.g., over the weekend when it just sits on the KDM login screen), but when it is being actively used, the Xephyr process will eventually end up in a hard lock-up requiring a kill -9. A lock-up of one Xephyr screen does not seem to affect the other, although both will end up frozen eventually–sometimes this takes only a couple of minutes after the user starts his activity, and sometimes it may work for half an hour or so before it gives up the ghost.

There are no relevant log entries anywhere I could find, and neither is anything reported on Xephyr’s stderr/stdout. I have tried downgrading to an older version of Xephyr, as well as compiling xorg-x11-server-extra locally from source, with no success. Only thing I can think of is downgrading to the previous kernel. Unlike my Debian machines though, OpenSUSE does not seem to keep the last few previous kernels for you to boot into in case of problems, and I can’t see how to downgrade kernel via Yast2.

Any ideas would be much appreciated. Sorry for the lack of debug logs, but this is pretty much all I have to work with myself.

i have no advice on getting xephyr to behave properly, just the multiversion statement and kernel rollback…

to keep different versions of the kernel, you will need to edit /etc/zypp/zypp.conf manually… look for a line (commented out):

multiversion = kernel-default,kernel-smp

remove the # and put whatever flavor of kernel you wish to keep, be advised that your boot screen options will also be added to automagically. Doesn’t take many upgrades to get cumbersome but they can be deleted individually as it grows in Yast2 using the same method i’ll describe for downgrading the kernel…

type kernel-(yourflavor) in the search box of the SoftwareMgnt module of Yast2, highlight the package in the right pane and then in the lower pane pick the version tab… this will give you a listing of all the previous packages still in the update repo. Hitting the selection circle/dot on the left of the entry “selects” it and a update arrow will appear for the entry in the upper panel.

if you have other devel packages/source/etc packages for your present kernel, they will have to be reverted also… good luck :slight_smile:

Ta very much for the advice on the kernel versions issue.

FWIW, I seem to have got the multiseat working again (at least no freezes so far) by updating all the xorgs packages to the version in Factory, i.e.:

zypper install -r "openSUSE:Factory" $(zypper search xorg-x11 |grep ^i |cut -f 3 -d ' ')

I was just shooting in the dark so I can’t really say what went wrong. Maybe a version mixup between different xorg packages.