protonscr

Disabled Steam Input, steam still converts Joystick to XBOX Controller

steamopen General controller / Steam Input
ValveSoftware/steam-for-linux#10376 · opened 2024-01-12 by kralle71 · updated 2024-10-11 · 6 comments · github
1 matching comments, n / p to jump
Kkralle71 2024-01-12 github

Your system information

  • Steam client version (build number/ date): 1702079146 / Fri, Dec 8 1:33 AM UTC -08:00
  • Distribution : Opensuse Tumbleweed
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes
  • Steam Logs: steam-logs.tar.gz
  • GPU: NVIDIA

Please describe your issue in as much detail as possible:

I bought a new Joystick (TurtleBeach VelocityOne Flightstick) to play MSFS.

My OS recognizes it as intended. evtest, jstest, AntiMicroX all work.

Game is running fine but Steam converts my Joystick to a XBOX Controller. That leads to problems with axis mapping to the triggers, buttons are mapped to xbox buttons, missing axes.

I tried multiple games, all games recognize a controller, but no flightstick.

I tried Steam Repo Version (OpensuseTumbleweed) and Flatpak Version.

I tried to disable/enable Steam Input for per game settings.

I tried chmod 666 to

/dev/uinput

/dev/input

I tried to chown those.

I tried SDL_JOYSTICK_DISABLE_UDEV=1

I tried to modify

/lib/udev/rules.d/60-steam-controller.rules

/etc/udev/rules.d/90-steam-controller.rules

with

# TurtleBeach VelocityOne Flightstick
KERNEL=="hidraw*", ATTRS{idVendor}=="10f5", KERNELS=="*10f5:7055*", MODE="0666", TAG+="uaccess"
KERNEL=="hidraw*", ATTRS{idVendor}=="10f5", ATTRS{idProduct}="7055", MODE="0666", TAG+="uaccess"
KERNEL=="event[0-9]*", ATTRS{idVendor}=="10f5", KERNELS=="*10f5:7055*", MODE="0666", TAG+="uaccess"
KERNEL=="event[0-9]*", ATTRS{idVendor}=="10f5", ATTRS{idProduct}="7055", MODE="0666", TAG+="uaccess"

udevadmn gives:

udevadm info -an /dev/input/event4

looking at device '/devices/pci0000:00/0000:00:01.3/0000:02:00.0/usb1/1-4/1-4:1.0/0003:10F5:7055.000B/input/input36/event4':
    KERNEL=="event4"
    SUBSYSTEM=="input"
    DRIVER==""
    ATTR{power/async}=="disabled"
    ATTR{power/control}=="auto"
    ATTR{power/runtime_active_kids}=="0"
    ATTR{power/runtime_active_time}=="0"
    ATTR{power/runtime_enabled}=="disabled"
    ATTR{power/runtime_status}=="unsupported"
    ATTR{power/runtime_suspended_time}=="0"
    ATTR{power/runtime_usage}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:01.3/0000:02:00.0/usb1/1-4/1-4:1.0/0003:10F5:7055.000B/input/input36':
    KERNELS=="input36"
    SUBSYSTEMS=="input"
    DRIVERS==""
    ATTRS{capabilities/abs}=="300ff"
    ATTRS{capabilities/ev}=="10001b"
    ATTRS{capabilities/ff}=="0"
    ATTRS{capabilities/key}=="ff 0 0 0 0 0 0 ffff00000000 0 0 0 0"
    ATTRS{capabilities/led}=="0"
    ATTRS{capabilities/msc}=="10"
    ATTRS{capabilities/rel}=="0"
    ATTRS{capabilities/snd}=="0"
    ATTRS{capabilities/sw}=="0"
    ATTRS{id/bustype}=="0003"
    ATTRS{id/product}=="7055"
    ATTRS{id/vendor}=="10f5"
    ATTRS{id/version}=="0111"
    ATTRS{inhibited}=="0"
    ATTRS{name}=="Turtle Beach VelocityOne Flightstick"
    ATTRS{phys}=="usb-0000:02:00.0-4/input0"
    ATTRS{power/async}=="disabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_active_time}=="0"
    ATTRS{power/runtime_enabled}=="disabled"
    ATTRS{power/runtime_status}=="unsupported"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{properties}=="0"
    ATTRS{uniq}=="75238026183594@A"

  looking at parent device '/devices/pci0000:00/0000:00:01.3/0000:02:00.0/usb1/1-4/1-4:1.0/0003:10F5:7055.000B':
    KERNELS=="0003:10F5:7055.000B"
    SUBSYSTEMS=="hid"
    DRIVERS=="hid-generic"
    ATTRS{country}=="00"
    ATTRS{power/async}=="enabled"
    ATTRS{power/control}=="auto"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_active_time}=="0"
    ATTRS{power/runtime_enabled}=="disabled"
    ATTRS{power/runtime_status}=="unsupported"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:01.3/0000:02:00.0/usb1/1-4/1-4:1.0':
    KERNELS=="1-4:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="usbhid"

