Hi folks,
While trying to get one of my games to run, I realized that wine is still missing USB support (see bug 1393). Following the discussion in the archive, it seems like noone is working on this right now. Am I correct in that assumption?
There were some suggestions to discuss this on WineConf2005. Was it?
Damjan, if you're still interested, I'd be willing to help.
Cheers, Kai
On Tue, Oct 04, 2005 at 12:22:08PM +0200, Kai Blin wrote:
Hi folks,
While trying to get one of my games to run, I realized that wine is still missing USB support (see bug 1393). Following the discussion in the archive, it seems like noone is working on this right now. Am I correct in that assumption?
What USB support does your game need?
The bug is WONTFIX. It needs a Linux driver and we should interface Wine to it (in the scanner case via TWAIN and SANE).
Ciao, Marcus
* Marcus Meissner meissner@suse.de [04/10/05, 13:16:37]:
On Tue, Oct 04, 2005 at 12:22:08PM +0200, Kai Blin wrote:
Hi folks,
While trying to get one of my games to run, I realized that wine is still missing USB support (see bug 1393). Following the discussion in the archive, it seems like noone is working on this right now. Am I correct in that assumption?
What USB support does your game need?
Joystick support. It's a Logitech ADI joystick.
The bug is WONTFIX. It needs a Linux driver and we should interface Wine to it (in the scanner case via TWAIN and SANE).
So this should be handled on case by case basis then?
Cheers, Kai
On Tue, Oct 04, 2005 at 02:06:20PM +0200, Kai Blin wrote:
- Marcus Meissner meissner@suse.de [04/10/05, 13:16:37]:
On Tue, Oct 04, 2005 at 12:22:08PM +0200, Kai Blin wrote:
Hi folks,
While trying to get one of my games to run, I realized that wine is still missing USB support (see bug 1393). Following the discussion in the archive, it seems like noone is working on this right now. Am I correct in that assumption?
What USB support does your game need?
Joystick support. It's a Logitech ADI joystick.
This should be done via the input device layer of Linux and then dinput already?
Or does it have a special windows driver?
The bug is WONTFIX. It needs a Linux driver and we should interface Wine to it (in the scanner case via TWAIN and SANE).
So this should be handled on case by case basis then?
Yes.
Ciao, Marcus
* Marcus Meissner meissner@suse.de [04/10/05, 14:28:58]:
On Tue, Oct 04, 2005 at 02:06:20PM +0200, Kai Blin wrote:
- Marcus Meissner meissner@suse.de [04/10/05, 13:16:37]:
On Tue, Oct 04, 2005 at 12:22:08PM +0200, Kai Blin wrote:
Hi folks,
While trying to get one of my games to run, I realized that wine is still missing USB support (see bug 1393). Following the discussion in the archive, it seems like noone is working on this right now. Am I correct in that assumption?
What USB support does your game need?
Joystick support. It's a Logitech ADI joystick.
This should be done via the input device layer of Linux and then dinput already?
I don't know. In linux, the joystick works just fine. Still X-Wing Alliance claims not to find the joystick. I'll retry with WINEDEBUG=+dinput when I get home tonight.
Or does it have a special windows driver?
Not that I'm aware of. As I said, I can calibrate and test the joystick just fine.
Cheers, Kai
On Tue, Oct 04, 2005 at 03:58:03PM +0200, Kai Blin wrote:
Joystick support. It's a Logitech ADI joystick.
This should be done via the input device layer of Linux and then dinput already?
I don't know. In linux, the joystick works just fine. Still X-Wing Alliance claims not to find the joystick. I'll retry with WINEDEBUG=+dinput when I get home tonight.
do you use it via the input or the js interface? i found it a smart thing to _not_ load the joydev-module, as wine will detect the same device twice (/dev/input/event0 and /dev/js0) if there is something like the devd at play. and there are differences between the joystick_linux.c and the joystick_linuxevent.c that will change behaviour of some apps (i will later send a patch that fixes a problem like this for the game Live For Speed - it only detected my wheel by the JS-interface, where the linux kernel driver puts a deadzone in it :/)
maybe you can make the stick to work either by not loading evdev or joydev and see whats happening?
* Christoph Frick frick@sc-networks.de [04/10/05, 16:15:53]:
do you use it via the input or the js interface? i found it a smart thing to _not_ load the joydev-module, as wine will detect the same device twice (/dev/input/event0 and /dev/js0) if there is something like the devd at play. and there are differences between the joystick_linux.c and the joystick_linuxevent.c that will change behaviour of some apps (i will later send a patch that fixes a problem like this for the game Live For Speed - it only detected my wheel by the JS-interface, where the linux kernel driver puts a deadzone in it :/)
Hm, I'm loading the joydev module as the joystick isn't recognized otherwise. joydev seems to use the input system, though, at least udev creates the device link in /dev/input/js0.
maybe you can make the stick to work either by not loading evdev or joydev and see whats happening?
That'll be tricky, as the joystick seems to need joydev, and my touchpad needs the evdev interface.
Cheers, Kai
On Tue, Oct 04, 2005 at 04:42:50PM +0200, Kai Blin wrote:
maybe you can make the stick to work either by not loading evdev or joydev and see whats happening?
That'll be tricky, as the joystick seems to need joydev, and my touchpad needs the evdev interface.
if there is a /dev/input/event[0-9] for the joystick, then WINE will detect it and will use it as joystick.
on the other hand, you can also wait for my patch; i have the wheel no working with three different games and i will try to make it also run with IL-2 Sturmovik (which btw since a few "releases" works with WINE - WOOHOO).
* Christoph Frick frick@sc-networks.de [04/10/05, 17:14:32]:
if there is a /dev/input/event[0-9] for the joystick, then WINE will detect it and will use it as joystick.
As I said, there's no /dev/input/eventX for my joystick. Loading the joydev module will create a /dev/input/js0 device. Creating a link from /dev/js0 to /dev/input/js0 will make the joystick work (or at least detected. Missions won't work, so I can't really test it.)
Cheers, Kai
On Thu, Oct 06, 2005 at 06:29:00PM +0200, Kai Blin wrote:
- Christoph Frick frick@sc-networks.de [04/10/05, 17:14:32]:
if there is a /dev/input/event[0-9] for the joystick, then WINE will detect it and will use it as joystick.
As I said, there's no /dev/input/eventX for my joystick. Loading the joydev module will create a /dev/input/js0 device. Creating a link from /dev/js0 to /dev/input/js0 will make the joystick work (or at least detected. Missions won't work, so I can't really test it.)
modprobe evdev
And check again.
evdev is more transparent than the joystick interface.
Ciao, Marcus
* Marcus Meissner marcus@jet.franken.de [06/10/05, 18:41:07]:
modprobe evdev
And check again.
evdev is more transparent than the joystick interface.
As I said, evdev is already loaded, or my synaptics touchpad wouldn't work. Still, I have /dev/input/event[0-2] and jstest just segfaults on those.
Cheers, Kai
On Thu, Oct 06, 2005 at 07:30:24PM +0200, Kai Blin wrote:
- Marcus Meissner marcus@jet.franken.de [06/10/05, 18:41:07]:
modprobe evdev
And check again.
evdev is more transparent than the joystick interface.
As I said, evdev is already loaded, or my synaptics touchpad wouldn't work. Still, I have /dev/input/event[0-2] and jstest just segfaults on those.
jstest uses the joystick interface but not the event dev interface...
WINE can use both.
Ciao, Marcus
* Marcus Meissner marcus@jet.franken.de [06/10/05, 19:47:29]:
jstest uses the joystick interface but not the event dev interface...
WINE can use both.
All I can say is that it doesn't seem to work with evdev loaded and joydev not loaded.
Cheers, Kai
On Tue, 4 Oct 2005, Kai Blin wrote: [...]
What USB support does your game need?
Joystick support. It's a Logitech ADI joystick.
The bug is WONTFIX. It needs a Linux driver and we should interface Wine to it (in the scanner case via TWAIN and SANE).
So this should be handled on case by case basis then?
Wine has (at least some) linuxinput support. There was even work to add force feedback support this summer. So the way to go is to make the joystick work with the Linux kernel's linuxinput subsystem and then Wine should be able to just use it.
That's the standard pattern: a kernel driver interfaces with the hardware (e.g. a specific joystick make/model), the kernel provides a standard interface for interacting with a class of hardware (input devices, e.g. joysticks), and applications (e.g. Wine) use that interface to access any device in that class, without having to worry about their make or model.
This is a much superior approach to the old 'each application must provide its own driver for each device' that was required in the old DOS times.