Skip to content

Commit ee44aab

Browse files
authored
Merge branch 'master' into pr/abs-mouse-relative
2 parents 822ee0e + f273ce8 commit ee44aab

62 files changed

Lines changed: 825 additions & 199 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/dependabot.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,9 @@ updates:
1515
interval: "cron"
1616
cronjob: "30 2 * * *"
1717
timezone: "America/New_York"
18+
groups:
19+
vulkan:
20+
patterns:
21+
- "third-party/Vulkan-*"
22+
- "third-party/*/Vulkan-*"
1823
open-pull-requests-limit: 10

.github/workflows/ci-freebsd.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
echo "PROCESSOR_COUNT: $PROCESSOR_COUNT"
4949
5050
- name: Setup FreeBSD
51-
uses: vmactions/freebsd-vm@83b151f58c6047089f4c80eb5ba2039d158ce093 # v1.5.3
51+
uses: vmactions/freebsd-vm@d0518f912576ae759075aa00fb9fe27037940271 # v1.5.4
5252
with:
5353
arch: ${{ matrix.arch }}
5454
cpu: ${{ steps.processor_count.outputs.PROCESSOR_COUNT }}

branding/github/banner.jpg

678 KB
Loading

branding/ms-store/box-art.png

77.5 KB
Loading

branding/ms-store/poster-art.png

728 KB
Loading

docs/configuration.md

Lines changed: 41 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1551,9 +1551,9 @@ editing the `conf` file in a text editor. Use the examples as reference.
15511551
</tr>
15521552
<tr>
15531553
<td>Default</td>
1554-
<td colspan="2">@code{}
1555-
(empty - bind to all interfaces)
1556-
@endcode</td>
1554+
<td colspan="2">
1555+
Empty, binds to all interfaces
1556+
</td>
15571557
</tr>
15581558
<tr>
15591559
<td>Example (IPv4)</td>
@@ -1655,10 +1655,10 @@ editing the `conf` file in a text editor. Use the examples as reference.
16551655
</tr>
16561656
<tr>
16571657
<td>Default</td>
1658-
<td colspan="2">@code{}
1659-
(empty - uses built-in defaults: https://localhost, https://127.0.0.1, https://[::1],
1660-
with configured UI port variants)
1661-
@endcode</td>
1658+
<td colspan="2">
1659+
Empty, uses built-in defaults: https://localhost, https://127.0.0.1, https://[::1],
1660+
with configured UI port variants
1661+
</td>
16621662
</tr>
16631663
<tr>
16641664
<td>Example</td>
@@ -2809,6 +2809,40 @@ editing the `conf` file in a text editor. Use the examples as reference.
28092809
</tr>
28102810
</table>
28112811

