# Arch Linux 使用 Xbox 手柄


## Arch Linux 下 Xbox 手柄连接指南

在 Arch Linux 下，Xbox 手柄主要有三种连接方式，**请根据你的连接方式选择对应的驱动方案**：

| 连接方式       | 推荐驱动  | 适用范围                               |
| :------------- | :-------- | :------------------------------------- |
| **USB 有线**   | `xpad`    | 内核自带，即插即用，无需额外安装。     |
| **蓝牙**       | `xpadneo` | Xbox One S / Series X \| S / Elite 2。 |
| **无线适配器** | `xone`    | 微软官方 USB 无线接收器。              |

## 1. USB 有线连接

有线模式最省事，Arch 官方内核已自带 `xpad` 模块，通常插上即用。

**排查步骤：**

1.  **检查驱动是否存在**

    ```bash
    modinfo xpad
    ```

    若有输出详情，说明驱动已存在；若无输出，请检查是否使用了精简版内核。

2.  **检查驱动是否加载**

    ```bash
    lsmod | grep '^xpad\b'
    ```

    若无输出，手动加载驱动：

    ```bash
    sudo modprobe xpad
    ```

3.  **检查是否被禁用**
    若重启后失效，检查配置文件：
    - `/etc/modprobe.d/*.conf`
    - `/usr/lib/modprobe.d/*.conf`

    若发现 `blacklist xpad`，请将其注释掉（行首加 `#`），然后重新加载驱动。

    如果安装了 xone，那么被禁用是正常的，不需要取消禁用。

## 2. 蓝牙连接

蓝牙连接推荐使用 `xpadneo` 驱动。相比内核默认方案，它在电量显示、震动反馈和按键映射上支持更完善。

**适用型号：** Xbox One S、Xbox Series X|S、部分 Elite Series 2。

**安装步骤：**

1.  **安装依赖**：确保安装了当前内核对应的 Headers（如 `linux-headers`）。
2.  **安装驱动**：
    ```bash
    yay -S xpadneo-dkms  # 或使用其他 AUR 助手
    ```
3.  **重启服务**：
    ```bash
    sudo systemctl restart bluetooth.service
    ```
4.  **配对连接**：按住手柄配对键进入配对模式，通过桌面环境设置或 `bluetoothctl` 完成连接。

**常见问题：**
若遇到**配对失败、连接后秒断或频繁重连**，通常是手柄固件过旧导致。建议前往 Windows 系统使用 `Xbox Accessories` 应用更新手柄固件。

## 3. 无线适配器连接

如果你使用微软官方 Xbox Wireless Adapter（USB 接收器），应使用 `xone` 驱动。

> **注意**：`xone` 会接管设备并禁用 `xpad`，防止驱动冲突，它同时支持适配器无线连接和有线连接。

**安装步骤：**

1.  **安装依赖**：确保安装了当前内核对应的 Headers。
2.  **安装驱动与固件**：
    ```bash
    yay -S xone-dkms xone-dongle-firmware
    ```
3.  **重启系统**：根据 ArchWiki 说明，安装后需重启才能正确加载固件并接管设备。

重启后插入适配器即可连接。若出现延迟或手感异常，建议先更新手柄固件。

## 参考资料

- **ArchWiki**: [Gamepad - Xbox Wireless Controller](https://wiki.archlinux.org/title/Gamepad#Xbox_Wireless_Controller_/_Xbox_One_Wireless_Controller)
- **xpadneo (蓝牙)**: [GitHub](https://github.com/atar-axis/xpadneo)
- **xone (适配器)**: [GitHub](https://github.com/dlundqvist/xone)


---

> 作者: Nite  
> URL: https://www.nite07.com/zh-cn/posts/linux-xbox-controller/  

