JacKeTUs / vrs-ff

GNU General Public License v2.0
3 stars 1 forks source link

Wheel isn't getting picked up / driver selecting proper driver #4

Open ccalhoun1999 opened 1 month ago

ccalhoun1999 commented 1 month ago

I got the driver built and loaded on nixos, however when I plug the wheel in, it doesn't seem to be selecting the driver. Launching a game and trying to bind steering doesn't work.

modinfo hid-vrs-ff:

filename:       /run/booted-system/kernel-modules/lib/modules/6.9.6/updates/hid-vrs-ff.ko.xz
license:        GPL
description:    VRS HID FF Driver
author:         Oleg Makarenko <oleg@makarenk.ooo>
alias:          hid:b0003g*v00000483p0000A355
depends:        hid
retpoline:      Y
name:           hid_vrs_ff
vermagic:       6.9.6 SMP preempt mod_unload 
JacKeTUs commented 1 month ago

Hello! What game are you trying to make wheelbase work with? May be it's the issue with the game and/or Proton compatibility layer Can you send dmesg kernel logs, when you connect the wheel to the PC, please? What firmware version are you on right now? Is the wheelbase working in ETS/ATS? (there is free demo available) Can you try launch https://github.com/berarma/ffbtools with some random parameters? Like from example, tests/constant.ffb from that repo?

JacKeTUs commented 1 month ago

Also, we are in the process of merging multiple similar drivers into 'universal' one. If you can, please, test if https://github.com/JacKeTUs/universal-pidff/pull/9 works for you (i.e. wheelbase detects / ffb works)

ccalhoun1999 commented 1 month ago

The game I tested in was automoballista 2. I just tried assetto corsa content manager and euro truck simulator 2 and had the same issue.

Firmware is latest last I checked (4 days ago or so) but I don't recall the exact number. I booted into windows to run the tool and no upgrade was available.

Additionally, dmesg is as follows so it looks like it is loading the driver? I don't know much about dmesg output.

[233009.757304] usb 1-3: new full-speed USB device number 5 using xhci_hcd
[233009.921796] usb 1-3: New USB device found, idVendor=0483, idProduct=a355, bcdDevice= 1.00
[233009.921805] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[233009.921809] usb 1-3: Product: VRS DirectForce Pro Wheel Base
[233009.921813] usb 1-3: Manufacturer: Smarty Co.
[233009.921816] usb 1-3: SerialNumber: 000745094
[233009.951354] input: Smarty Co. VRS DirectForce Pro Wheel Base as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.1/usb1/1-3/1-3:1.0/0003:0483:A355.000B/input/input26
[233009.951639] vrs-ff 0003:0483:A355.000B: input,hiddev98,hidraw3: USB HID v1.11 Joystick [Smarty Co. VRS DirectForce Pro Wheel Base] on usb-0000:07:00.1-3/input0
[233009.951650] vrs-ff 0003:0483:A355.000B: implement() called with too large value 4 (n: 1)! (kworker/0:0)
[233009.952831] vrs-ff 0003:0483:A355.000B: implement() called with too large value 4 (n: 1)! (kworker/0:0)
[233009.963802] vrs-ff 0003:0483:A355.000B: device has unknown autocenter control method
[233009.963811] input input26: Force feedback for VRS DFP wheelbase

With regards to ffbtools, Ill try and get working on packaging that for nix so I can test it.

Finally, when I have more time I'll give the universal driver a shot, it would be awesome if that project can take off!

JacKeTUs commented 1 month ago

So driver works, it picks up the wheelbase and initializes FFB

Did you disable Steam Input for these games? Can you try to modify game launch command as: SDL_JOYSTICK_WHEEL_DEVICES=0x0483/0xa355 %command%? May be NixOS have old SDL without VRS in the whitelist...

Can you try launch VRS application through modified Wine prefix as written in README?

ccalhoun1999 commented 1 month ago

something I'm noticing now, but in lshw I have the following:

                       *-usb:1
                            description: Human interface device
                            product: Smarty Co. VRS DirectForce Pro Wheel Base
                            vendor: Smarty Co.
                            physical id: 3
                            bus info: usb@1:3
                            logical name: input12
                            logical name: /dev/input/event9
                            logical name: /dev/input/js0
                            version: 1.00
                            serial: 000745094
                            capabilities: usb-2.00 usb
                            configuration: driver=usbhid maxpower=100mA speed=12Mbit/s

is that normal? I'd expect it to list driver=hid-vrs-ff or something?

JacKeTUs commented 1 month ago

yup, it is normal your kernel logs clearly says that FFB is initialized, so don't worry about the driver

ccalhoun1999 commented 1 month ago

Sorry it took so long to respond.

Sadly disabling steam input and using the following command to launch games didn't work for me. SDL_JOYSTICK_WHEEL_DEVICES=0x0483/0xa355 %command%

~I'll try to work through using the wine prefix but wine confuses the hell out of me and it might take a while.~ running WINEPREFIX=$HOME/vrs-wine wine vrs.exe is leading to the following for me and the config tool doesn't launch.

007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
Application could not be started, or no application associated with the specified file.
ShellExecuteEx failed: Bad EXE format for Z:\home\ccalhoun\Downloads\vrs.exe.```

Thanks for the help!

Also, I was able to get it to actually register input in jstest-gtk which I don't think it was doing before so maybe setting up a udev rule helped, not too sure. Either way, still working on getting it recognized in game.

JacKeTUs commented 1 month ago

Can you, please, test the force feedback with https://github.com/berarma/ffbtools ?

Something like ./build/ffbplay -d /dev/input/by-id/YOUR_DEVICE_EVENT_FILE -t tests/sine.ffb

ccalhoun1999 commented 1 month ago

Yah, I'm still working on getting ffbtools built on nix.

ccalhoun1999 commented 3 weeks ago

Using ffbplay in interactive isn't providing any feedback. I tried autocenter and effect 1.