Steam Logs:

steam-logs.tar.gz

cat .steam/steam/logs/controller.txt

[2024-01-09 10:51:25] Local Device Found
  type: 10f5 7055
  path: sdl://1
  serial_number:  - 0
[2024-01-09 10:51:25]   Manufacturer: 
[2024-01-09 10:51:25]   Product:      Turtle Beach VelocityOne Flightstick
[2024-01-09 10:51:25]   Release:      111
[2024-01-09 10:51:25]   Interface:    -1

[2024-01-09 10:51:30] Opted-in Controller Mask for AppId 0: 4
[2024-01-09 10:51:30] BYieldingMarkControllerConfigsInUse
[2024-01-09 10:51:30] Local Device Found
  type: 10f5 7055
  path: sdl://1
  serial_number:  - 0
[2024-01-09 10:51:30]   Manufacturer: 
[2024-01-09 10:51:30]   Product:      Generic X-Box pad
[2024-01-09 10:51:30]   Release:      111
[2024-01-09 10:51:30]   Interface:    -1

[2024-01-09 10:51:30] !! Steam controller device opened for index 0.
[2024-01-09 10:51:30] Steam Controller reserving XInput slot 0
[2024-01-09 10:51:30] Controller has an Invalid or missing unit serial number, setting to '10f5-7055-763380'
[2024-01-09 10:51:31] Controller PollState Changed from 0 to 1
[2024-01-09 10:51:31] BYieldingQueryAccountsRegisteredToController
[2024-01-09 10:51:31] Controller PollState Changed from 1 to 2
[2024-01-09 10:51:31] Opted-in Controller Mask for AppId 0: 4
[2024-01-09 10:51:31] Opted-in Controller Mask for AppId 413080: 4
[2024-01-09 10:51:31] ConfigSet - found config set file on-disk: /home/$USER/.local/share/Steam/steamapps/common/Steam Controller Configs/7746432/config/configset_controller_generic.vdf
[2024-01-09 10:51:31] Set Account Config Sets 0 0 0
[2024-01-09 10:51:32] No cached sticky mapping in ActivateActionSet.
[2024-01-09 10:51:32] CClientJobFetchPersonalizationFileID - AutoCloud

Any idea how to use my flightstick?

Kkralle71 2024-01-12 github

Now I tried in Windows. Steam recognizes the Flightstick. MSFS recognizes the Flightstick and everything works.

provided some screenshots
https://imgur.com/a/TSYaEDt

as you can see. Linux Steam converts both my Flightstick and my Xbox Gamepad to "Generic X-BOX Pad"

Kkralle71 2024-01-12 github

Maybe the problem is because of the vendor "Turtle Beach"?
The logs say:
[2024-01-09 10:51:25] Local Device Found type: 10f5 7055 path: sdl://1 serial_number: - 0
Controller has an Invalid or missing unit serial number, setting to '10f5-7055-763380'

Bbraye 2024-01-27 github

Confirming that I have the same issue using Flatpak Steam on NixOS 23.11 with the VelocityOne Flightstick.

Trying to run MSFS with Proton Experimental.

I tried slightly different udev rules:

KERNEL=="hidraw*", ATTRS{idVendor}=="10f5", ATTRS{idProduct}=="7055", MODE="0660", TAG+="uaccess"
KERNEL=="js*", ATTRS{idVendor}=="10f5", ATTRS{idProduct}=="7055", MODE="0660", TAG+="uaccess"

They didn't seem to change anything.

controller.txt shows the following when I plug in the controller:

[2024-01-27 01:54:02] Local Device Found
  type: 10f5 7055
  path: sdl://13
  serial_number:  - 0
