http://bugs.winehq.org/show_bug.cgi?id=30837
Bug #: 30837 Summary: Star Trek Online doesn't detect joystick/gamepad Product: Wine Version: 1.5.5 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: minor Priority: P2 Component: directx-dinput AssignedTo: wine-bugs@winehq.org ReportedBy: vitor.dominor@gmail.com Classification: Unclassified
Recently I decided to try playing Star Trek Online with one of my old but still working xbox 1 gamepads. For that purpose, I installed the xboxdrv (the userspace driver for xbox 360 and 1 gamepads) and after running xboxdrv with the command xboxdrv --silent --trigger-as-button, I started the game. The game has support for joysticks (I made sure I enabled joystick support in the in-game options). However, the game does not detect it, since it does not respond to any button presses or axis movements from the gamepad.
When running the game from the terminal, the output I get with the gamepad attached to the PC is attached to this bug report.
I have tried running the game natively on Windows 7 and XP SP3 with the gamepad attached and it is detected and runs as expected. Furthermore, by running STO with apimonitor from http://www.rohitab.com/apimonitor in Windows, I was able to determine that the game uses direct input 8, specifically the IDirectInputDevice8 and IDirectInput8 interfaces, to detect and control the system mouse and any attached joystick. It uses in particular the IDirectInput8::EnumDevices to find any available joysticks.
In order to determine if this is an issue specific to this game running on Wine, I tried using the gamepad with another game well supported by wine and which also supports joysticks: Trackmania Nations Forever. This one detects the gamepad as a joystick automatically and by adding +dinput to WINEDEBUG, I noticed the following line on the output: Code: trace:dinput:IDirectInputWImpl_EnumDevices (this=0x12f718,0x0004 'DIDEVTYPE_JOYSTICK',0x8fc5a0,0x12238a0,0001). After that, wine outputs successfull detection of the joystick: Code: trace:dinput:find_joydevs Found a joystick on /dev/input/event16: Xbox Gamepad (userspace driver) ({9e573eda-7734-11d2-8d4a-23903fb6bdf7})
Next, while running STO on wine with WINEDEBUG="+dinput": and while the game detects and initializes the system mouse through dinput, it seems to initialize the IDirectInput8 Interface, but it does not enumerate any joystick unlike Trackmania.
http://bugs.winehq.org/show_bug.cgi?id=30837
--- Comment #1 from Vítor Ferreira vitor.dominor@gmail.com 2012-06-03 19:52:02 CDT --- Created attachment 40386 --> http://bugs.winehq.org/attachment.cgi?id=40386 Star Trek Online on wine debug output: WINEDEBUG=-all,+dinput
http://bugs.winehq.org/show_bug.cgi?id=30837
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |00cpxxx@gmail.com, | |lfzawacki@yahoo.com.br
http://bugs.winehq.org/show_bug.cgi?id=30837
--- Comment #2 from Vítor Ferreira vitor.dominor@gmail.com 2012-06-09 15:15:54 CDT --- Star Trek Online is freely available through Steam and at http://www.startrekonline.com/.
http://bugs.winehq.org/show_bug.cgi?id=30837
--- Comment #3 from Vítor Ferreira vitor.dominor@gmail.com 2012-06-10 18:32:27 CDT --- With wine 1.5.6, xbox gamepad is detected and present with two listings as Xbox Gamepad (userspace driver). However it is still not detected by Star Trek Online.
http://bugs.winehq.org/show_bug.cgi?id=30837
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, hardware
http://bugs.winehq.org/show_bug.cgi?id=30837
StewVed stewved@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |stewved@gmail.com
--- Comment #4 from StewVed stewved@gmail.com --- Could we please get this confirmed? I also get no joystick events detected in-game, either with xbox gamepad or joystick.
Ubuntu 13.10 64-bit 32-bit wineprefix currently using wine version 1.5.12 (latest at time of post)
Just to note, game plays perfectly well with mouse and keyboard, but pinning down the bug and fixing it would be awesome :D
On a side-note about Trackmania, I've noticed that button presses can be doubled. The workaround for that is to disable either the js or the event of a joystick using: [PREFIX] wine control joy.cpl
This also has no effect on STO though :/
https://bugs.winehq.org/show_bug.cgi?id=30837
Berillions berillions@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |berillions@gmail.com
--- Comment #5 from Berillions berillions@gmail.com --- I have the same problem with Splinter Cell Blacklist. I use xboxdrv driver and configure it before to launch the game. Wine Control recognize my gamepad correctly but not the game.
In game, the pad is recognize too but the buttons, sticks don't work.
https://bugs.winehq.org/show_bug.cgi?id=30837
--- Comment #6 from Bruno Jesus 00cpxxx@gmail.com --- I tried installing Star Trek Online today, it uses some launcher software like Origin/Steam called Arc but it is crashing during start, so I can't test this. Is this still an issue in wine 1.9.16 or later?