Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions docs/platform-support.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,14 @@ The published installer targets Windows 11 version 21H2 or later on AMD64.
Windows 10 version 2004 or later has a best-effort path. Windows ARM64 release
packages are not available.

We strongly recommend upgrading to a Windows 11 release that is
[still supported by Microsoft](https://learn.microsoft.com/en-us/lifecycle/products/windows-11-home-and-pro).
On Windows 10, a Microsoft `xinputhid.sys` defect can cause progressive CPU
usage and game FPS loss with Xbox Series virtual controllers while
`GameInputSvc` is running. See the
[Windows 10 gamepad limitation](windows-driver.md#windows-10-gamepad-limitation)
for the confirmed Xbox 360 profile workaround.

## Linux

Linux needs `uhid` for descriptor-driven profiles and `uinput` for the other
Expand Down
25 changes: 25 additions & 0 deletions docs/windows-driver.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,31 @@ The released MSI targets Windows 11 version 21H2 or later on AMD64. Windows 10
version 2004 or later has a best-effort compatibility path. Windows ARM64
release packages are not yet available.

We strongly recommend upgrading to a Windows 11 release that is
[still supported by Microsoft](https://learn.microsoft.com/en-us/lifecycle/products/windows-11-home-and-pro).

## Windows 10 gamepad limitation

On Windows 10, Xbox Series virtual controllers can cause progressive CPU
usage and game FPS loss while `GameInputSvc` is running. The affected Microsoft
`xinputhid.sys` driver fails to initialize a process ID used to reuse internal
queues, allowing queues to accumulate. See
[issue #194](https://github.com/LizardByte/libvirtualhid/issues/194) and the
[driver investigation](https://github.com/nefarius/GameInput-Fault-RE/blob/master/docs/windows10-queue-identity.md).

If you must remain on Windows 10, use the Xbox 360 profile as a workaround.
It bypasses the affected driver path and lets `GameInputSvc` remain enabled.
For Sunshine, set:

```ini
gamepad = x360
gamepad_driver = virtualhid
```

Restart Sunshine and reconnect Moonlight so the virtual controller is
recreated. A physical Xbox Series controller can still be used, but the game
sees an Xbox 360 controller without Series-specific features.

## Install and use

Install the production-signed MSI from the
Expand Down
Loading