[2024-01-27 01:54:02]   Manufacturer: 
[2024-01-27 01:54:02]   Product:      Generic X-Box pad
[2024-01-27 01:54:02]   Release:      111
[2024-01-27 01:54:02]   Interface:    -1

[2024-01-27 01:54:02] !! Steam controller device opened for index 0.
[2024-01-27 01:54:02] Steam Controller reserving XInput slot 0
[2024-01-27 01:54:02] Controller has an Invalid or missing unit serial number, setting to '10f5-7055-24364d6'
[2024-01-27 01:54:02] Controller PollState Changed from 0 to 1
[2024-01-27 01:54:03] BYieldingQueryAccountsRegisteredToController
[2024-01-27 01:54:03] CClientJobFetchPersonalizationFileID - AutoCloud
[2024-01-27 01:54:03] BYieldingRegisterSteamController
[2024-01-27 01:54:03] BYieldingCompleteSteamControllerRegistration
[2024-01-27 01:54:04] BYieldingCompleteSteamControllerRegistration - Error committing registration completion of controller & account pair: 10f5-7055-24364d6 Invalid Parameter

The controller does show up in the controller test window, with the correct vendor/product IDs, and the input does move the joysticks/triggers in the test window.

Probably worth mentioning that I have a Bottles installation running wine-ge-proton-8-25, and the joystick shows up as expected in the wine control panel.

Bbraye 2024-02-02 github

Tested X-Plane 12 running natively today and the flight stick works fine. Output in controller.txt is different:

[2024-02-02 05:11:48] Local Device Found
  type: 10f5 7055
  path: sdl://14
  serial_number:  - 0
[2024-02-02 05:11:48]   Manufacturer: 
[2024-02-02 05:11:48]   Product:      Generic X-Box pad
[2024-02-02 05:11:48]   Release:      111
[2024-02-02 05:11:48]   Interface:    -1

[2024-02-02 05:11:48] !! Steam controller device opened for index 0.
[2024-02-02 05:11:48] Steam Controller reserving XInput slot 0
[2024-02-02 05:11:48] Controller has an Invalid or missing unit serial number, setting to '10f5-7055-24364d6'
[2024-02-02 05:11:48] Controller PollState Changed from 0 to 1
[2024-02-02 05:11:49] BYieldingQueryAccountsRegisteredToController
[2024-02-02 05:11:49] CClientJobFetchPersonalizationFileID - AutoCloud
[2024-02-02 05:12:03] Controller 0 mapping uses xinput : false
[2024-02-02 05:12:06] Controller 0 mapping uses xinput : false
[2024-02-02 05:12:06] Controller 0 mapping uses xinput : false
[2024-02-02 05:12:06] Controller 0 mapping uses xinput : false

The last four lines appear after launching the game.

I tested the joystick in DCS: A-10C Warthog and it also shows up as "Generic X-Box Pad". Seems to point to an issue with Proton games only - native games (at least X-Plane 12) work fine.

Wwysiwyng 2024-05-29 github

I have the same issue, running on Arch Linux with Arch repo Steam installation, also Turtle Beach Velocity One Flightstick. MSFS 2020 using Proton Experimental only picks up the joystick as a generic gamepad, leading to axes and buttons not being available. This seems like an issue with wine, after resetting the wine (proton) prefix for MSFS 2020 and applying these: https://www.reddit.com/user/xatrekak/comments/12hnz0d/fixing_vkb_and_virpil_hotas_running_on_linux/ steps, the joystick is correctly recognized as such.

Ddawtmaytrikx 2024-10-11 github

I have the same issue, running on Arch Linux with Arch repo Steam installation, also Turtle Beach Velocity One Flightstick. MSFS 2020 using Proton Experimental only picks up the joystick as a generic gamepad, leading to axes and buttons not being available. This seems like an issue with wine, after resetting the wine (proton) prefix for MSFS 2020 and applying these: https://www.reddit.com/user/xatrekak/comments/12hnz0d/fixing_vkb_and_virpil_hotas_running_on_linux/ steps, the joystick is correctly recognized as such.

Worked for me! The first step kinda threw me off, so here's what I did in order to get MSFS working via Steam. Set an environment variable and use protontricks:

export PROTON_VERSION="Proton Experimental"
protontricks -c "wine regedit" 1250410

The rest of the instructions were straight forward.

Proton versions

Launch options