|
8 | 8 | <a href="https://www.paypal.com/donate?hosted_button_id=BWUECKFDNY446"><img src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif" alt="Donate Button"></a> |
9 | 9 | </p> |
10 | 10 |
|
11 | | -`xone` is a Linux kernel driver for Xbox One and Xbox Series X|S accessories. It serves as a modern replacement for `xpad`, aiming to be compatible with Microsoft's *Game Input Protocol* (GIP). |
12 | | - |
13 | | -## Compatibility |
14 | | - |
15 | | -- [x] Wired devices (via USB) |
16 | | -- [x] Wireless devices (with Xbox Wireless Dongle) |
17 | | -- [ ] Bluetooth devices (check out [`xpadneo`](https://github.com/atar-axis/xpadneo)) |
18 | | - |
19 | | -Installing `xone` will disable the `xpad` kernel driver. If you are still using Xbox or Xbox 360 peripherals, you will have to install [`xpad-noone`](https://github.com/medusalix/xpad-noone) as a replacement for `xpad`. |
20 | | - |
21 | | -## Important notes |
22 | | - |
23 | | -This driver is still in active development. Use at your own risk! |
24 | | -If you are running `xow` upgrading to `xone` is *highly recommended*! |
25 | | -Always update your Xbox devices to the latest firmware version! |
26 | | -**Any feedback including bug reports, suggestions or ideas is [*greatly appreciated*](https://discord.gg/FDQxwWk).** |
27 | | - |
28 | | -## Features |
29 | | - |
30 | | -- [x] Input and force feedback (rumble) |
31 | | -- [x] Battery reporting (`UPower` integration) |
32 | | -- [x] LED control (using `/sys/class/leds`) |
33 | | -- [x] Audio capture/playback (through `ALSA`) |
34 | | -- [x] Power management (suspend/resume and remote/wireless wakeup) |
35 | | - |
36 | | -## Supported devices |
37 | | - |
38 | | -- [x] Gamepads |
39 | | - - [x] Xbox One Controllers |
40 | | - - [x] Xbox Series X|S Controllers |
41 | | - - [x] Xbox Adaptive Controller |
42 | | - - [x] Third party controllers (PowerA, PDP, etc.) |
43 | | -- [x] Headsets |
44 | | - - [x] Xbox One Chat Headset |
45 | | - - [x] Xbox One Stereo Headset (adapter or jack) |
46 | | - - [x] Xbox Wireless Headset |
47 | | - - [x] Third party wireless headsets (SteelSeries, Razer, etc.) |
48 | | -- [x] Guitars & Drums |
49 | | - - [x] Mad Catz Rock Band 4 Wireless Fender Stratocaster |
50 | | - - [x] Mad Catz Rock Band 4 Wireless Drum Kit |
51 | | - - [x] PDP Rock Band 4 Wireless Fender Jaguar |
52 | | -- [x] Xbox One Chatpad |
53 | | -- [ ] Third party racing wheels (Thrustmaster, Logitech, etc.) |
54 | | - |
55 | | -## Releases |
56 | | - |
57 | | -[](https://repology.org/project/xone/versions) |
58 | | - |
59 | | -Feel free to package `xone` for any Linux distribution or hardware you like. |
60 | | -Any issues regarding the packaging should be reported to the respective maintainers. |
61 | | - |
62 | | -## Installation |
63 | | - |
64 | | -### Prerequisites |
65 | | - |
66 | | -- Linux (kernel 5.13+ and headers) |
67 | | -- DKMS |
68 | | -- curl (for firmware download) |
69 | | -- cabextract (for firmware extraction) |
70 | | - |
71 | | -### Guide |
72 | | - |
73 | | -1. Unplug your Xbox devices. |
74 | | - |
75 | | -2. Clone the repository: |
76 | | - |
77 | | -``` |
78 | | -git clone https://github.com/medusalix/xone |
79 | | -``` |
80 | | - |
81 | | -3. Install `xone`: |
82 | | - |
83 | | -``` |
84 | | -cd xone |
85 | | -sudo ./install.sh |
86 | | -``` |
87 | | - |
88 | | -**NOTE:** You can use the `--release` flag to disable debug logging. |
89 | | - |
90 | | -4. Download the firmware for the wireless dongle: |
91 | | - |
92 | | -``` |
93 | | -sudo xone-get-firmware.sh |
94 | | -``` |
95 | | - |
96 | | -**NOTE:** The `--skip-disclaimer` flag might be useful for scripting purposes. |
97 | | - |
98 | | -5. Plug in your Xbox devices. |
99 | | - |
100 | | -### Updating |
101 | | - |
102 | | -Make sure to completely uninstall `xone` before updating: |
103 | | - |
104 | | -``` |
105 | | -sudo ./uninstall.sh |
106 | | -``` |
107 | | - |
108 | | -## Wireless pairing |
109 | | - |
110 | | -Xbox devices have to be paired to the wireless dongle. They will not automatically connect to the dongle if they have been previously plugged into a USB port or used via Bluetooth. |
111 | | - |
112 | | -Instructions for pairing your devices can be found [here](https://support.xbox.com/en-US/help/hardware-network/controller/connect-xbox-wireless-controller-to-pc) (see the section on *Xbox Wireless*). |
113 | | - |
114 | | -## LED control |
115 | | - |
116 | | -The guide button LED can be controlled via `sysfs`: |
117 | | - |
118 | | -``` |
119 | | -echo 2 | sudo tee /sys/class/leds/gip*/mode |
120 | | -echo 5 | sudo tee /sys/class/leds/gip*/brightness |
121 | | -``` |
122 | | - |
123 | | -Changing the LED in the above way is temporary, it will only last until the device disconnects. To apply these settings automatically when a device connects, you can create a new `udev` rule in `/etc/udev/rules.d/50-xone.rules` with the following content: |
124 | | - |
125 | | -``` |
126 | | -ACTION=="add", SUBSYSTEM=="leds", KERNEL=="gip*", ATTR{mode}="2", ATTR{brightness}="5" |
127 | | -``` |
128 | | - |
129 | | -Replace the wildcard (`gip*`) if you want to control the LED of a specific device. |
130 | | -The modes and the maximum brightness can vary from device to device. |
131 | | - |
132 | | -## Troubleshooting |
133 | | - |
134 | | -Uninstall the release version and install a debug build of `xone` (see installation guide). |
135 | | -Run `sudo dmesg` to gather logs and check for any error messages related to `xone`. |
136 | | -If `xone` is not being loaded automatically you might have to reboot your system. |
137 | | - |
138 | | -### Error messages |
139 | | - |
140 | | -- `Direct firmware load for xow_dongle.bin failed with error -2` |
141 | | - - Download the firmware for the wireless dongle (see installation guide). |
142 | | - |
143 | | -### Input issues |
144 | | - |
145 | | -You can use `evtest` and `fftest` to check the input and force feedback functionality of your devices. |
146 | | - |
147 | | -### Other problems |
148 | | - |
149 | | -Please join the [Discord server](https://discord.gg/FDQxwWk) in case of any other problems. |
150 | | - |
151 | | -## License |
152 | | - |
153 | | -`xone` is released under the [GNU General Public License, Version 2](LICENSE). |
154 | | - |
155 | | -``` |
156 | | -Copyright (C) 2021 Severin von Wnuck-Lipinski |
157 | | -
|
158 | | -This program is free software; you can redistribute it and/or |
159 | | -modify it under the terms of the GNU General Public License |
160 | | -as published by the Free Software Foundation; either version 2 |
161 | | -of the License, or (at your option) any later version. |
162 | | -``` |
| 11 | +# This repository is no longer actively maintained; please use the [maintained fork](https://github.com/dlundqvist/xone).** |
0 commit comments