[Bug 2097480] Re: vrc-3nt joystick dongle is not working in ubuntu 24.10 wine, works fine natively in ubuntu

Jaroslav Škarvada 2097480 at bugs.launchpad.net
Tue Mar 18 19:24:37 UTC 2025


> @yardas, would you be willing to try just adding the new hwdb rules to
e.g. /etc/udev/hwdb.d/60-joystick.rules? Then run systemd-hwdb update,
and see if it's fixed?

That's the way how I created the systemd pull requests. Unfortunately, I do not have the vrc-3nt dongle any more, but I can still test with the Phoenix dongle. The following is the /etc/udev/hwdb.d/61-input-id-local.rules (the name doesn't matter) I provided to my friend and he is using for few weeks with the vrc-3nt and Phoenix dongles:
https://jskarvad.fedorapeople.org/vrc/61-input-id-local.hwdb

Although unrelated to this bug, the systemd PRs also fixed the problem
on my steamdeck :) The fixes were accepted and merged by the systemd
upstream, and it will get to the next Ubuntu and other distros, so the
backport to 24.10 is now low prio, nice to have.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd-hwe in Ubuntu.
Matching subscriptions: systemd-hwe
https://bugs.launchpad.net/bugs/2097480

Title:
  vrc-3nt joystick dongle is not working in ubuntu 24.10 wine, works
  fine natively in ubuntu

Status in systemd-hwe package in Ubuntu:
  Incomplete
Status in systemd-hwe source package in Oracular:
  Incomplete

