Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 130261 - wine ebuild needs /dev/js? symlinks in order to make joysticks and gamepads work
Summary: wine ebuild needs /dev/js? symlinks in order to make joysticks and gamepads work
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Wine Maintainers
URL:
Whiteboard:
Keywords:
: 130262 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-04-17 07:41 UTC by Niels van Aert
Modified: 2006-04-19 23:43 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
wine-joy.patch (wine-joy.patch,3.66 KB, patch)
2006-04-17 09:38 UTC, SpanKY
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Niels van Aert 2006-04-17 07:41:34 UTC
Dear sir/miss,

I found a problem regarding wine. Linux detects my gamepad fine, but wine doesn't find my gamepad. This problem lies in the fact that wine checks /dev/js0 while the device is located in /dev/input/js0. To solve it I would suggest to let the ebuild make a symlink from /dev/input/js0 to /dev/js0 This problem occurs with all wine versions of wine as far as I am aware.
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-04-17 07:54:38 UTC
*** Bug 130262 has been marked as a duplicate of this bug. ***
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2006-04-17 08:01:51 UTC
You need a custom udev rule to make such symlink, not exactly what wine ebuild should be doing, IMHO... Better ask upstream to fix wine to search for js? devices in /dev/input.
Comment 3 SpanKY gentoo-dev 2006-04-17 08:39:30 UTC
wine should check both /dev/input/js and /dev/js
Comment 4 SpanKY gentoo-dev 2006-04-17 09:38:08 UTC
Created attachment 84840 [details, diff]
wine-joy.patch

try this patch please
Comment 5 Mike McCormack 2006-04-19 06:45:37 UTC
You could easily maintain compatibility with Wine and any other application using joysticks simply by adding some symlinks in /dev.

That's what my system has, and it's using udev.

/me says its a Gentoo bug.
Comment 6 Mike McCormack 2006-04-19 06:48:28 UTC
btw. The solution is not to modify your Wine ebuild, it is to fix the system (udev configuration or population of /dev) to create a link /dev/js0 -> input/js0.  This is standard on other systems, and it's why joysticks work with Wine on other systems.

bash-3.00$ ls -l /dev/js0
lrwxrwxrwx  1 root root 9 2005-11-23 06:15 /dev/js0 -> input/js0
Comment 7 Niels van Aert 2006-04-19 07:11:55 UTC
Heh, that could be a solutions aswell, anyways I don't mind because creating a symlink solves the problem, but for users not aware of this, it might be a good idea to either patch wine or add a default udev rule.
Comment 8 SpanKY gentoo-dev 2006-04-19 07:14:03 UTC
before you pointlessly blame Gentoo, why dont you read the udev source

the default rule files for pretty much all distros generate only /dev/input/js#
Comment 9 Niels van Aert 2006-04-19 07:18:55 UTC
Ehh...guys, it doesn't matter how this bug gets fixed, as long as it gets fixed. Well...that is at leas, my humble opinion.
Comment 10 Mike McCormack 2006-04-19 08:06:16 UTC
> before you pointlessly blame Gentoo, why dont you read the udev source

The point is:

1) /dev/js* used to exist.  Applications used it (eg. Wine).  Maintain it for backward compatibility.

2) Other distributions do maintain compatibility.  It's just a matter of adding a symlink in one place.  Why change many apps when you can make a single change to fix them all?

3) You'll never achieve compatability with older source or binary packages without a symlink.

If your patch is accepted into Wine, Gentoo will still be broken for the above reasons.
Comment 11 SpanKY gentoo-dev 2006-04-19 08:12:36 UTC
sure, binary-only apps will remain broken and users will have to use the compat rules in those cases, there's no way around it ... but that's no reason to force the same old behavior forever

source packages we can fix easily
Comment 12 Niels van Aert 2006-04-19 08:14:54 UTC
Well Spanky, IMHO Mike put good point there, and I agree with him, older/other apps might also use /dev/js0 instead of /dev/input/js0 so I think adding a symlink would be the best solution indeed.
Comment 13 Mike McCormack 2006-04-19 08:36:10 UTC
> binary-only apps will remain broken and users will have to use the compat
> rules in those cases, there's no way around it

Yes, there is a way around it...  add a symlink.   Why not?
Comment 14 SpanKY gentoo-dev 2006-04-19 10:19:38 UTC
you misread my statement .. i said there's no way around needing compat symlinks for binary-only packages

Linux distros could go back to the old /dev style of having thousands of device nodes right in the root of /dev but where's the fun in that
Comment 15 Niels van Aert 2006-04-19 11:26:07 UTC
I think this can be considered solved, as the patch was added to wines CVS.
More info: http://www.winehq.org/pipermail/wine-cvs/2006-April/thread.html
Comment 16 Mike McCormack 2006-04-19 16:59:47 UTC
Well, like I said, it's only "fixed" for Wine.  Have fun fixing again and again.
Comment 17 SpanKY gentoo-dev 2006-04-19 17:19:57 UTC
well that's what we enjoy doing, it keeps us busy
Comment 18 Mike McCormack 2006-04-19 22:23:32 UTC
> well that's what we enjoy doing, it keeps us busy

Well, I hope you're learning something by wasting your time, my time and your users time, because I'm certainly not.
Comment 19 SpanKY gentoo-dev 2006-04-19 23:43:19 UTC
then, as noted on the mailing list, why dont we both stop wasting each others time by posting pointless followups such as this one i'm posting right now