Bug 19527 - Xorg screen slides / locks up in multi-seat configuration with evdev-2.1.0
Summary: Xorg screen slides / locks up in multi-seat configuration with evdev-2.1.0
Status: RESOLVED WONTFIX
Alias: None
Product: xorg
Classification: Unclassified
Component: Input/evdev (show other bugs)
Version: 7.4 (2008.09)
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Peter Hutterer
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-01-12 21:55 UTC by Sumit Khanna
Modified: 2010-12-07 18:57 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
xorg configuration (3.07 KB, text/plain)
2009-01-12 21:55 UTC, Sumit Khanna
no flags Details
Server 0 Log after it had froze (11.81 KB, text/plain)
2009-01-12 21:55 UTC, Sumit Khanna
no flags Details
Server 1 (12.12 KB, application/octet-stream)
2009-01-12 21:55 UTC, Sumit Khanna
no flags Details
GDM Configuration (3.49 KB, text/plain)
2009-01-12 21:56 UTC, Sumit Khanna
no flags Details
debug output from nvidia bug reporting tool (93.80 KB, application/octet-stream)
2009-01-12 21:56 UTC, Sumit Khanna
no flags Details

Description Sumit Khanna 2009-01-12 21:55:11 UTC
Created attachment 21915 [details]
xorg configuration

In a dual-seat layout, the screen was shifted 20% to the left and every time I pressed enter, the screen would roll around until it was eventually back center again. Mouse clicks would go to where they were suppose to go: so if the screen was shifted the window that would normal be under the mouse got the event.

I've had this problem before and remember it seemed to relate to the xf86-input-evdev driver. I noticed this had updated recently in my Gentoo emerge.log. I masked the 2.1.0 version and downgraded back to 2.0.8. Now the dual-seat layout works and is stable. 

I'll attach all my configs and outputs. I am running Gentoo ~amd64. Here is my kernel version:

$ uname -a
Linux raphael 2.6.28-gentoo #1 SMP Mon Jan 12 23:06:16 EST 2009 x86_64 Intel(R) Pentium(R) D CPU 2.80GHz GenuineIntel GNU/Linux

Package Versions:

xorg-server-1.5.3
xorg-x11-7.4
xf86dga-1.0.2
xf86-input-evdev-2.0.8 (this version works. 2.1.0 causes the problem)
xf86-input-keyboard-1.3.1
xf86-input-mouse-1.4.0
xf86-video-apm-1.0.1.5
xf86-video-ark-0.5.0.5
xf86-video-ati-6.5.8.0
xf86-video-chips-1.0.1.3
xf86-video-cirrus-1.0.0.5
xf86-video-dummy-0.1.0.5
xf86-video-fbdev-0.1.0.5
xf86-video-glint-1.0.1.3
xf86-video-i128-1.1.0.5
xf86-video-intel-1.4.1.3
xf86-video-mga-1.2.1.3
xf86-video-neomagic-1.0.0.5
xf86-video-nv-2.1.12
xf86-video-rendition-4.0.1.3
xf86-video-s3-0.3.5.5
xf86-video-s3virge-1.8.6.5
xf86-video-savage-2.0.2.3
xf86-video-siliconmotion-1.3.1.5
xf86-video-sis-0.8.1.3
xf86-video-sisusb-0.7.1.3
xf86-video-tdfx-1.1.1.3
xf86-video-tga-1.0.0.5
xf86-video-trident-1.3.0
xf86-video-tseng-1.0.0.5
xf86-video-v4l-0.0.1.5
xf86-video-vesa-2.0.0
xf86-video-via-0.1.33.2
xf86-video-vmware-10.12.0.0
xf86-video-voodoo-1.0.0.5


and my Gentoo Emerge Information:

 # emerge --info
