This project lets you use a Razer Wolverine V3 Pro's back paddles as independent bindable controls inside Steam.
The setup tool currently supports SteamOS only. This project does not provide setup steps for other Linux systems yet.
[!WARNING] This project was made using AI assistance extensively. I am not a Linux driver expert.
If this is a severe concern for you, please do not use or share this project.
Effort has been made to document all aspects of how this project works so that those who want to know may easily understand it.
The wired controller has been tested on a 2026 Steam Machine with the SteamOS versions listed under Compatibility. It has not been tested on a Steam Deck. The setup tool installs and manages the controller driver for you.
Confirmed to work:
This project makes no permanent changes to your controller, however it does put the controller into an undocumented mode that official controller firmware exposes, and therefore should still be considered experimental.
You should be aware of the issues covered in Known Limitations before installing and using the driver.
1532:0a3f.local-provisional.These limitations were observed on a 2026 Steam Machine.
Read Known issues and limitations for the complete list of known problems and workarounds.
In SteamOS Desktop Mode, run these commands in the terminal. All prerequisites should already be installed on SteamOS. Make sure to set a sudo password for your SteamOS user before you begin.
Clone the project and enter its directory:
git clone https://github.com/Netruk44/wolverine-v3-pro-linux.git
cd wolverine-v3-pro-linux
If you downloaded a GitHub source archive instead, unpack it and open a terminal in that directory.
To get started, run:
./wolverine-gip status
This command checks whether your system is supported and whether the driver is installed. It does not make any changes.
If supported, then run:
./wolverine-gip
This command opens the setup menu.
Choose Set up controller support, then choose:
./wolverine-gip update to build and enable a new
matching driver.The tool checks your SteamOS version, downloads and verifies the files it needs, builds the driver, and checks the result. The tool will ask before each download or system change.
After setup:
See Guided setup and updates for instructions on using the menu with a controller, managing the driver, and updating SteamOS.
If you'd like to manually review each step before the tool builds or installs the driver, use:
./wolverine-gip setup --stepwise
This will start the setup process in stepwise mode. The first step will collect your system information into a json file, then exit so you can review the collected information.
Once you've reviewed everything, to continue with the next step run:
./wolverine-gip resume
Each resume command moves the setup forward by no more than one step. At that
point it will exit and you can review.
Continue to run ./wolverine-gip resume until the tool reports that the
installation process is completed.
See Guided setup and updates for details about the reports this creates.
| Goal | Command |
|---|---|
| Open the guided menu | ./wolverine-gip |
| Set up support directly | ./wolverine-gip setup |
| Check compatibility, controller, and installation status | ./wolverine-gip status |
| Create a full status report with common private details removed | ./wolverine-gip status --json |
| Rebuild and turn the driver back on after a SteamOS update | ./wolverine-gip update |
| Repair the permanent setup and rebuild if needed | ./wolverine-gip repair |
| Return to the SteamOS driver but keep the built driver | ./wolverine-gip rollback |
| Return to the SteamOS driver and remove installed files | ./wolverine-gip uninstall |
| Preview removal of saved downloads and build files | ./wolverine-gip cleanup |
Rollback keeps the built driver so you can use it again. Uninstall removes the installed files. Neither command removes saved downloads or build reports.
The cleanup command shows what it will remove before it removes anything. See Downloaded and built file cleanup for details.
Start with:
./wolverine-gip status
If you need more detail, create a report that includes messages from SteamOS since the last restart:
./wolverine-gip status --include-logs --json
The tool removes common details that could identify your system. It never uploads the report. Read the report before you share it. When you report a problem, include what happened, which action failed, and the report. Use the GitHub issue tracker and its bug-report form.
See Status reports and troubleshooting for more help.
The setup tool creates a separate driver for your current SteamOS version. It never replaces the driver that comes with SteamOS. It leaves protected SteamOS files and security settings alone.
SteamOS may show a warning because this driver does not come with the operating system. If SteamOS rejects it, the tool will stop.
The driver is easily reversible and removable without affecting your system.
The temporary install is removed after a reboot, and the permanent version can
be removed with the rollback and uninstall commands in the setup tool.
Your controller will return to usual functionality once disconnected from USB.
The following versions have been tested on Steam Machine hardware and are confirmed to work.
You do not need to compare the long version numbers below. Run
./wolverine-gip status to check your system. The tool checks for an exact
match.
| SteamOS version | Exact version checked by the tool | Test report |
|---|---|---|
| 3.8.16 Stable, build 20260716.1 | 6.16.12-valve24.5-1-neptune-616-gb2f7cfe85e45 | Stable transition report |
| 3.8.25 Beta, build 20260807.2 | 6.18.42-valve2-1-neptune-618-gaf6356cf2488 | Beta transition report |
| Development baseline; SteamOS build not recorded | 6.16.12-drmexec7-valve24.5-1-neptune-616-drm-exec-gf253f5da553e | Baseline record |
Only these exact versions have been tested. The setup tool reads its list from
build-support/steamos/targets.json.
The Wolverine reports its rear controls in a volatile (temporary) diagnostic
mode. The SteamOS xbox_gip patch series enables that mode for USB device
1532:0a3f, maps M3-M6 to Linux's standard grip-button codes, and preserves
the controller's navigation buttons.
| Controller control | Linux input code | Steam Input |
|---|---|---|
| M3 / upper-left rear | BTN_GRIPL | L4 |
| M4 / upper-right rear | BTN_GRIPR | R4 |
| M5 / lower-left rear | BTN_GRIPL2 | L5 |
| M6 / lower-right rear | BTN_GRIPR2 | R5 |
Builds are bound to the exact running kernel, packaged stock-module identity, Valve source revision, ordered patch hashes, and pinned container definition. Known targets reuse recorded inputs; provisional results remain visibly distinct from repository hardware validation.
Detailed designs and evidence live under docs/.
Contributors should read CONTRIBUTING.md, and repository
maintainers should read MAINTAINERS.md.
Release history is recorded in CHANGELOG.md.
Unless a file states otherwise, this project is licensed under the GNU General
Public License, version 2 or, at your option, any later version. Kernel patches
remain subject to the license of the Linux source they modify. See
LICENSE.
57 commits
Python
98.1%
Shell
1.6%
This project lets you use a Razer Wolverine V3 Pro's back paddles as independent bindable controls inside Steam.
The setup tool currently supports SteamOS only. This project does not provide setup steps for other Linux systems yet.
[!WARNING] This project was made using AI assistance extensively. I am not a Linux driver expert.
If this is a severe concern for you, please do not use or share this project.
Effort has been made to document all aspects of how this project works so that those who want to know may easily understand it.
The wired controller has been tested on a 2026 Steam Machine with the SteamOS versions listed under Compatibility. It has not been tested on a Steam Deck. The setup tool installs and manages the controller driver for you.
Confirmed to work:
This project makes no permanent changes to your controller, however it does put the controller into an undocumented mode that official controller firmware exposes, and therefore should still be considered experimental.
You should be aware of the issues covered in Known Limitations before installing and using the driver.
1532:0a3f.local-provisional.These limitations were observed on a 2026 Steam Machine.
Read Known issues and limitations for the complete list of known problems and workarounds.
In SteamOS Desktop Mode, run these commands in the terminal. All prerequisites should already be installed on SteamOS. Make sure to set a sudo password for your SteamOS user before you begin.
Clone the project and enter its directory:
git clone https://github.com/Netruk44/wolverine-v3-pro-linux.git
cd wolverine-v3-pro-linux
If you downloaded a GitHub source archive instead, unpack it and open a terminal in that directory.
To get started, run:
./wolverine-gip status
This command checks whether your system is supported and whether the driver is installed. It does not make any changes.
If supported, then run:
./wolverine-gip
This command opens the setup menu.
Choose Set up controller support, then choose:
./wolverine-gip update to build and enable a new
matching driver.The tool checks your SteamOS version, downloads and verifies the files it needs, builds the driver, and checks the result. The tool will ask before each download or system change.
After setup:
See Guided setup and updates for instructions on using the menu with a controller, managing the driver, and updating SteamOS.
If you'd like to manually review each step before the tool builds or installs the driver, use:
./wolverine-gip setup --stepwise
This will start the setup process in stepwise mode. The first step will collect your system information into a json file, then exit so you can review the collected information.
Once you've reviewed everything, to continue with the next step run:
./wolverine-gip resume
Each resume command moves the setup forward by no more than one step. At that
point it will exit and you can review.
Continue to run ./wolverine-gip resume until the tool reports that the
installation process is completed.
See Guided setup and updates for details about the reports this creates.
| Goal | Command |
|---|---|
| Open the guided menu | ./wolverine-gip |
| Set up support directly | ./wolverine-gip setup |
| Check compatibility, controller, and installation status | ./wolverine-gip status |
| Create a full status report with common private details removed | ./wolverine-gip status --json |
| Rebuild and turn the driver back on after a SteamOS update | ./wolverine-gip update |
| Repair the permanent setup and rebuild if needed | ./wolverine-gip repair |
| Return to the SteamOS driver but keep the built driver | ./wolverine-gip rollback |
| Return to the SteamOS driver and remove installed files | ./wolverine-gip uninstall |
| Preview removal of saved downloads and build files | ./wolverine-gip cleanup |
Rollback keeps the built driver so you can use it again. Uninstall removes the installed files. Neither command removes saved downloads or build reports.
The cleanup command shows what it will remove before it removes anything. See Downloaded and built file cleanup for details.
Start with:
./wolverine-gip status
If you need more detail, create a report that includes messages from SteamOS since the last restart:
./wolverine-gip status --include-logs --json
The tool removes common details that could identify your system. It never uploads the report. Read the report before you share it. When you report a problem, include what happened, which action failed, and the report. Use the GitHub issue tracker and its bug-report form.
See Status reports and troubleshooting for more help.
The setup tool creates a separate driver for your current SteamOS version. It never replaces the driver that comes with SteamOS. It leaves protected SteamOS files and security settings alone.
SteamOS may show a warning because this driver does not come with the operating system. If SteamOS rejects it, the tool will stop.
The driver is easily reversible and removable without affecting your system.
The temporary install is removed after a reboot, and the permanent version can
be removed with the rollback and uninstall commands in the setup tool.
Your controller will return to usual functionality once disconnected from USB.
The following versions have been tested on Steam Machine hardware and are confirmed to work.
You do not need to compare the long version numbers below. Run
./wolverine-gip status to check your system. The tool checks for an exact
match.
| SteamOS version | Exact version checked by the tool | Test report |
|---|---|---|
| 3.8.16 Stable, build 20260716.1 | 6.16.12-valve24.5-1-neptune-616-gb2f7cfe85e45 | Stable transition report |
| 3.8.25 Beta, build 20260807.2 | 6.18.42-valve2-1-neptune-618-gaf6356cf2488 | Beta transition report |
| Development baseline; SteamOS build not recorded | 6.16.12-drmexec7-valve24.5-1-neptune-616-drm-exec-gf253f5da553e | Baseline record |
Only these exact versions have been tested. The setup tool reads its list from
build-support/steamos/targets.json.
The Wolverine reports its rear controls in a volatile (temporary) diagnostic
mode. The SteamOS xbox_gip patch series enables that mode for USB device
1532:0a3f, maps M3-M6 to Linux's standard grip-button codes, and preserves
the controller's navigation buttons.
| Controller control | Linux input code | Steam Input |
|---|---|---|
| M3 / upper-left rear | BTN_GRIPL | L4 |
| M4 / upper-right rear | BTN_GRIPR | R4 |
| M5 / lower-left rear | BTN_GRIPL2 | L5 |
| M6 / lower-right rear | BTN_GRIPR2 | R5 |
Builds are bound to the exact running kernel, packaged stock-module identity, Valve source revision, ordered patch hashes, and pinned container definition. Known targets reuse recorded inputs; provisional results remain visibly distinct from repository hardware validation.
Detailed designs and evidence live under docs/.
Contributors should read CONTRIBUTING.md, and repository
maintainers should read MAINTAINERS.md.
Release history is recorded in CHANGELOG.md.
Unless a file states otherwise, this project is licensed under the GNU General
Public License, version 2 or, at your option, any later version. Kernel patches
remain subject to the license of the Linux source they modify. See
LICENSE.
57 commits
Python
98.1%
Shell
1.6%