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

    Stratus XL works in ES menu, but not in game (trying XBOXDRV)

    Scheduled Pinned Locked Moved Help and Support
    controllerssteelseriesstratus xlerrorxboxdrv
    12 Posts 2 Posters 1.7k 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.
    • T
      TheBlueDragon
      last edited by

      My problem is that when using a SteelSeries Stratus XL, in RetroPie on Raspberry Pi 3B, it works in the menu, but not inside games. I then installed XboxDrv, and typed the following into /etc/rc.local :

      sudo systemctl enable /etc/systemd/system/connect-bluetooth.service sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/event3 --evdev-absmap ABS_RZ=y2,ABS_Z=x2,ABS_X=x1,ABS_Y=y1,ABS_HAT0Y=dpad_y,ABS_HAT0X=dpad_x --axismap -Y1=Y1,-Y2=Y2 --evdev-keymap BTN_NORTH=y,BTN_EAST=b,BTN_SOUTH=a,BTN_WEST=x,BTN_THUMBR=tr,BTN_THUMBL=tl,BTN_TL=lb,BTN_TR=rb,ABS_BRAKE=lt,ABS_GAS=rt,BTN_START=start,KEY_BACK=back -mimic-xpad --silent*
      

      However, when ever I ssh into the Pi via PuTTY, and input "sudo /etc/rc.local" I get:

      option requires an argument -- -mimic-xpad
       My IP address is [omitted for privacy issues]
      

      (ip address part is always part of /etc/rc.local/) Does anyone know how to fix this, and get XboxDrv to run, or how to fix the problem in general?
      Pi: 3b
      Psu: Standard MicroUSB charger
      Version: 4.4
      Built From: SD card image
      USB devices: HP USB keyboard
      Controller (w/ issue): SteelSeries Stratus XL
      Error: option requires an argument -- -mimic-xpad
      File: /etc/rc.local

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

        That's not the proper process to run a service on boot. Don't start systemd services from rc.local, you should just enable them with systemctld <service_name> enable and they'll start automatically.

        For your controller - try running the command first from an SSH session until your find the right parameters and arguments. Looking at your command, you mis-typed the --mimic-xpad option (only one -, it needs 2 --).
        Try to clear your rc.local file for now, then after a reboot try running from a SSH session

        sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/event3 --evdev-absmap ABS_RZ=y2,ABS_Z=x2,ABS_X=x1,ABS_Y=y1,ABS_HAT0Y=dpad_y,ABS_HAT0X=dpad_x --axismap -Y1=Y1,-Y2=Y2 --evdev-keymap BTN_NORTH=y,BTN_EAST=b,BTN_SOUTH=a,BTN_WEST=x,BTN_THUMBR=tr,BTN_THUMBL=tl,BTN_TL=lb,BTN_TR=rb,ABS_BRAKE=lt,ABS_GAS=rt,BTN_START=start,KEY_BACK=back --mimic-xpad --silent
        

        Note that /dev/input/event3 might change between reboots if you have multiple controllers, so look up the correct ID of controller before issuing the command with

        ls /dev/input/event*
        

        Once you find the right xboxdrv invocation, add it in /opt/retropie/configs/all/autostart.sh (before starting emulationstation) and not in /etc/rc.local.

        1 Reply Last reply Reply Quote 0
        • T
          TheBlueDragon
          last edited by

          @mitu Thank you for the code, I will try it out after deleting everything I added to rc.local (but keeping the original code), then pasting your code into it (after rebooting), then running it from ssh and seeing if my Stratus XL works in game now. Also, what is the xboxdrv invocation that you talk about, are you referring to:

          sudo systemctl enable /etc/systemd/system/connect-bluetooth.service
          
          mituM 1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator @TheBlueDragon
            last edited by mitu

            @TheBlueDragon No, I'm referring to the command line I've corrected (containing xboxdrv). The line you mentioned is meant to start the bluetooth service on the PI, but that's already started automatically so you don't need it.
            Btw, stackoverflow.com is not the right place for these kind of questions, there are dedicated stack sites for the Raspberry PI or normal user questions, but don't start spamming all the known forums at once with your question.

            T 1 Reply Last reply Reply Quote 0
            • T
              TheBlueDragon @mitu
              last edited by

              @mitu when i enter your code into rc.local, I get the following:

              error: 
              invalid argument '--evdev-keymap BTN_NORTH=y,BTN_EAST=b,BTN_SOUTH=a,BTN_WEST=x,BTN_THUMBR=tr,BTN_THUMBL=tl,BTN_TL=lb,BTN_TR=rb,ABS_BRAKE=lt,ABS_GAS=rt,BTN_START=start,KEY_BACK=back'
              str2key: couldn't convert string: 'ABS_BRAKE'
              My IP address is 192.168.2.34 192.168.2.178
              
              
              
              1 Reply Last reply Reply Quote 0
              • T
                TheBlueDragon
                last edited by

                I fixed this problem by moving the ABS_[] buttons to the other argument. I then proceeded to delte the code from rc.local and add it to autostart.sh. Now, how do I get games to read the new event, event4, which is the virtual XBOX 360 controller, instead of event3, which is the input from the Stratus XL.

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

                  @TheBlueDragon Try using the --detach-kernel-driver argument to xboxdrv.

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    TheBlueDragon
                    last edited by

                    Ok, I will add the argument that you suggested to the code that's inside the autostart.sh, and see if that works.

                    1 Reply Last reply Reply Quote 0
                    • T
                      TheBlueDragon @mitu
                      last edited by

                      @mitu Didn't work, unfortunately. Anyone else got any other suggestions?

                      1 Reply Last reply Reply Quote 0
                      • T
                        TheBlueDragon
                        last edited by

                        I solved my problem by getting rid of the Stratus XL, lol. I got a Xbox controller to use with my Pi instead. With a little bit of configuring in the Retroarch menu, I was able to get it to work perfectly, at least with the SNES emulator. I am a bit disappointed that Retropie and Retroarch reads the Bluetooth and wired connections as different controllers.

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

                          @TheBlueDragon said in Stratus XL works in ES menu, but not in game (trying XBOXDRV):

                          I am a bit disappointed that Retropie and Retroarch reads the Bluetooth and wired connections as different controllers.

                          Actually, that part is up to the operating system (the driver) and the device itself, RetroArch just reads what the OS detects. Moreover, controllers often identify to the OS differently when connected via wireless vs. connected via wired - and they also have different button mappings. So there's nothing that RA or RetroPie can do about it.

                          T 1 Reply Last reply Reply Quote 0
                          • T
                            TheBlueDragon @mitu
                            last edited by

                            @mitu Oh my bad, sorry. You can tell I'm a mega-noob because I have a default profile picture 😁

                            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.