Portage 2.1.6.4 (default/linux/amd64/2008.0/desktop, gcc-4.2.4, glibc-2.9_p20081201-r1, 2.6.28-gentoo x86_64)
=================================================================
System uname: Linux-2.6.28-gentoo-x86_64-Intel-R-_Pentium-R-_D_CPU_2.80GHz-with-glibc2.2.5
Timestamp of tree: Mon, 12 Jan 2009 16:00:01 +0000
app-shells/bash:     3.2_p48
dev-java/java-config: 1.3.7-r1, 2.1.6-r1
dev-lang/python:     2.3.6-r2, 2.4.4-r4, 2.5.2-r8
dev-python/pycrypto: 2.0.1-r6
dev-util/cmake:      2.6.2-r1
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.4.1-r1
sys-apps/sandbox:    1.3.2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.19
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.28-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O3 -march=nocona"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O3 -march=nocona"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="en"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/desktop-effects"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac aalib acl acpi aim alsa amd64 audiofile avahi berkdb bluetooth branding browserplugin bzip2 cairo cdinstall cdparanoia cdr cli cracklib crypt cups dbus dri dts dvd dvdr dvdread eds emboss emul-linux-x86 encode evo exif fam ffmpeg firefox flac fortran ftp gdbm gif gnome gpm gstreamer gtk gtk2 gtkhtml hal iconv ipv6 isdnlog java jpeg kde ldap libcaca libnotify lirc log4j mad matroska midi mikmod mmx mono mp3 mpeg msn mudflap multilib mysql ncurses nls nptl nptlonly nsplugin nvidia offensive ogg oggvorbis opengl openmp pam pcre pda pdf perl png ppds pppd python qt3 qt3support qt4 quicktime readline reflection rtc samba sdl seamonkey session spell spl sse sse2 ssl startup-notification svg sysfs tcpd theora tiff tracker truetype unicode usb vcd vorbis wmf xinerama xml xorg xscreensaver xulrunner xv xvid yahoo zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" LIRC_DEVICES="logitech" USERLAND="GNU" VIDEO_CARDS="nvidia trident"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Sumit Khanna 2009-01-12 21:55:49 UTC
Created attachment 21916 [details]
Server 0 Log after it had froze
Comment 2 Sumit Khanna 2009-01-12 21:55:59 UTC
Created attachment 21917 [details]
Server 1
Comment 3 Sumit Khanna 2009-01-12 21:56:17 UTC
Created attachment 21918 [details]
GDM Configuration
Comment 4 Sumit Khanna 2009-01-12 21:56:44 UTC
Created attachment 21919 [details]
debug output from nvidia bug reporting tool
Comment 5 Sumit Khanna 2009-01-14 05:54:59 UTC
evdev-2.1.1 was recently added to the Gentoo portage tree. I emerged it and it still has the same problems with screen-shifting/instability as 2.1.0 in my multi-seat layout. I reverted back to 2.0.8 and everything worked fine again.

On a side note, with 2.1.0/2.1.1, if I removed the -sharevts option from the server startup string (in the custom.conf for the GDM configuration), both sides run stable, just not at the same time (Ctrl+Alt+F7/F8 must be used to switch between them). But since the input is still tied to a virtual terminal without the -sharevts option, if I use Ctrl+C for anything on server0, it sends it as a signal to X killing it. 

Also in this setup, occasionally Ctrl+F7/F8 will no longer work to switch between the X servers, yet they'll continue to run in the background. 
Comment 6 Peter Hutterer 2009-01-14 15:15:27 UTC
weird. if you add the option GrabDevice "on" to the devices (in your fdi files), does the problem still occur?
Comment 7 Sumit Khanna 2009-02-02 11:12:13 UTC
I added the GrabDevices for a few weeks and it seems to have fixed the problem. (using 1.2.1 of evdev). 

Could we get some more documentation on these options? The man page for evdev is horribly out of date. 

This probably doesn't belong in this bug, but explanations of exactly what -sharevts, -novtswitch and -isloateDevice do would be nice a nice addition to the general xorg documentation too. I have a general idea, but I can't find official explanations searching through the docs and google (maybe I'm missing them?)



Comment 8 Sumit Khanna 2009-02-02 11:14:04 UTC
Oops. I meant 2.1.1, not 1.2.1
Comment 9 Sumit Khanna 2009-02-03 15:56:30 UTC
Some interesting stuff I forgot to mention: 

When the box first boots to the greeter (in my case, gdm), the screen is offset and rotates a little during hard drive activity. If I use Ctrl.Alt.+ and then Ctrl.Alt.- to shift the screen rez, it goes back to normal. This only happens when the greeter is first started, only on screen0 and is easily fixed. It rarely if ever happens after that and if it does, it can always be fixed with a screen res change.

This has actually always been a problem and it's never bothered me but I'm just documenting it so you know it happens. Also when the system reboots (via shutdown -r now from an open terminal) the screen starts shifting again until X is stopped. Once again, been there for a while but never bothered me.

Finally, even with the GrabDevice, if my box somehow loses connection with a USB device (hub gets unplugged or something) it may not pick it back up when it's plugged in again and if it's an input for the screen0, the sliding effects happens again.

I hope to have a video/photos of it which I will post sometime late this week or next week. Of course, if I turn off one of the servers and drop to a single-seat system, all the problems go away. 
Comment 10 Peter Hutterer 2009-02-15 20:50:03 UTC
(In reply to comment #7)
> I added the GrabDevices for a few weeks and it seems to have fixed the problem.
> (using 1.2.1 of evdev). 
> 
> Could we get some more documentation on these options? The man page for evdev
> is horribly out of date. 

What's out of date there?


> This probably doesn't belong in this bug, but explanations of exactly what
> -sharevts, -novtswitch and -isloateDevice do would be nice a nice addition to
> the general xorg documentation too. I have a general idea, but I can't find
> official explanations searching through the docs and google (maybe I'm missing
> them?)

Xorg --help shows a quick summary of the options. 



As for you real problem, I don't have the faintest idea yet what could be wrong here. sorry.
Comment 11 Peter Hutterer 2010-12-07 18:57:04 UTC
Closing a few old neglected bugs. Sorry this didn't get fixed in time. Please reopen if this is still an issue with a current version of evdev.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.