Messages in this thread | | | Date | Sun, 19 Dec 2004 22:07:59 -0500 | From | Joshua Wise <> | Subject | Re: Joystick not found on Linux/amd64 |
| |
Bernhard Ager wrote: > Hello, > > I just tried out version 8.03 of X-Plane for Linux. Works really smoothly > for me, except that the joystick is not found :-( The joystick > itself should be working, as e.g. jstest tells me: > > Joystick (Analog 4-axis 4-button joystick) has 4 axes and 4 buttons. Driver version is 2.1.0. > > The issue might be, that I am using Linux on the amd64 architecture and > letting run X-Plane in the 32bit "emulation", though I can't really see > why. I've had a report of this problem in the past. I have a vague understanding of why it happens, but I'm not sure how to fix it.
As far as I can tell, the problem is that my code uses the joystick ioctls to get the version, passing it a 32-bit address to return the version into. This doesn't work out so hot in the 64-bit kernel, which decides that my 32-bit address is full of crap, and gives me an errno of -EFAULT, which means that I passed it a bad address. My code handles this by not detecting the joystick at all, thinking that the version is too old, since the kernel didn't change it.
So, basically, I think I know why it happens, but I'm not certain whether its my code at fault or the kernel's. This is a good question. I'm going to cc: this to LKML, in the hope that somebody there can provide some insight.
I am not subscribed to LKML - anyone on there who is responding, please cc: me in your responses.
joshua - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |