RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Steelseries Stratus XL

    Scheduled Pinned Locked Moved Help and Support
    stratus xl
    8 Posts 4 Posters 458 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      BugDroid
      last edited by

      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

      1 Reply Last reply Reply Quote 0
      • P
        preslmayer
        last edited by preslmayer

        Hello
        I have the same issue with SteelSeries Stratus XL

        evtest 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 Keyboard

        All other buttons are available in
        /dev/input/event5: SteelSeries Stratus XL

        Is there a fix for that?

        1 Reply Last reply Reply Quote 0
        • mituM
          mitu Global Moderator
          last edited by

          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 with xboxdrv, 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.

          1 Reply Last reply Reply Quote 0
          • P
            preslmayer
            last edited by preslmayer

            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)
            
            1 Reply Last reply Reply Quote 0
            • P
              preslmayer
              last edited by

              Hello

              I implemented a driver for SteelSeries Stratus XL gamepad.
              You can find the implementation in my Github repository:
              https://github.com/luksi1234/stratusxl

              This driver will map
              KEY_BACK to BTN_SELECT
              KEY_HOMEPAGE to BTN_MENU

              Input 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 source

              If 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.

              S 1 Reply Last reply Reply Quote 1
              • S
                SilverCode @preslmayer
                last edited by

                @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/stratusxl

                This driver will map
                KEY_BACK to BTN_SELECT
                KEY_HOMEPAGE to BTN_MENU

                Input 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 source

                If 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.

                S 1 Reply Last reply Reply Quote 0
                • S
                  SilverCode @SilverCode
                  last edited by

                  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.

                  P 1 Reply Last reply Reply Quote 0
                  • P
                    preslmayer @SilverCode
                    last edited by

                    @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

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post

                    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.