Using USB devices with CrossOver

Devices that connect to your computer via USB are a diverse group of gadgets. Some USB devices are accessed directly by the Windows application you’re running, while others use the HID protocol, serial protocol or other protocol. Direct hardware access can also be handled in a wide variety of ways. Because of this, we often can’t predict whether a specific USB device will be recognized and work with an application running through CrossOver and our support team is unable to troubleshoot USB devices.

There are a few devices that we know should work with Windows applications running through CrossOver. Many gamepads and joysticks work well. We regularly test Xbox and PlayStation controllers, and we get reports that many other controllers work well (although we do not officially support them). Additionally, we expect USB keyboards and mouses to work with CrossOver, provided they work well on the host desktop. But beyond these limited categories, we just can’t say if a given device will work in CrossOver.

For devices that use the serial protocol, a potential workaround is to manually map a device entry from the native OS to a symlink in the bottle containing your Windows application. If the workaround is successful (and it won’t be for all devices), the Windows app sees the COM port and uses it to connect to the device.

The first thing you need to do is discover which /dev entry is being created when you connect the USB device to the computer. Disconnect the device from your computer and run the following commands in a Terminal:
cd /dev
ls > ~/disconnect.txt

Connect the device, wait a moment for your computer to recognize it, and run the command:
ls > ~/reconnect.txt

Now compare the difference between the two file listings to see what /dev entry was created.
diff ~/disconnect.txt ~/reconnect.txt

If there is a new device entry listed use that name as (device-entry) in the following steps.
An example of what the device-entry name will look like:
tty.usbserial-DN014TJU

  1. Open CrossOver, select the desired bottle and click Run Command.
  2. Enter regedit in the Command field, then click Run.
  3. Inside the Registry Editor, navigate to HKEY_LOCAL_MACHINE > Software > Wine.
  4. From here, create a new key called Ports.
  5. Right-click inside the new Ports folder and add a string with a value of /dev/(device-entry) .
  6. Rename the new entry 'Com1' (see example below).
  7. Close the Registry Editor, and open your software.

With any luck, your software should now see your USB device!

Next Step: Grant CrossOver file system access

Last modified on 2023-09-28 16:17:50 UTC by Andrew Balfour