Steelseries Stratus XL
-
Hi
I am trying to get the controller working with Retropie on a Raspi4
Everything works, except the "select" button, and the button between the 2 knobs (marked with a "o")Is there a fix for that
thx a lot
-
Hello
I have the same issue with SteelSeries Stratus XLevtest shows me
/dev/input/event3: SteelSeries Stratus XL Keyboard /dev/input/event4: SteelSeries Stratus XL Mouse /dev/input/event5: SteelSeries Stratus XL /dev/input/event6: SteelSeries Stratus XL
KEY_BACK and KEY_HOMEPAGE available in
dev/input/event3: SteelSeries Stratus XL KeyboardAll other buttons are available in
/dev/input/event5: SteelSeries Stratus XLIs there a fix for that?
-
No, there is not fix since the gamepad has it's own (Windows) drivers and it's reporting the Select/Guide buttons as keyboard keys.
You may try to re-map the keys to buttons withxboxdrv
, similar to how it's explained here.xboxdrv
is installable from RetroPie-Setup's drivers section and can be configured to remap your gampad - see https://retropie.org.uk/docs/Universal-Controller-Calibration-%26-Mapping-Using-xboxdrv/.Or you could get a compatible gamepad which doesn't need proprietary drivers to function.
-
I did some analysis between kernel versions ...
Linux <hostname> 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
and
Linux <hostname> 5.4.0-167-generic #184-Ubuntu SMP Tue Oct 31 09:21:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
In kernel version 5.4.0 evtest shows 4 events
/dev/input/event0: SteelSeries Stratus XL Keyboard /dev/input/event1: SteelSeries Stratus XL Mouse /dev/input/event2: SteelSeries Stratus XL /dev/input/event3: SteelSeries Stratus XL
in kernel version 4.15.0 evtest shows only 1 event!
/dev/input/event0: SteelSeries Stratus XL
Theres is a difference in source of hid-generic.c.
I made my own kernel module hid-stratusxl.c
After compiling it and loading it, only one event device will be shown in retropie.All buttons can be setup in emulationstation successfully!
Input device ID: bus 0x5 vendor 0x111 product 0x1419 version 0x109 Input device name: "SteelSeries Stratus XL" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 139 (KEY_MENU) Event code 158 (KEY_BACK) Event code 172 (KEY_HOMEPAGE) Event code 272 (BTN_LEFT) Event code 273 (BTN_RIGHT) Event code 274 (BTN_MIDDLE) Event code 275 (BTN_SIDE) Event code 276 (BTN_EXTRA) Event code 304 (BTN_SOUTH) Event code 305 (BTN_EAST) Event code 306 (BTN_C) Event code 307 (BTN_NORTH) Event code 308 (BTN_WEST) Event code 309 (BTN_Z) Event code 310 (BTN_TL) Event code 311 (BTN_TR) Event code 312 (BTN_TL2) Event code 313 (BTN_TR2) Event code 314 (BTN_SELECT) Event code 315 (BTN_START) Event code 316 (BTN_MODE) Event code 317 (BTN_THUMBL) Event code 318 (BTN_THUMBR) Event code 319 (?) Event type 2 (EV_REL) Event code 0 (REL_X) Event code 1 (REL_Y) Event code 8 (REL_WHEEL) Event code 11 (?) Event type 3 (EV_ABS) Event code 0 (ABS_X) Value 0 Min -2047 Max 2047 Flat 255 Event code 1 (ABS_Y) Value 0 Min -2047 Max 2047 Flat 255 Event code 2 (ABS_Z) Value 0 Min -2047 Max 2047 Fuzz 15 Flat 255 Event code 5 (ABS_RZ) Value 0 Min -2047 Max 2047 Fuzz 15 Flat 255 Resolution 745 Event code 9 (ABS_GAS) Value 0 Min 0 Max 4095 Fuzz 15 Flat 255 Event code 10 (ABS_BRAKE) Value 0 Min 0 Max 4095 Fuzz 15 Flat 255 Event code 16 (ABS_HAT0X) Value 0 Min -1 Max 1 Event code 17 (ABS_HAT0Y) Value 0 Min -1 Max 1 Event code 40 (ABS_MISC) Value 0 Min 0 Max 255 Event type 4 (EV_MSC) Event code 4 (MSC_SCAN) Event type 17 (EV_LED) Event code 0 (LED_NUML) state 0 Event code 1 (LED_CAPSL) state 0 Event code 2 (LED_SCROLLL) state 0 Event code 3 (LED_COMPOSE) state 0 Properties: Testing ... (interrupt to exit)
-
Hello
I implemented a driver for SteelSeries Stratus XL gamepad.
You can find the implementation in my Github repository:
https://github.com/luksi1234/stratusxlThis driver will map
KEY_BACK to BTN_SELECT
KEY_HOMEPAGE to BTN_MENUInput driver version is 1.0.1 Input device ID: bus 0x5 vendor 0x111 product 0x1419 version 0x109 Input device name: "SteelSeries Stratus XL" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 304 (BTN_SOUTH) Event code 305 (BTN_EAST) Event code 306 (BTN_C) Event code 307 (BTN_NORTH) Event code 308 (BTN_WEST) Event code 309 (BTN_Z) Event code 310 (BTN_TL) Event code 311 (BTN_TR) Event code 312 (BTN_TL2) Event code 313 (BTN_TR2) Event code 314 (BTN_SELECT) Event code 315 (BTN_START) Event code 316 (BTN_MODE) Event code 317 (BTN_THUMBL) Event code 318 (BTN_THUMBR) Event code 319 (?) Event type 3 (EV_ABS) Event code 0 (ABS_X) Value 0 Min -2047 Max 2047 Flat 255 Event code 1 (ABS_Y) Value 0 Min -2047 Max 2047 Flat 255 Event code 2 (ABS_Z) Value 0 Min -2047 Max 2047 Fuzz 15 Flat 255 Event code 5 (ABS_RZ) Value 0 Min -2047 Max 2047 Fuzz 15 Flat 255 Resolution 745 Event code 9 (ABS_GAS) Value 0 Min 0 Max 4095 Fuzz 15 Flat 255 Event code 10 (ABS_BRAKE) Value 0 Min 0 Max 4095 Fuzz 15 Flat 255 Event code 16 (ABS_HAT0X) Value 0 Min -1 Max 1 Event code 17 (ABS_HAT0Y) Value 0 Min -1 Max 1 Event type 4 (EV_MSC) Event code 4 (MSC_SCAN) Event type 17 (EV_LED) Event code 0 (LED_NUML) state 0 Event code 1 (LED_CAPSL) state 0 Event code 2 (LED_SCROLLL) state 0 Event code 3 (LED_COMPOSE) state 0
Installation:
Exceute in command line:
wget -O - https://github.com/luksi1234/hid-stratusxl/raw/main/install/retropie_install.sh | bash
Afterwards you should be able to install driver with Retropie Setup GUI.
-> Manage packages -> Manage driver packages -> stratusxl -> Install from sourceIf anything works fine, you should be able to use all buttons in emulationstation. ;-)
Give it a try
If you find any issued, please let me know.
I would be very happy to receive feedback.
Thank you.
-
@preslmayer said in Steelseries Stratus XL:
Hello
I implemented a driver for SteelSeries Stratus XL gamepad.
You can find the implementation in my Github repository:
https://github.com/luksi1234/stratusxlThis driver will map
KEY_BACK to BTN_SELECT
KEY_HOMEPAGE to BTN_MENUInput driver version is 1.0.1 Input device ID: bus 0x5 vendor 0x111 product 0x1419 version 0x109 Input device name: "SteelSeries Stratus XL" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 304 (BTN_SOUTH) Event code 305 (BTN_EAST) Event code 306 (BTN_C) Event code 307 (BTN_NORTH) Event code 308 (BTN_WEST) Event code 309 (BTN_Z) Event code 310 (BTN_TL) Event code 311 (BTN_TR) Event code 312 (BTN_TL2) Event code 313 (BTN_TR2) Event code 314 (BTN_SELECT) Event code 315 (BTN_START) Event code 316 (BTN_MODE) Event code 317 (BTN_THUMBL) Event code 318 (BTN_THUMBR) Event code 319 (?) Event type 3 (EV_ABS) Event code 0 (ABS_X) Value 0 Min -2047 Max 2047 Flat 255 Event code 1 (ABS_Y) Value 0 Min -2047 Max 2047 Flat 255 Event code 2 (ABS_Z) Value 0 Min -2047 Max 2047 Fuzz 15 Flat 255 Event code 5 (ABS_RZ) Value 0 Min -2047 Max 2047 Fuzz 15 Flat 255 Resolution 745 Event code 9 (ABS_GAS) Value 0 Min 0 Max 4095 Fuzz 15 Flat 255 Event code 10 (ABS_BRAKE) Value 0 Min 0 Max 4095 Fuzz 15 Flat 255 Event code 16 (ABS_HAT0X) Value 0 Min -1 Max 1 Event code 17 (ABS_HAT0Y) Value 0 Min -1 Max 1 Event type 4 (EV_MSC) Event code 4 (MSC_SCAN) Event type 17 (EV_LED) Event code 0 (LED_NUML) state 0 Event code 1 (LED_CAPSL) state 0 Event code 2 (LED_SCROLLL) state 0 Event code 3 (LED_COMPOSE) state 0
Installation:
Exceute in command line:
wget -O - https://github.com/luksi1234/hid-stratusxl/raw/main/install/retropie_install.sh | bash
Afterwards you should be able to install driver with Retropie Setup GUI.
-> Manage packages -> Manage driver packages -> stratusxl -> Install from sourceIf anything works fine, you should be able to use all buttons in emulationstation. ;-)
Give it a try
If you find any issued, please let me know.
I would be very happy to receive feedback.
Thank you.
Thank you for this! I have managed to get it installed and "working" in that it now picks up the select and menu buttons ... most of the time .... but I'm also getting phantom button presses happening that seem quite random. I'm going to try see if I can figure out why.
-
Okay, the phantom button presses are completely unrelated to to the new driver. I'm able to reproduce the issue with a 2nd Steelseries Stratus XL on a Arch machine with the generic driver. It seems like once a trigger is pressed, it starts continually sending its current state with minor variations of the value for ABS_BRAKE.
-
@SilverCode
Hello.
Thanks for you feedback.
This issue is not related to the driver as this is happening in generic driver too. I had the same issue with ABS_GAS. The potentiometer is drifting.I was able to solve it with a hardware fix using ElecGear Joystick Drift Fix repair-kit:
https://www.amazon.de/ElecGear-Reparaturkit-Controller-Leiterplatte-Thumbsticks
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.