From owner-freebsd-x11@FreeBSD.ORG Fri Mar 28 05:16:26 2008 Return-Path: Delivered-To: freebsd-x11@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 31A491065673; Fri, 28 Mar 2008 05:16:26 +0000 (UTC) (envelope-from marcus@FreeBSD.org) Received: from creme-brulee.marcuscom.com (penna-pt.tunnel.tserv1.fmt.ipv6.he.net [IPv6:2001:470:1f00:ffff::1279]) by mx1.freebsd.org (Postfix) with ESMTP id 14C2F8FC1C; Fri, 28 Mar 2008 05:16:24 +0000 (UTC) (envelope-from marcus@FreeBSD.org) Received: from [IPv6:2001:470:1f00:2464::4] (shumai.marcuscom.com [IPv6:2001:470:1f00:2464::4]) by creme-brulee.marcuscom.com (8.14.2/8.14.2) with ESMTP id m2S5IJuc027422; Fri, 28 Mar 2008 01:18:19 -0400 (EDT) (envelope-from marcus@FreeBSD.org) From: Joe Marcus Clarke To: Jung-uk Kim In-Reply-To: <200803271908.34129.jkim@FreeBSD.org> References: <47EA7ED2.8030406@freebsd.org> <47EB9A2B.4060203@FreeBSD.org> <47EBCED1.8060308@freebsd.org> <200803271908.34129.jkim@FreeBSD.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-NFPItTTBYNtVPIwXJBMq" Organization: FreeBSD, Inc. Date: Fri, 28 Mar 2008 01:12:57 -0400 Message-Id: <1206681177.83202.8.camel@shumai.marcuscom.com> Mime-Version: 1.0 X-Mailer: Evolution 2.22.0 FreeBSD GNOME Team Port X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,NO_RELAYS autolearn=ham version=3.2.4 X-Spam-Checker-Version: SpamAssassin 3.2.4 (2008-01-01) on creme-brulee.marcuscom.com Cc: freebsd-x11@FreeBSD.org, cokane@FreeBSD.org Subject: Re: X pausing until mouse move (collecting commonalities) X-BeenThere: freebsd-x11@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: X11 on FreeBSD -- maintaining and support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Mar 2008 05:16:26 -0000 --=-NFPItTTBYNtVPIwXJBMq Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Thu, 2008-03-27 at 19:08 -0400, Jung-uk Kim wrote: > On Thursday 27 March 2008 12:44 pm, Joe Marcus Clarke wrote: > > Coleman Kane wrote: > > > Coleman Kane wrote: > > >> Joe Marcus Clarke wrote: > > >>> On Wed, 2008-03-26 at 16:54 -0400, Jung-uk Kim wrote: > > >>>> On Wednesday 26 March 2008 12:50 pm, Joe Marcus Clarke wrote: > > >>>>> I'm trying to get a list of commonalities to better focus my > > >>>>> troubleshooting. So far, my two machines that are affected > > >>>>> have the following in common: > > >>>>> > > >>>>> GNOME 2.22 (with hald) > > >>>>> nVidia graphics card (though different drivers) > > >>>>> PS/2 mouse > > >>>>> dual core > > >>>>> ULE scheduler > > >>>>> > > >>>>> My one machine that is not affected differs from this in that > > >>>>> it has an Intel graphics card, USB mouse, and is not dual > > >>>>> core (but HTT). > > >>>>> > > >>>>> It looks like Coleman has a PS/2 mouse as well. It's > > >>>>> starting to look like the mouse technology might have > > >>>>> something to do with this. Anyone seeing this problem with a > > >>>>> USB mouse? > > >>>> > > >>>> I think I know why. Build xorg-server without HAL support > > >>>> option and the attached patch. With HAL support (default) and > > >>>> hald running, xorg-server auto-detects individual ports with > > >>>> input.mouse capability even without configuration lines in > > >>>> xorg.conf. If moused is enabled and USB mouse is used, > > >>>> /dev/ums0 is directly used because there is a problem in MD > > >>>> code (see attached patch). If moused is enabled and PS/2 > > >>>> mouse is used, you end up with two input devices via > > >>>> /dev/sysmouse and /dev/psm0. I couldn't find a cleaner way to > > >>>> fix this problem, though. :-( > > >>> > > >>> Thanks for finding this. Here is a patch for hal which adds a > > >>> mouse addon. The mouse addon polls to find whether or not > > >>> moused has a given mouse device open. If it does, it sets the > > >>> input device to be /dev/sysmouse instead of the actual device.=20 > > >>> Hopefully it will fix the problem without needing to disable > > >>> hal support in X. I have also merged your gettimeofday > > >>> patches, jkim. > > >>> > > >>> http://www.marcuscom.com/downloads/hal.diff > > >>> > > >>> Joe > > >> > > >> I had to apply the attached change to your patch in order to get > > >> it to work (addon/ should be addons/). Attached is the diff to > > >> your diff that worked for me. > > >> > > >> -- > > >> Coleman Kane > > > > > > Unfortunately, I still experience the same mouse-blocked behavior > > > after applying this patch, reinstalling the port, and then > > > restarting my machine (and setting the mouse device back to > > > SysMouse and /dev/sysmouse in xorg.conf, and re-enabling moused). > > > > Yeah. While the addon is doing its job, X now opens two instances > > of /dev/sysmouse :-(. I still don't know why it does this when it > > doesn't open two instances of /dev/psm0. >=20 > I found why. See config/hal.c in xorg-server. It does not add Option > "Device" although Linux-specific and undocumented Option "Path" for > evdev is added. Thus default mouse device /dev/sysmouse is picked up. > Fortunately the bug is fixed in the latest version with the following > commit: >=20 > http://cgit.freedesktop.org/xorg/xserver/commit/?id=3D47eb658e802775021e3= efec109f95431cca188ca >=20 > This chunk: >=20 > --------- > + /* most drivers use device.. not path. evdev uses both however, but t= he > + * path version isn't documented apparently. support both for now. */ > add_option(&options, "path", path); > + add_option(&options, "device", path); > --------- >=20 > See the attached patches. Ah, this explains a lot. I have also updated my hal.diff with your correction, and some code to make sure that the mouse device is correct when moused is running. Local tests indicate that it should do the job. Joe --=20 Joe Marcus Clarke FreeBSD GNOME Team :: gnome@FreeBSD.org FreeNode / #freebsd-gnome http://www.FreeBSD.org/gnome --=-NFPItTTBYNtVPIwXJBMq Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (FreeBSD) iEYEABECAAYFAkfsflkACgkQb2iPiv4Uz4e0rACfWEyp1McNNlI0M8TI1zmDV8Eo aYEAn095oSfQuxF+dvywpigLvViGSV06 =DkOs -----END PGP SIGNATURE----- --=-NFPItTTBYNtVPIwXJBMq--