Sunshine虚拟手柄实操指南:没有实体手柄也能串流游戏

发布时间:2026/10/19 3:19:28
Sunshine虚拟手柄实操指南:没有实体手柄也能串流游戏
Sunshine虚拟手柄实操指南没有实体手柄也能串流游戏【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/SunshineSunshine 是 Moonlight 客户端配套的自托管游戏串流服务器它的虚拟手柄功能可以在串流时把手机、平板或客户端手柄的输入注入为主机上真实存在的 HID 手柄解决「游戏只认手柄而你手上只有触屏」的操控问题。整条链路只有两件事装对输入驱动、配好gamepad参数。效果预览Moonlight 连接后你的设备会被识别成什么Sunshine 在每次串流会话开始时都会创建一个虚拟手柄节点游戏和系统看到的就是一个标准控制器不需要你在主机上做任何额外操作。gamepad取默认值auto时Sunshine 按 Moonlight 客户端上报的设备特征选型带运动传感器或触控板的设备会模拟成 PlayStation 系手柄其余设备模拟成 Xbox 系手柄。Windows 上游戏通常直接看到 Xbox 360 Controller 或 DualShock 4Linux 上对应的是通过 uinput 注册出来的虚拟输入节点。重连或会话结束时节点会被重建你不需要手动卸载手柄。要串流的目标游戏或桌面可以在 Web UI 的应用管理里维护 Windows 与 macOS 的虚拟手柄驱动怎么选虚拟手柄在桌面系统上依赖具体驱动后端Windows 有两个可选能力差异很大先确认要装哪个再动手。Virtual HID Brokerlibvirtualhid官方主推方向需单独安装并持有付费机器授权要求驱动版本 2026.914.1218.10 或更新。它能创建 Xbox 360、Xbox One/Series、DualShock 4/5、Switch Pro 和通用generic手柄。ViGEmBus遗留替代方案只能模拟 Xbox 360 和 DualShock 4项目已停止维护若选用必须是 1.17 及以上版本。macOS虚拟手柄同样依赖 Virtual HID Broker需单独安装 libvirtualhid 的 DMG 包并在系统设置 → 隐私与安全性中授权。安装完成后在 Web UI 中把gamepad_driver设为all有 Broker 就优先 Broker否则回落 ViGEmBus、virtualhid只用 Broker、vigembus只用 ViGEmBus或none关闭虚拟手柄不影响键鼠。官方建议安装或更新驱动后重启一次电脑让驱动稳定加载。 Linux 解锁 uinput 权限把用户加入 input 组Linux 的虚拟手柄走 libvirtualhid 的 uinput 后端前提是运行 Sunshine 的用户能读写/dev/uinput安装完成后只需补一步权限。sudo usermod -aG input $USER安装过程已经创建了input组并配置好 uinput 权限加组后注销重新登录即可生效。如果连上了但游戏收不到输入先看日志中带[libvirtualhid]前缀的行在 Wayland 上若 seat 不是 seat0虚拟设备名会带上 seat 后缀docs/troubleshooting.md 给出了对应的 udev 规则写法。⚙️ 配置 gamepad 参数auto 自动选型与手动指定手柄类型由gamepad参数决定默认auto就能覆盖绝大多数场景只有游戏明确只认某款手柄时才需要手动指定。controller enabled gamepad auto可选值与对应的模拟设备取值模拟的手柄auto按客户端设备特征自动选择generic通用 HID 手柄x360 / xone / xseriesXbox 360 / One / Seriesds4 / ds5DualShock 4 / PS5switchSwitch Pro 手柄注意两点当gamepad_driver为vigembus时只有auto、x360、ds4可用这是 ViGEmBus 自身的能力上限controller参数控制是否允许客户端发送手柄输入默认enabled除非你只想要键鼠串流否则不要动它。参数详情见 docs/configuration.md。 微调自动选型motion_as_ds4 与 touchpad_as_ds4gamepad auto的判定由两个默认开启的开关驱动出现选错了手柄类型时改它们即可不必切到手动模式。motion_as_ds4默认 enabled客户端手柄上报运动传感器时按 PlayStation 系手柄模拟。touchpad_as_ds4默认 enabled客户端手柄带触控板时按 PlayStation 系手柄模拟。ds4_back_as_touchpad_click默认 enabled让 Select/Back 输入同时触发 PS 系触控板点击个别只认 XInput 的游戏可以关闭它。virtualhid_randomize_mac为 PlayStation 系虚拟手柄随机化 MAC 地址用于应对按 MAC 识别设备的场景。 故障排除页定位问题驱动、参数、权限三处对照虚拟手柄无反应时按驱动 → 参数 → 权限的顺序排查Web UI 的故障排除页能一次性给出前两项的状态。页面会显示 ViGEmBus 是否已安装、版本是否兼容以及 Virtual HID Broker 的驱动版本与授权状态未授权或版本过旧时驱动后端不会创建手柄节点。核对gamepad与gamepad_driver的取值是否符合预期vigembus 下确实只剩 x360/ds4 可选。Linux 上确认运行用户已在 input 组Sunshine 会把底层诊断以[libvirtualhid]前缀转发到日志报错信息会直接指向具体环节。虚拟手柄的实现集中在 src/platform/virtualhid_input.h 与 third-party/libvirtualhid/配置项清单以 docs/configuration.md 为准。按装驱动 → 配类型 → 看故障排除页这条路径走完没有实体手柄的设备就能作为串流输入使用。【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考