2812+
### amd_max_au_size
2813+
2814+
<table>
2815+
<tr>
2816+
<td>Description</td>
2817+
<td colspan="2">
2818+
Maximum Access Unit (frame) size for rate control, in bits. This is a last-resort
2819+
control for capping oversized encoded frames that would otherwise exceed Sunshine's
2820+
four-block FEC capacity and be sent without FEC protection.
2821+
@note{This option only applies to H.264 and HEVC when using amdvce [encoder](#encoder).
2822+
AV1 does not support this option.}
2823+
@note{The FEC ceiling depends on the negotiated packet size and [fec_percentage](#fec_percentage),
2824+
not the average bitrate or frame rate. The approximate encoded-payload ceiling is
2825+
`4 * floor(25500 / (100 + fec_percentage)) * (packet_size - 16) * 8` bits, before
2826+
allowing for the short frame header or codec-header replacements. With 20% FEC and
2827+
1024-byte packets, 6400000 bits provides conservative headroom.}
2828+
@warning{Setting this unnecessarily low can reduce image quality, especially for
2829+
keyframes. Leave it empty unless oversized frames are actually causing FEC to be skipped.}
2830+
</td>
2831+
</tr>
2832+
<tr>
2833+
<td>Default</td>
2834+
<td colspan="2">
2835+
Empty, uses encoder default.
2836+
</td>
2837+
</tr>
2838+
<tr>
2839+
<td>Example</td>
2840+
<td colspan="2">@code{}
2841+
amd_max_au_size = 6400000
2842+
@endcode</td>
2843+
</tr>
2844+
</table>
2845+
28122846
### amd_quality
28132847

28142848
<table>

docs/getting_started.md

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -474,19 +474,29 @@ and enter its device name in the [audio_sink](configuration.md#audio_sink) field
474474
> Gamepads are not currently supported.
475475
476476
### Windows
477-
Sunshine uses libvirtualhid for virtual gamepads on Windows. You must install the
478-
[Virtual HID Driver](https://github.com/LizardByte/libvirtualhid/releases/latest) separately for full virtual gamepad
479-
support. ViGEmBus is detected only as a limited fallback for Xbox 360 and DualShock 4 gamepads when libvirtualhid is
480-
unavailable.
477+
Sunshine uses libvirtualhid for virtual input on Windows. You must install the
478+
[Virtual HID Driver](https://github.com/LizardByte/libvirtualhid/releases/latest) separately for a driver-backed Raw
479+
Input mouse and full virtual gamepad support. ViGEmBus is detected only as a limited fallback for Xbox 360 and
480+
DualShock 4 gamepads when libvirtualhid is unavailable.
481+
482+
Sunshine requires Virtual HID Driver version `2026.823.352.3` or newer. Earlier releases use incompatible Windows
483+
control and broker protocols and must be upgraded together with Sunshine's embedded libvirtualhid library. Local
484+
development driver builds using a `0.0.0.*` version remain supported.
481485

482486
Compared with the ViGEmBus fallback, Virtual HID Driver can create Xbox One, Xbox Series, DualSense, Nintendo Switch
483487
Pro, and Generic gamepads in addition to Xbox 360 and DualShock 4. It can also expose controller-specific features such
484488
as motion, touchpads, LEDs, and adaptive triggers when supported. Virtual HID Driver is actively developed and
485489
supported by the LizardByte team.
486490

487-
The Virtual HID Driver also requires an active machine license. Sunshine shows the current license status and actions
488-
on the Web UI Troubleshooting page and in the **Virtual HID Driver** system tray submenu. When Sunshine starts on an
489-
unactivated machine, select its tray notification to open the activation and purchase options in the Web UI.
491+
With a compatible driver and active license, relative mouse movement, buttons, and scrolling are exposed as a real HID
492+
mouse so applications using Raw Input can receive them. Absolute mouse positioning continues to use Windows input
493+
injection. When the driver-backed mouse cannot be created, libvirtualhid retains its legacy SendInput fallback.
494+
495+
The Virtual HID Driver requires an active machine license for driver-backed devices, including gamepads and the Raw
496+
Input mouse. Sunshine shows the current license status and actions on the Web UI Troubleshooting page and in the
497+
**Virtual HID Driver** system tray submenu. When Sunshine starts on an unactivated machine, select its tray notification
498+
to open the activation and purchase options in the Web UI. Sunshine recreates the shared mouse after a successful
499+
license action, so switching between the HID and SendInput paths does not require restarting Sunshine.
490500

491501
After installing or updating virtual input drivers, it is recommended to restart your computer.
492502

docs/troubleshooting.md

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -290,22 +290,37 @@ launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist
290290
## Windows
291291
292292
### No gamepad detected
293-
Sunshine uses libvirtualhid for virtual gamepads on Windows. Install the
294-
[Virtual HID Driver](https://github.com/LizardByte/libvirtualhid/releases/latest) separately for full virtual gamepad
295-
support. ViGEmBus is detected only as a limited fallback for Xbox 360 and DualShock 4 gamepads when libvirtualhid is
296-
unavailable. If you use the [ViGEmBus fallback](https://github.com/nefarius/ViGEmBus/releases/latest), you must use
297-
version 1.17 or newer.
293+
Sunshine uses libvirtualhid for virtual input on Windows. Install the
294+
[Virtual HID Driver](https://github.com/LizardByte/libvirtualhid/releases/latest) separately for a driver-backed Raw
295+
Input mouse and full virtual gamepad support. ViGEmBus is detected only as a limited fallback for Xbox 360 and
296+
DualShock 4 gamepads when libvirtualhid is unavailable. If you use the
297+
[ViGEmBus fallback](https://github.com/nefarius/ViGEmBus/releases/latest), you must use version 1.17 or newer.
298+
299+
Sunshine requires Virtual HID Driver version `2026.823.352.3` or newer. Earlier releases use incompatible Windows
300+
control and broker protocols. The Troubleshooting page reports an older installed package as unsupported and links
301+
to the current driver release. Local development driver builds using a `0.0.0.*` version remain supported.
298302
299303
Virtual HID Driver adds Xbox One, Xbox Series, DualSense, Nintendo Switch Pro, and Generic gamepads, plus advanced
300304
controller features such as motion, touchpads, LEDs, and adaptive triggers when supported. Unlike the discontinued
301305
ViGEmBus project, Virtual HID Driver is actively developed and supported by the LizardByte team.
302306
303-
An active Virtual HID Driver machine license is required before Sunshine can create libvirtualhid gamepads. Follow
304-
the warning on the Web UI home page, the startup tray notification, or the **Virtual HID Driver** tray submenu to open
305-
the license section on the Troubleshooting page, where you can activate a key or follow the purchase link.
307+
An active Virtual HID Driver machine license is required before Sunshine can create driver-backed libvirtualhid
308+
devices, including gamepads and the Raw Input mouse. Follow the warning on the Web UI home page, the startup tray
309+
notification, or the **Virtual HID Driver** tray submenu to open the license section on the Troubleshooting page, where
310+
you can activate a key or follow the purchase link.
306311
307312
After installation, it is recommended to restart your computer.
308313
314+
### Games do not detect mouse input
315+
With a compatible Virtual HID Driver and active license, Sunshine sends relative mouse movement, buttons, and scrolling
316+
through a real HID device so games using Raw Input can receive them. Absolute positioning still uses Windows input
317+
injection. When the driver-backed mouse cannot be created, libvirtualhid falls back to SendInput; the Windows cursor may
318+
still move even though a game that listens only for Raw Input receives nothing.
319+
320+
Check the Virtual HID Driver version and license sections on the Web UI Troubleshooting page even when controller input
321+
is disabled. Sunshine recreates the shared mouse after a successful license activation, validation, or deactivation, so
322+
you do not need to restart Sunshine merely to switch between the HID and SendInput paths.
323+
309324
### Permission denied
310325
Since Sunshine runs as a service on Windows, it may not have the same level of access that your regular user account
311326
has. You may get permission denied errors when attempting to launch a game or application from a non-system drive.

package-lock.json

Lines changed: 29 additions & 29 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@
99
},
1010
"type": "module",
1111
"dependencies": {
12-
"@lucide/vue": "1.31.0",
12+
"@lucide/vue": "1.33.0",
1313
"bootstrap": "5.3.8",
1414
"date-fns": "4.4.0",
1515
"marked": "18.0.10",
1616
"vue": "3.5.41",
17-
"vue-i18n": "11.4.8",
17+
"vue-i18n": "11.4.9",
1818
"vue3-simple-icons": "16.10.0"
1919
},
2020
"devDependencies": {

0 commit comments

Comments
 (0)