Bug description:
  It's vrc-3nt joystick usb dongle
  (https://www.vrcworld.com/support/faq2.aspx?question=7360). It works
  fine in ubuntu 24.10, /dev/input/js0 device is created, and the
  joystick can be correctly calibrated with e.g. jscal, but the joystick
  is not seen in the wine. I tried both stock ubuntu wine 9 and upstream
  wine 10 from the winehq repository, the result is still the same, no
  joystick in the 'wine control' or wine games. I also tried:

  - symlinking /dev/js0 to /dev/input/js0
  - winetricks xinput
  - winetrick dinput

  Nothing helped. In Fedora 41, the dongle works fine in wine (fedora 41
  has wine-10).

  # lsusb -v
  Bus 001 Device 005: ID 07c0:1125 Code Mercenaries Hard- und Software GmbH Virtual RC USB
  Device Descriptor:
    bLength                18
    bDescriptorType         1
    bcdUSB               1.10
    bDeviceClass            0 [unknown]
    bDeviceSubClass         0 [unknown]
    bDeviceProtocol         0
    bMaxPacketSize0         8
    idVendor           0x07c0 Code Mercenaries Hard- und Software GmbH
    idProduct          0x1125 Virtual RC USB
    bcdDevice           10.22
    iManufacturer           1 Virtual Racing Industries bv
    iProduct                2 Virtual RC USB
    iSerial                 0
    bNumConfigurations      1
    Configuration Descriptor:
      bLength                 9
      bDescriptorType         2
      wTotalLength       0x003b
      bNumInterfaces          2
      bConfigurationValue     1
      iConfiguration          4 HID Joystick
      bmAttributes         0xa0
        (Bus Powered)
        Remote Wakeup
      MaxPower              100mA
      Interface Descriptor:
        bLength                 9
        bDescriptorType         4
        bInterfaceNumber        0
        bAlternateSetting       0
        bNumEndpoints           1
        bInterfaceClass         3 Human Interface Device
        bInterfaceSubClass      0 [unknown]
        bInterfaceProtocol      0
        iInterface              5 Virtual RC USB
          HID Device Descriptor:
            bLength                 9
            bDescriptorType        33
            bcdHID               1.10
            bCountryCode            0 Not supported
            bNumDescriptors         1
            bDescriptorType        34 Report
            wDescriptorLength      56
            Report Descriptors:
              ** UNAVAILABLE **
        Endpoint Descriptor:
          bLength                 7
          bDescriptorType         5
          bEndpointAddress     0x81  EP 1 IN
          bmAttributes            3
            Transfer Type            Interrupt
            Synch Type               None
            Usage Type               Data
          wMaxPacketSize     0x0007  1x 7 bytes
          bInterval              10
      Interface Descriptor:
        bLength                 9
        bDescriptorType         4
        bInterfaceNumber        1
        bAlternateSetting       0
        bNumEndpoints           1
        bInterfaceClass         3 Human Interface Device
        bInterfaceSubClass      0 [unknown]
        bInterfaceProtocol      0
        iInterface              6 EP2 Int Pipe
          HID Device Descriptor:
            bLength                 9
            bDescriptorType        33
            bcdHID               1.10
            bCountryCode            0 Not supported
            bNumDescriptors         1
            bDescriptorType        34 Report
            wDescriptorLength      23
            Report Descriptors:
              ** UNAVAILABLE **
        Endpoint Descriptor:
          bLength                 7
          bDescriptorType         5
          bEndpointAddress     0x82  EP 2 IN
          bmAttributes            3
            Transfer Type            Interrupt
            Synch Type               None
            Usage Type               Data
          wMaxPacketSize     0x0008  1x 8 bytes
          bInterval              10
  Device Status:     0x0002
    (Bus Powered)
    Remote Wakeup Enabled

  # dmesg
  ...
  [  303.686764] usb 1-3: new low-speed USB device number 5 using xhci_hcd
  [  303.996514] usb 1-3: New USB device found, idVendor=07c0, idProduct=1125, bcdDevice=10.22
  [  303.996523] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
  [  303.996526] usb 1-3: Product: Virtual RC USB
  [  303.996529] usb 1-3: Manufacturer: Virtual Racing Industries bv
  [  304.033177] input: Virtual Racing Industries bv Virtual RC USB as /devices/pci0000:00/0000:00:02.1/0000:01:00.0/usb1/1-3/1-3:1.0/0003:07C0:1125.0005/input/input15
  [  304.033306] hid-generic 0003:07C0:1125.0005: input,hidraw4: USB HID v1.10 Joystick [Virtual Racing Industries bv Virtual RC USB] on usb-0000:01:00.0-3/input0
  [  304.047214] input: Virtual Racing Industries bv Virtual RC USB as /devices/pci0000:00/0000:00:02.1/0000:01:00.0/usb1/1-3/1-3:1.1/0003:07C0:1125.0006/input/input16
  [  304.047320] hid-generic 0003:07C0:1125.0006: input,hidraw5: USB HID v1.10 Device [Virtual Racing Industries bv Virtual RC USB] on usb-0000:01:00.0-3/input1
  [  304.083675] vrc2 0003:07C0:1125.0005: fixing up VRC-2 report descriptor
  [  304.083797] input: Virtual Racing Industries bv Virtual RC USB as /devices/pci0000:00/0000:00:02.1/0000:01:00.0/usb1/1-3/1-3:1.0/0003:07C0:1125.0005/input/input17
  [  304.083930] vrc2 0003:07C0:1125.0005: input,hidraw4: USB HID v1.10 Joystick [Virtual Racing Industries bv Virtual RC USB] on usb-0000:01:00.0-3/input0

  # udevadm info /dev/input/js0
  P: /devices/pci0000:00/0000:00:02.1/0000:01:00.0/usb1/1-3/1-3:1.0/0003:07C0:1125.0005/input/input17/js0
  M: js0
  R: 0
  U: input
  D: c 13:0
  N: input/js0
  L: 0
  E: DEVPATH=/devices/pci0000:00/0000:00:02.1/0000:01:00.0/usb1/1-3/1-3:1.0/0003:07C0:1125.0005/input/input17/js0
  E: DEVNAME=/dev/input/js0
  E: MAJOR=13
  E: MINOR=0
  E: SUBSYSTEM=input
  E: USEC_INITIALIZED=304084443
  E: ID_INPUT=1
  E: ID_BUS=usb
  E: ID_MODEL=Virtual_RC_USB
  E: ID_MODEL_ENC=Virtual\x20RC\x20USB
  E: ID_MODEL_ID=1125
  E: ID_SERIAL=Virtual_Racing_Industries_bv_Virtual_RC_USB
  E: ID_VENDOR=Virtual_Racing_Industries_bv
  E: ID_VENDOR_ENC=Virtual\x20Racing\x20Industries\x20bv
  E: ID_VENDOR_ID=07c0
  E: ID_REVISION=1022
  E: ID_TYPE=hid
  E: ID_USB_MODEL=Virtual_RC_USB
  E: ID_USB_MODEL_ENC=Virtual\x20RC\x20USB
  E: ID_USB_MODEL_ID=1125
  E: ID_USB_SERIAL=Virtual_Racing_Industries_bv_Virtual_RC_USB
  E: ID_USB_VENDOR=Virtual_Racing_Industries_bv
  E: ID_USB_VENDOR_ENC=Virtual\x20Racing\x20Industries\x20bv
  E: ID_USB_VENDOR_ID=07c0
  E: ID_USB_REVISION=1022
  E: ID_USB_TYPE=hid
  E: ID_USB_INTERFACES=:030000:
  E: ID_USB_INTERFACE_NUM=00
  E: ID_USB_DRIVER=usbhid
  E: ID_PATH_WITH_USB_REVISION=pci-0000:01:00.0-usbv2-0:3:1.0
  E: ID_PATH=pci-0000:01:00.0-usb-0:3:1.0
  E: ID_PATH_TAG=pci-0000_01_00_0-usb-0_3_1_0
  E: TAGS=:snap_firefox_geckodriver:snap_firefox_firefox:
  E: CURRENT_TAGS=:snap_firefox_geckodriver:snap_firefox_firefox:

  I guess the main problem can be this dmesg line (it doesn't show up in Fedora):
  [  304.083675] vrc2 0003:07C0:1125.0005: fixing up VRC-2 report descriptor

  The fedora also has ID_INPUT_JOYSTICK=1 in the udev and it also has
  joystick symlinks created in /dev/input/by-path and /dev/input/by-id,
  they aren't created on ubuntu.

  I also tried:
  - adding very early custom udev rule adding to this device the ID_INPUT_JOYSTICK=1
  - custom hwdb udev record describing 07C0:1125 as a joystick
  - complete replace of the ubuntu udev rules and hwdb with the fedora ones

  Nothing helped, so I think the difference is in the kernel.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd-hwe/+bug/2097480/+subscriptions




More information about the foundations-bugs mailing list