Re: Joystick not found on Linux/amd64
From: Joshua Wise
Date: Sun Dec 19 2004 - 22:09:39 EST
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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/