feat(windows): add ViGEmBus driver management API and UI integration (#4625)

Introduces backend API endpoints for ViGEmBus status and installation, updates Windows build scripts to handle ViGEmBus versioning and installer download, and integrates ViGEmBus status and installation controls into the web UI. Removes legacy PowerShell scripts for gamepad driver management and related NSIS installer commands.
This commit is contained in:
David Lane 2026-01-25 12:06:51 -05:00 committed by GitHub
commit 7e286b90b6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 360 additions and 72 deletions

View file

@ -57,6 +57,12 @@ basic authentication with the admin username and password.
## POST /api/restart
@copydoc confighttp::restart()
## GET /api/vigembus/status
@copydoc confighttp::getViGEmBusStatus()
## POST /api/vigembus/install
@copydoc confighttp::installViGEmBus()
<div class="section_buttons">
| Previous | Next |

View file

@ -369,21 +369,7 @@ overflow menu. Different versions of Windows may provide slightly different step
scripts/delete-firewall-rule.bat
```
4. Virtual Gamepad Support
Install:
```bash
cd /d {path to extracted directory}
scripts/install-gamepad.bat
```
Uninstall:
```bash
cd /d {path to extracted directory}
scripts/uninstall-gamepad.bat
```
5. Windows service
4. Windows service
Install:
```bash
@ -465,6 +451,11 @@ Sunshine can only access microphones on macOS due to system limitations. To stre
> [!CAUTION]
> Gamepads are not currently supported.
### Windows
In order for virtual gamepads to work, you must install ViGEmBus. You can do this from the troubleshooting tab
in the web UI, as long as you are running Sunshine as a service or as an administrator. After installation, it is
recommended to restart your computer.
## Usage
### Basic usage

View file

@ -223,7 +223,12 @@ launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist
## Windows
### No gamepad detected
Verify that you've installed [Nefarius Virtual Gamepad](https://github.com/nefarius/ViGEmBus/releases/latest).
You must install ViGEmBus to use virtual gamepads. You can install this from the troubleshooting tab of the web UI.
Alternatively, you can manually install it from
[ViGEmBus releases](https://github.com/nefarius/ViGEmBus/releases/latest). You must use version 1.17 or newer.
After installation, it is recommended to restart your computer.
### Permission denied
Since Sunshine runs as a service on Windows, it may not have the same level of access that your regular user account