{"id":48600462,"url":"https://github.com/JacKeTUs/linux-steering-wheels","last_synced_at":"2026-04-24T15:01:18.387Z","repository":{"id":239926189,"uuid":"800905381","full_name":"JacKeTUs/linux-steering-wheels","owner":"JacKeTUs","description":"Project to track Linux steering wheels support","archived":false,"fork":false,"pushed_at":"2026-03-17T01:08:06.000Z","size":61,"stargazers_count":241,"open_issues_count":1,"forks_count":9,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-03-17T12:50:11.264Z","etag":null,"topics":["force-feedback","linux"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JacKeTUs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-05-15T08:17:23.000Z","updated_at":"2026-03-17T01:08:12.000Z","dependencies_parsed_at":"2026-01-22T18:13:48.063Z","dependency_job_id":null,"html_url":"https://github.com/JacKeTUs/linux-steering-wheels","commit_stats":null,"previous_names":["jacketus/linux-steering-wheels"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JacKeTUs/linux-steering-wheels","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacKeTUs%2Flinux-steering-wheels","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacKeTUs%2Flinux-steering-wheels/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacKeTUs%2Flinux-steering-wheels/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacKeTUs%2Flinux-steering-wheels/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JacKeTUs","download_url":"https://codeload.github.com/JacKeTUs/linux-steering-wheels/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacKeTUs%2Flinux-steering-wheels/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32228437,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T13:21:15.438Z","status":"ssl_error","status_checked_at":"2026-04-24T13:21:15.005Z","response_time":64,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["force-feedback","linux"],"created_at":"2026-04-08T22:00:19.235Z","updated_at":"2026-04-24T15:01:18.362Z","avatar_url":"https://github.com/JacKeTUs.png","language":null,"readme":"# Linux steering wheels FFB support\n\n## Ranks\n\nRanks are based on user testing and results may vary due to differences in the hardware.\n\n### Platinum\n\nWorks fully with the recommended driver with extensive testing. Most common FFB effects implemented.\n\n### Gold\n\nWorks fully but it's less tested and there might be some minor issues. Most common FFB effects implemented.\n\n### Silver\n\nWorks almost fully. Some FFB effects might be missing or some other significant issues which might be\nimportant in some cases. Workarounds might be available.\n\n### Bronze\n\nMajor bugs or missing FFB effects which limit its use. It might be enough in some cases\nbut it's far from fully working.\n\n### Broken\n\nThe device might be recognized as a gamepad/joystick but there's no FFB.\n\n### (empty)\n\nDevice not tested at all. May be working, may be not. Contributions welcome!\n\n## Table of compatibility\n\nRead also related sections for each driver below for more information.\n\n| Manufacturer | Device names         | VID  | PID  | Support  | Driver        | Proton compatibility |\n|--------------|----------------------|------|------|----------|-----------------|--------------|\n| Asetek       | Invicta              | 2433 | f300 | Gold[^11] | hid-universal-pidff[^1] | Works[^13] |\n| Asetek       | Forte                | 2433 | f301 | Gold[^11] | hid-universal-pidff[^1] | Works[^13] |\n| Asetek       | La Prima             | 2433 | f303 | Gold[^11] | hid-universal-pidff[^1] | Works[^13] |\n| Asetek       | Tony Kannan          | 2433 | f306 | Gold[^11] | hid-universal-pidff[^1] | Works[^13] |\n| Cammus       | C5                   | 3416 | 0301 | Platinum | hid-universal-pidff[^1] | Works[^9] |\n| Cammus       | C12                  | 3416 | 0302 | Platinum | hid-universal-pidff[^1] | Works[^9] |\n| Fanatec      | CSL Elite            | 0eb7 | 0e03 | Gold     | hid-fanatecff[^6] | |\n| Fanatec      | CSL Elite (PS4)      | 0eb7 | 0005 | Gold     | hid-fanatecff[^6] | |\n| Fanatec      | DD                   | 0eb7 | 0020 | Gold     | hid-fanatecff[^6] | |\n| Fanatec      | DD Pro               | 0eb7 | 0020 | Gold     | hid-fanatecff[^6] | |\n| Fanatec      | Clubsport DD         | 0eb7 | 0020 | Gold     | hid-fanatecff[^6] | |\n| Fanatec      | ClubSport Wheel Base V2 |0eb7 | 0001 | Silver | hid-fanatecff[^6] | |\n| Fanatec      | ClubSport Wheel Base V2.5 | 0eb7 |0004 | Silver | hid-fanatecff[^6] | |\n| Fanatec      | Podium DD1           | 0eb7 | 0006 | Silver   | hid-fanatecff[^6] | |\n| Fanatec      | Podium DD2           | 0eb7 | 0007 | Silver   | hid-fanatecff[^6] | |\n| Fanatec      | CSR Elite            | 0eb7 | 0011 | Silver   | hid-fanatecff[^6] | |\n| FFBeast      | Wheel                | 045b | 59d7 | Platinum | hid-universal-pidff[^1]  | Works |\n| Logitech     | MOMO Wheel           | 046d | c295 | Platinum | hid-logitech[^2] | Works |\n| Logitech     | DFP                  | 046d | c298 | Platinum | hid-logitech[^2] | Works |\n| Logitech     | DFGT                 | 046d | c29a | Platinum | hid-logitech[^2] | Works |\n| Logitech     | G25                  | 046d | c29b | Platinum | hid-logitech[^2] | Works |\n| Logitech     | G27                  | 046d | c29b | Platinum | hid-logitech[^2] | Works |\n| Logitech     | G29                  | 046d | c24f | Platinum | hid-logitech[^2] | Works |\n| Logitech     | G920                 | 046d | c262 | Silver   | hid-logitech-hidpp[^7] | Works |\n| Logitech     | G923 (Xbox edition)  | 046d | c26d | Silver   | hid-logitech-hidpp[^7] | Works |\n| Logitech     | G923 (PS edition)    | 046d | c267 | Platinum | hid-logitech[^3] | Works |\n| Logitech     | G Pro                | 046d | c272 | Bronze   | hid-logitech-hidpp[^4] | Works[^9] |\n| Moza         | R3                   | 346e | 0005 | Platinum | hid-universal-pidff[^1] | Works |\n| Moza         | R5                   | 346e | 0004 | Platinum | hid-universal-pidff[^1] | Works |\n| Moza         | R9  (v1/v2/v3)       | 346e | 0002 | Platinum | hid-universal-pidff[^1] | Works |\n| Moza         | R12 (v1/v2)          | 346e | 0006 | Platinum | hid-universal-pidff[^1] | Works |\n| Moza         | R16 (v1/v2)          | 346e | 0000 | Platinum | hid-universal-pidff[^1] | Works |\n| Moza         | R21 (v1/v2)          | 346e | 0000 | Platinum | hid-universal-pidff[^1] | Works |\n| OpenFFBoard  |                      | 1209 | ffb0 | Platinum | hid-pidff[^1] | Works |\n| PXN          | V10                  | 11ff | 3245 | Gold     | hid-universal-pidff[^1] | Works |\n| PXN          | V12                  | 11ff | 1212 | Gold     | hid-universal-pidff[^1] | Works |\n| PXN          | V12 Lite             | 11ff | 1112 | Gold     | hid-universal-pidff[^1] | Works |\n| PXN          | V12 Lite (SE?)       | 11ff | 1211 | Gold     | hid-universal-pidff[^1] | Works |\n| PXN          | VD4                  |      |      | Gold     | hid-universal-pidff[^1] | Works |\n| PXN          | VD6                  | 36e6 | 400f | Gold     | hid-universal-pidff[^1] | Works |\n| PXN          | VD10                 |      |      | Gold     | hid-universal-pidff[^1] | Works |\n| Lite Star    | GT987 FF\t          | 11ff | 2141 | Gold     | hid-universal-pidff[^1] | Works |\n| Simagic      | M10                  | 0483 | 0522 | Silver | hid-pidff[^1] | Works  |\n| Simagic      | Alpha Mini           | 0483 | 0522 | Silver | simagic-ff[^5] | Works |\n| Simagic      | Alpha                | 0483 | 0522 | Silver | simagic-ff[^5] | Works |\n| Simagic      | Alpha Ultimate       | 0483 | 0522 | Silver | simagic-ff[^5] | Works |\n| Simagic      | EVO Sport            | 3670 | 0500 | Silver | simagic-ff[^5] | Works |\n| Simagic      | EVO                  | 3670 | 0501 | Silver | simagic-ff[^5] | Works |\n| Simagic      | EVO Pro              | 3670 | 0502 | Silver | simagic-ff[^5] | Works |\n| Simucube     | Simucube 1           | 16d0 | 0d5a | Silver   | hid-pidff[^1] | Works[^10] |\n| Simucube     | Simucube 2 Sport     | 16d0 | 0d61 | Silver   | hid-pidff[^1] | Works[^10] |\n| Simucube     | Simucube 2 Pro       | 16d0 | 0d60 | Silver   | hid-pidff[^1] | Works[^10] |\n| Simucube     | Simucube 2 Ultimate  | 16d0 | 0d5f | Silver   | hid-pidff[^1] | Works[^10] |\n| Simucube     | Simucube 3    |      |      | Not tested   | | We can only speculate that PID descriptor is used in their new Simucube Hub. If that's the case, then wheelbase will work out of the box[^1] |\n| SimXperience | AccuForce Pro        | 1fc9 | 804c | Platinum | hid-pidff[^1] |  |\n| Thrustmaster | Nascar Pro FF2       | 044f | b605 |          | hid-tmff | |\n| Thrustmaster | FGT Rumble Force     | 044f | b651 |          | hid-tmff | |\n| Thrustmaster | RGT FF CLUTCH        | 044f | b653 |          | hid-tmff | |\n| Thrustmaster | FGT Force Feedback   | 044f | b654 |          | hid-tmff | |\n| Thrustmaster | F430 Force Feedback  | 044f | b65a |          | hid-tmff | |\n| Thrustmaster | T248                 | 044f | b696 | Gold     | hid-tmff2[^8] | |\n| Thrustmaster | T300RS (PS3 mode)    | 044f | b66e | Gold     | hid-tmff2[^8] | |\n| Thrustmaster |T300RS (PS3 advanced mode)|044f|b66f| Gold     | hid-tmff2[^8] | |\n| Thrustmaster | T300RS (PS4 mode)    | 044f | b66d | Gold     | hid-tmff2[^8] | |\n| Thrustmaster | TX                   | 044f | b669 | Gold     | hid-tmff2[^8] | |\n| Thrustmaster | TS-XV                | 044f |      | Gold     | hid-tmff2[^8] | |\n| Thrustmaster | TMX                  | 044f | b67f | Gold     | hid-tminit[^14] | |\n| Turtle Beach |                      |      |      |          | | |\n| VRS          | DirectForce Pro (including uDFP20, DFP15, DFP20) | 0483 | a355 | Platinum[^12] | hid-universal-pidff[^1] | Works[^9] |\n\n\n[^1]: Full native support since Linux 6.15. Plug and play\n[^2]: Default driver lacks most effects. Use [patched driver](https://github.com/berarma/new-lg4ff).\n[^3]: Not supported by default driver. Use [patched driver](https://github.com/berarma/new-lg4ff).\n[^4]: Not supported by default driver. Use [patched driver](https://github.com/JacKeTUs/hid-logitech-hidpp).\n[^5]: Slightly changed PID protocol, without PID descriptor. Use [simagic-ff](https://github.com/JacKeTUs/simagic-ff) driver.\n[^6]: Custom module [hid-fanatecff](https://github.com/gotzl/hid-fanatecff)\n[^7]: Full USB command queue errors. Using [ffbwrap](https://github.com/berarma/ffbtools/blob/master/docs/ffbwrap.md) can help in some situations.\n[^8]: Custom module [hid-tmff2](https://github.com/Kimplul/hid-tmff2).\n[^9]: See section on [joystick detection](#joystick-detection).\n[^10]: Read [here about how to setup Simucube base](https://granitedevices.com/wiki/Using_Simucube_wheel_base_in_Linux).\nAnd a [Success case](https://community.granitedevices.com/t/simucube-2-discussion-thread/2664/1606).\n[^11]: You need to enable \"high torque mode\" after device is turned on/plugged in.\nMore info here: [asetek_wheelbase_cli](https://github.com/moonrail/asetek_wheelbase_cli)\n[^12]: Some VRS DirectForce Pro units have a \"power saving\" feature which disables force feedback up until the\nwheel is moved a little. Doesn't hurt it's normal performance. Happens on Windows as well.\n[^13]: See [reconnecting issue](#device-is-infinitely-rebooting)\n[^14]: Custom module [hid-tminit](https://github.com/NKkrisz/Thrustmaster_TMX_Linux_Driver).\n\n\n## hid-pidff\n\nThe kernel module `hid-pidff` implements the [HID PID specification](https://www.usb.org/sites/default/files/documents/pid1_01.pdf).\nHID PID is a standard for USB devices which includes FFB. Although this standard is several years old, most older and\nlow end wheels don't implement it, but most high and some middle end wheels do.\n\nWith Linux 6.15, the generic `hid-pidff` driver was upgraded and made more compatible with wide range of devices out of\nthe box. Some devices still need some fixes like fixed direction for Moza deivces (caused by a bug in SDL which was\n[fixed](https://github.com/libsdl-org/SDL/pull/12031)), permissive device dontrol field search for VRS. More\nimportantly, Moza, Camus and others define more than 80 buttons which is a current Linux\nlimitation for joysticks and gamepads.\n\nLinux 6.15 introduces `hid-universal-pidff`, an extension to the generic PID driver, which extends usable button range,\nsets better default fuzz/flat values and can be made to fix device descriptors if needed. Additionally, it enables us\nto provide an initial set of newly-introduced pidff quirks.\n\n\u003e [!NOTE]\n\u003e `hid-universal-pidff` and patches to `hid-pidff` were backported to 6.12.24, 6.13.12 and 6.14.3. Some of the patches were\n\u003e backported to even earlier kernels but maintainers decided not to work on backporting all of them thus 6.12 is the\n\u003e current cut-off point for support.\n\n### Duration issue\n\n\u003e [!NOTE]\n\u003e Fixed in Linux 6.15\n\nThe driver doesn't play any FFB effect out of the box due to a flaw in its API.\n\nAlthough undocumented, Linux drivers and applications (including Wine) have always used value 0x0 for an infinite effect\nlength, but the hid-pidff driver uses value 0xFFFF instead. When an effect with length 0x0 is uploaded, it plays no\neffect. The HID PID specification defines an infinite length effect with value 0xFFFF but this specification is for the\nhardware and isn't tied to Linux in any way.\n\nTo work around the issue without custom drivers you could use [ffbwrap](https://github.com/berarma/ffbtools) tool.\nFor example, launch games with command:\n\n```shell\nffbwrap --duration-fix /dev/input/by-id/usb-Your-Wheel-event-joystick %command%\n```\n\n### `a7` descriptor issue\n\n\u003e [!NOTE]\n\u003e Fixed in Linux 6.15\n\nDescriptor `0xa7` (effect delay) is not required for Windows HID PID implementation. Some manufacturers (including\nSimucube at first, later Simagic and Cammus) didn't implement that parameter in their firmware. But in Linux HID PID\nimplementation `0xa7` descriptor is mandatory, and device without it can't be initialized with hid-pidff driver.\nSimucube [fixed it in latest firmware (1.0.49)](https://granitedevices.com/wiki/SimuCUBE_firmware_releases).\n\nSome devices will require a patched hid-pidff driver which removes `0xa7` descriptor requirement and enables FFB.\n\n## hid-logitech-hidpp\n\nThis module implements HID++, Logitech's own specification for FFB. It's used in wheel models compatible with XBox.\nThis models do almost everything in hardware, while models using hid-logitech need assistance from the driver.\n\n### Queue full errors\n\nIn some games, when using this driver the FFB can lag behind so much that it's unbearable.\n\nThis driver sends commands to the wheel at the same rate they're sent by the game. When the game is sending FFB commands\nat a very fast rate the command queue fills and a warning message appears in dmesg about the full queue. As a\nconsequence the FFB starts lagging behind and looses some FFB commands.\n\nIn some games, the rate at which the FFB commands are sent is tied to the frame rate, thus it may work well at lower\nframe rates but fill the queue at higher frame rates.\n\nSome games allow to configure the rate at which FFB commands are sent. Lowering that value can help and even\nfix the issue.\n\n[ffbwrap](https://github.com/berarma/ffbtools) can be used to work around it when the application can't be configured\nto send commands at a lower rate. Needs testing.\n\n## Device is infinitely rebooting\n\n1. All of Asetek products\n2. Simagic GT Neo\n\nSome devices from the list have internal function/bug, which will reboot the device internals if it's not polled. Device reconnection won't happen if anything opens the device (game, tool, etc), so it only affects idle state. Windows polls the devices all the time by default, Linux does this more efficiently and starts polling only when device file is opened by some application.\nYou can force `HID_QUIRK_ALWAYS_POLL` for these devices. You will need to change kernel cmdline and regenerate initramfs.\n\nHere is instructions for how to do it in `grub`:\n1. Open your `/etc/default/grub`\n2. Find line `GRUB_CMDLINE_LINUX_DEFAULT`\n3. In the end of this string, add `usbhid.quirks=0xVID:0xPID:0x0400`, where `0xVID` is your device VID, and `0xPID` is your device PID\n4. Save file, regenerate grub config\n  ```\n  grub-mkconfig -o /boot/grub/grub.cfg\n  ```\n5. Regenerate initramfs\n  * Debian\n    ```\n    sudo update-initramfs -u\n    ```\n  * Arch\n    ```\n    sudo mkinitcpio -P\n    ```\n\nFor distros which using rpm-ostree (Fedora), this line should be enough:\n```\nsudo rpm-ostree kargs --append=usbhid.quirks=0xVID:0xPID:0x0400\n```\n\nIn the end, consider sending VID PID of the device somewhere we can see (issues), so we can send patches to the kernel, to set this quirk by default on these devices!\n\n## SDL\n\nSDL tries to heuristically guess which devices are gamepads and ignores everything that doesn't look like one. This\nmeans wheels and pedals might be ignored by SDL. This has been partially fixed by adding a\n[whitelist](https://github.com/libsdl-org/SDL/blob/main/src/joystick/SDL_joystick.c#L340) of wheels. This list has\nto be updated continuously with new models being tested.\nThese devices will be recognized as joysticks (not gamepads) in Proton. \n\nRecent updates to SDL created SDL Hint variable to dynamically extend wheel devices list. You need to set `SDL_JOYSTICK_WHEEL_DEVICES` variable like so:\n`SDL_JOYSTICK_WHEEL_DEVICES=0x\u003cVID\u003e/0x\u003cPID\u003e,0x\u003cVID2\u003e/0x\u003cPID2\u003e`.\n\n## Wine/Proton caveats\n\n### Joystick detection\n\nEven if the device is ranked well, there may be some small issues regarding wheel detection. This comes from different approaches from different manufactures: some devices has same buttons as XInput gamepads (A, B, X, Y), and can be mistakenly detected as such.\n\nAt first you should check if device is detected by your system as joystick. If it does not shows up as joystick in something like `jstest` or `udevadm info` or System settings, you should create new hwdb entry for your specific device.\n\nCheck out https://github.com/JacKeTUs/simracing-hwdb, community-driven collection of hwdb entries for the various simracing devices.\n\nIf your device is not on the repository above, you can create hwdb entry yourself (and consider contributing to the collection)\n\nCreate file `/etc/udev/hwdb.d/99-simracing.hwdb` with this content (replace VID PID by upper case VID and PID of your device):\n```\nid-input:modalias:input:*vVIDpPID*\n ID_INPUT_ACCELEROMETER=0\n ID_INPUT_JOYSTICK=1\n```\nThis will set JOYSTICK type to the device, and explicitly set ACCELEROMETER to 0 (if you have, say, pedals with 3 axis).\n\nFor example, for VRS DFP file will look like this:\n```\n# VRS DFP\nid-input:modalias:input:*v0483pA355*\n ID_INPUT_ACCELEROMETER=0\n ID_INPUT_JOYSTICK=1\n```\nThen reload hwdb database and reload all udev rules like so:\n```\nsudo systemd-hwdb update\nsudo udevadm trigger\n```\n\nAlso, for devices not present in SDL wheels whitelist, Steam uses sandboxed SDL1.2 to detect devices.\nIt has one small rule to detect all kinds of joysticks, function\n[EV_IsJoystick()](https://github.com/libsdl-org/SDL-1.2/blob/main/src/joystick/linux/SDL_sysjoystick.c#L382-L398).\nAnd basically, for the device to be classed as a joystick, it must have either X and Y axes or a X and Y hat, and\nmust have a trigger, A button, or 1 button. On some devices Y axis not exists (Logitech G Pro), and therefore, for SDL,\nthat device is not a joystick and no need to forward it to the game. Native apps will work perfectly, Wine apps too.\nWith Proton 10 all devices classified as Wheels in SDL will be detected in Proton as DInput devices.\n\nAlternatively, [Boxflat](https://github.com/Lawstorant/boxflat) has \"Detection fix\" functionality for Moza devices.\n\n[Link to the Proton issue](https://github.com/ValveSoftware/Proton/issues/5126)\n\n## Steam settings for ~all devices and ~all games\n\n1. Turn Steam Input off in game settings\n2. Use recent Proton version for non-native games. 7 version known for having issues with HID devices detection. 10 version known for fixing various detection bugs, for devices without axis (shifters, buttonboxes) and such.\n3. Use recent SDL library version, if you're using native Steam installation.\n4. Check if your system detects the device as joystick. If not, create corresponding hwdb entry (see [Joystick detection](#joystick-detection)). When your system detects your device as joystick, you can try it in games.\n5. If game still does not detect your device, try [setting SDL Hint](https://github.com/libsdl-org/SDL/issues/8595) \n   environment variable in game launch command like so:\n\n    ```\n    SDL_JOYSTICK_WHEEL_DEVICES=0x\u003cVID\u003e/0x\u003cPID\u003e %command%\n    ```\n    This is only relevant for devices which are, for various reasons, not in a SDL whitelist (yet), or for\n    older Steam runtime versions which does not have updated SDL library with updated lists.\n6. If Proton still can't see your device, you can try and fallback to hidraw protocol by setting `PROTON_ENABLE_HIDRAW` environment variable. This should be used as last resort, as some versions of Proton are not correctly passing FFB to the hidraw device.\n    ```\n    PROTON_ENABLE_HIDRAW=0x\u003cVID\u003e/0x\u003cPID\u003e %command%\n    ```\n7. If none of that worked, create an issue, where members of the community will try to help you with your specific game/device combination.\n\n## Links\n\n- [Logitech FFb Protocol v1.6](https://opensource.logitech.com/wiki/force_feedback/Logitech_Force_Feedback_Protocol_V1.6.pdf).\n- [hid-logitech-hidpp kernel module](https://elixir.bootlin.com/linux/latest/source/drivers/hid/hid-logitech-hidpp.c).\n- [hid-pidff kernel module](https://elixir.bootlin.com/linux/latest/source/drivers/hid/usbhid/hid-pidff.c)\n- [OpenFFBoard](https://github.com/Ultrawipf/OpenFFBoard).\n\n## DISCLAIMER\n\n\u003e [!CAUTION]\n\u003e THE SOFTWARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE\n\u003e WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO  EVENT SHALL THE AUTHORS\n\u003e OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT\n\u003e OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","funding_links":[],"categories":["Linux Wheel Drivers"],"sub_categories":["rFactor"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJacKeTUs%2Flinux-steering-wheels","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJacKeTUs%2Flinux-steering-wheels","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJacKeTUs%2Flinux-steering-wheels/lists"}