游戏手柄支持
Linux 对主流游戏手柄提供了良好的支持。本文介绍如何在 Ubuntu 26.04 上使用 Xbox、PlayStation 和 Nintendo Switch 手柄。
基础环境
Ubuntu 26.04 内核已内置大部分手柄驱动。确保系统已安装必要组件:
sudo apt install joystick jstest-gtk -y检测手柄
连接手柄后,检查是否被系统识别:
# 查看输入设备
ls /dev/input/js*
cat /proc/bus/input/devices | grep -A 5 "Gamepad\|Controller\|Joystick"
# 使用 evtest 查看详细信息
sudo apt install evtest -y
sudo evtest图形化测试工具
# jstest-gtk 图形化手柄测试
jstest-gtk
# 或使用命令行测试
jstest /dev/input/js0Xbox 手柄
Xbox 有线手柄
Xbox 360 和 Xbox One/Series 有线手柄在 Linux 上开箱即用:
# 内核驱动 xpad 已默认加载
lsmod | grep xpad插入 USB 线即可使用。
Xbox 无线手柄(蓝牙)
Xbox Series 手柄支持蓝牙连接:
- 长按手柄上的配对按钮(手柄顶部的小按钮)
- 打开 Ubuntu 设置 > 蓝牙
- 搜索并连接 Xbox Wireless Controller
Xbox 无线适配器
使用 Xbox 官方无线适配器需要安装 xone 驱动:
# 安装依赖
sudo apt install dkms cabextract -y
# 克隆并安装 xone
git clone https://github.com/medusalix/xone
cd xone
sudo ./install.sh
# 下载固件
sudo xone-get-firmware.shxpadneo(增强的蓝牙驱动)
xpadneo 为 Xbox 手柄的蓝牙连接提供更好的支持(震动、电量显示等):
sudo apt install dkms -y
git clone https://github.com/atar-axis/xpadneo.git
cd xpadneo
sudo ./install.shPlayStation 手柄
PS4 手柄(DualShock 4)
USB 连接
直接插入 USB 线即可使用,无需额外驱动。
蓝牙连接
- 同时按住手柄的 Share 和 PS 按钮直到灯条快速闪烁
- 在 Ubuntu 蓝牙设置中搜索并配对 Wireless Controller
PS5 手柄(DualSense)
USB 连接
Linux 内核 5.12+ 已内置 DualSense 驱动,Ubuntu 26.04 完全支持。
蓝牙连接
- 关闭手柄电源
- 同时按住 Create 和 PS 按钮直到灯条快速闪烁
- 在蓝牙设置中配对
高级功能
DualSense 的自适应扳机和触觉反馈在 Steam 中有部分支持。使用 dualsensectl 工具可以控制更多功能:
# 安装 dualsensectl
sudo apt install dualsensectl -y
# 设置灯条颜色
dualsensectl lightbar 0 0 255
# 查看电量
dualsensectl battery
# 设置麦克风 LED
dualsensectl microphone-led onPS3 手柄(DualShock 3)
# 通过 USB 连接后使用蓝牙
sudo apt install bluez-plugins bluez-tools -y
# PS3 手柄需要特殊配对流程
# 先通过 USB 连接,然后拔掉即可使用蓝牙Nintendo Switch 手柄
Switch Pro 手柄
USB 连接
直接插入即可使用。
蓝牙连接
- 长按手柄背面的配对按钮
- 在蓝牙设置中搜索并配对 Pro Controller
Joy-Con
Joy-Con 可以通过蓝牙连接,但需要 joycond 守护进程来正确合并左右 Joy-Con。Ubuntu 仓库未提供该包,需从源码编译安装(作者 DanielOgorchock):
# 安装构建依赖
sudo apt install build-essential cmake libevdev-dev libudev-dev -y
# 从源码编译安装
git clone https://github.com/DanielOgorchock/joycond.git
cd joycond
cmake -B build
cmake --build build
sudo cmake --install build
sudo systemctl enable --now joycond连接步骤:
- 长按 Joy-Con 侧面的配对按钮
- 分别配对左右 Joy-Con
- joycond 会自动将它们合并为一个手柄
Steam 手柄配置
Steam 内置了强大的手柄配置工具 Steam Input,支持几乎所有手柄:
- 打开 Steam > 设置 > 控制器
- 启用对应手柄类型的支持
- 进入游戏后按 Steam 键打开手柄配置界面
Steam 控制器支持的权限配置
# 安装 Steam 的 udev 规则(通常随 Steam 一起安装)
sudo apt install steam-devices -y
# 或手动添加权限
sudo usermod -aG input $USERAntiMicroX(手柄映射键盘)
对于不支持手柄的游戏,可以将手柄按键映射为键盘输入:
flatpak install flathub io.github.antimicrox.antimicrox -y
flatpak run io.github.antimicrox.antimicrox手柄校准
# 使用 jstest-gtk 图形化校准
jstest-gtk
# 命令行校准
jscal /dev/input/js0常见问题
手柄无法识别
# 检查 USB 设备
lsusb
# 检查内核消息
dmesg | tail -20
# 重新加载驱动
sudo modprobe -r xpad && sudo modprobe xpad蓝牙连接不稳定
# 重启蓝牙服务
sudo systemctl restart bluetooth
# 删除配对重新连接
bluetoothctl
# 在 bluetoothctl 中:
# remove <MAC地址>
# scan on
# pair <MAC地址>
# connect <MAC地址>
# trust <MAC地址>手柄延迟高
蓝牙连接可能有较高延迟,对于竞技游戏建议使用 USB 有线连接。
| 手柄 | USB | 蓝牙 | 备注 |
|---|---|---|---|
| Xbox Series | 即插即用 | 支持 | 无线适配器需 xone |
| DualShock 4 | 即插即用 | 支持 | 完整支持 |
| DualSense | 即插即用 | 支持 | 高级功能部分支持 |
| Switch Pro | 即插即用 | 支持 | 完整支持 |
| Joy-Con | - | 支持 | 需要 joycond |
Ubuntu 26.04 对主流手柄的支持已经相当成熟,大多数情况下即插即用。
Last updated on