Date: Thu, 04 Aug 2011 08:45:42 -0500 From: Nathan Whitehorn <nwhitehorn@freebsd.org> To: Super Bisquit <superbisquit@gmail.com> Cc: ppc@openbsd.org, Matthieu Herrb <matthieu.herrb@laas.fr>, FreeBSD PowerPC ML <freebsd-ppc@freebsd.org> Subject: Re: Question about mouse grabbing and X on Apple hardware. Message-ID: <4E3AA286.1050300@freebsd.org> In-Reply-To: <CA%2BWntOuQpFh8y2jPnzwPy3NAPrrTDvuraYS1q-mj5EFTiF=Dfg@mail.gmail.com> References: <CA%2BWntOu8iusjGH_TmPgpS%2BeL9s6A=ncE39tc94gkXP-o8GQd9Q@mail.gmail.com> <20110803054930.GA9201@bluenote.herrb.net> <CA%2BWntOu33qWnVK8WtQCXfM_fpUd5nrp5wOu3MONkik=9L7HNjA@mail.gmail.com> <20110803081338.GB4477@blues.laas.fr> <CA%2BWntOuQpFh8y2jPnzwPy3NAPrrTDvuraYS1q-mj5EFTiF=Dfg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 08/03/11 10:12, Super Bisquit wrote: > > > On Wed, Aug 3, 2011 at 4:13 AM, Matthieu Herrb <matthieu.herrb@laas.fr > <mailto:matthieu.herrb@laas.fr>> wrote: > > On Wed, Aug 03, 2011 at 03:18:22AM -0400, Super Bisquit wrote: > > On Wed, Aug 3, 2011 at 1:49 AM, Matthieu Herrb > <matthieu.herrb@laas.fr <mailto:matthieu.herrb@laas.fr>>wrote: > > > > > On Tue, Aug 02, 2011 at 07:00:12PM -0400, Super Bisquit wrote: > > > > My apologies before hand. > > > > I'm wondering how the OpenBSD PPC port dealt with the mouse > > > > grabbing. > > > > > > Sorry, I don't understand the question. What kind of grabbing > are you > > > talking about? At the X server level, there is nothing MI in this > > > area. > > > > > > > The mouse pointer will get caught on the left edge of the screen > and then > > only a restart of X allows the pointer to be free again. > > And thanks for the reply. > > On OpenBSD/macppc, I don't remember having seen that problem, but I > may be wrong, and I don't use it on a daily basis anymore. We had it > on other architectures though. > > The main reason for this bug is the SIGIO handler in the > Xserver. By default X processes all the data from the mouse driver in > the signal handler attached to SIGIO. With the new pointer > acceleration code this includes a good amount of floating point > computations, and may even trigger some MMX/SSE2 operations in > libpixman to repaint the pointer on the screen. > > If your signal handling code doesn't preserve the FPU (and the > altivec) registers, this is likely to trigger the bug. > > The easiest solution is to disable the code that uses SIGIO to > asynchronously update the pointer. pass --disable-use-sigio-by-default > to configure for this, or set the option in xorg.conf. > > > > > > > > > > > > I would like- if possible and with permission- to use the > same method > > > with > > > > FreeBSD PowerPC to solve/prevent the grabbing. > > > > Again, my apologies beforehand if this post to the mailing > list seems or > > > is > > > > out of place. > > > -- > Matthieu Herrb > > > Thank you for the help and tell DeRaadt thanks also. I'm forwarding > this mail to the FreeBSD PowerPC list for the others to see it. > That's a really fascinating problem. Our signal handling code explicitly preserves FP and Altivec registers. Our setjmp()/longjmp() code does not, for various reasons, but that shouldn't be related to this problem. Are you sure this actually solves the problem permanently? -Nathan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E3AA286.1050300>