Controllers not working in-game [Pi 3B+]
-
@Pepper said in Controllers not working in-game [Pi 3B+]:
In emulation station at first boot. did you use the keyboard for the controller setup? does your controller work in emulation station?
Yes. I've configured it several times now trying to get it to work, sometimes with select mapped, sometimes with hotkey button mapped (to the 'select' button). I have to make a choice in that regard, as the controllers only have so many buttons. I can use Emulation Station (the 'main menu' so to speak) just fine. Controllers work there. It's only in the games themselves that they just refuse to work for whatever reason, and I'm forced to unplug the Pi.
EDIT: And like I said in the OP, I used USB cables for the two controllers I tried.
-
@FuerDrauka said in Controllers not working in-game [Pi 3B+]:
The logs for Retropie are not stored in the Boot directory (which is only like 60MB big) of the Micro SD card, right? I can only view that on my Windows computer, it won't show any other partition, so I can't access any error logs, just FYI. So yeah, there is no practical way for me to see them. I'm not a regular user of Linux, I'm a Windows person.
The RetroPie (actually Raspbian Linux) is on the 2nd sdcard partition, which is unreadable by Windows. You can only see the boot files from your Windows PC (1st partition) on the card. In order to access the system and see all the files, you can use WinSCP to connect over the network to your PI.
-
@mitu said in Controllers not working in-game [Pi 3B+]:
@FuerDrauka said in Controllers not working in-game [Pi 3B+]:
The logs for Retropie are not stored in the Boot directory (which is only like 60MB big) of the Micro SD card, right? I can only view that on my Windows computer, it won't show any other partition, so I can't access any error logs, just FYI. So yeah, there is no practical way for me to see them. I'm not a regular user of Linux, I'm a Windows person.
The RetroPie (actually Raspbian Linux) is on the 2nd sdcard partition, which is unreadable by Windows. You can only see the boot files from your Windows PC (1st partition) on the card. In order to access the system and see all the files, you can use WinSCP to connect over the network to your PI.
Dang, it didn't even occur to me to use my FTP access to view the logs. I'm not in the habit of using FTP, actually. Before the Retropie I think I used FTP at one point for some reason or another, years ago. It's not something I habitually do.
-
Can you use the hot key and square on a ps4 controller to get into retroarch? the emulator may need retropad enabled. or go into retroarch from emulation station select controls and see if the top option says retropad.
-
@Pepper said in Controllers not working in-game [Pi 3B+]:
Can you use the hot key and square on a ps4 controller to get into retroarch? the emulator may need retropad enabled
Like I said, it doesn't work at all in game. The bit of green text shows up on booting the game that seems to indicate it's detected and working, except it doesn't.
Also, Retroarch has this very same problem. I tried going into it from Emulation Station and had the exact same problem as with the games, it wouldn't detect my button presses whatsoever. KB didn't work either.
-
I'm at a loss at this point, sorry i couldn't be more helpful. best of luck. there are some great minds here. I'm sure you will get this sorted out.
-
@mitu Odd, my dev/shm directory appears empty?
Only Logs I have that might be relevant are EmulationStation?
lvl2: EmulationStation - v2.7.5rp, built Feb 27 2018 - 18:11:47 lvl2: Creating surface... lvl2: Created window successfully. lvl2: Added known joystick Sony Computer Entertainment Wireless Controller (instance ID: 0, device index: 0) lvl2: Added known joystick Sony Computer Entertainment Wireless Controller Motion Sensors (instance ID: 1, device index: 1) lvl2: Checking available OpenGL extensions... lvl2: ARB_texture_non_power_of_two: MISSING lvl2: Loading system config file /etc/emulationstation/es_systems.cfg... lvl1: Warning from theme "/etc/emulationstation/themes/carbon/amstradcpc/theme.xml" (from included file "/etc/emulationstation/themes/carbon/amstradcpc/../carbon.xml") could not find file "" lvl1: System "amstradcpc" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/arcade/theme.xml" (from included file "/etc/emulationstation/themes/carbon/arcade/../carbon.xml") could not find file "" lvl1: System "arcade" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/atari2600/theme.xml" (from included file "/etc/emulationstation/themes/carbon/atari2600/../carbon.xml") could not find file "" lvl1: System "atari2600" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/atari5200/theme.xml" (from included file "/etc/emulationstation/themes/carbon/atari5200/../carbon.xml") could not find file "" lvl1: System "atari5200" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/atari7800/theme.xml" (from included file "/etc/emulationstation/themes/carbon/atari7800/../carbon.xml") could not find file "" lvl1: System "atari7800" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/atari800/theme.xml" (from included file "/etc/emulationstation/themes/carbon/atari800/../carbon.xml") could not find file "" lvl1: System "atari800" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/atarilynx/theme.xml" (from included file "/etc/emulationstation/themes/carbon/atarilynx/../carbon.xml") could not find file "" lvl1: System "atarilynx" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/dreamcast/theme.xml" (from included file "/etc/emulationstation/themes/carbon/dreamcast/../carbon.xml") could not find file "" lvl1: Warning from theme "/etc/emulationstation/themes/carbon/fba/theme.xml" (from included file "/etc/emulationstation/themes/carbon/fba/../carbon.xml") could not find file "" lvl1: System "fba" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/fds/theme.xml" (from included file "/etc/emulationstation/themes/carbon/fds/../carbon.xml") could not find file "" lvl1: System "fds" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/gamegear/theme.xml" (from included file "/etc/emulationstation/themes/carbon/gamegear/../carbon.xml") could not find file "" lvl1: System "gamegear" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/gb/theme.xml" (from included file "/etc/emulationstation/themes/carbon/gb/../carbon.xml") could not find file "" lvl1: System "gb" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/gba/theme.xml" (from included file "/etc/emulationstation/themes/carbon/gba/../carbon.xml") could not find file "" lvl1: System "gba" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/gbc/theme.xml" (from included file "/etc/emulationstation/themes/carbon/gbc/../carbon.xml") could not find file "" lvl1: System "gbc" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/mame/theme.xml" (from included file "/etc/emulationstation/themes/carbon/mame/../carbon.xml") could not find file "" lvl1: System "mame-libretro" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/mame/theme.xml" (from included file "/etc/emulationstation/themes/carbon/mame/../carbon.xml") could not find file "" lvl1: System "mame-mame4all" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/mastersystem/theme.xml" (from included file "/etc/emulationstation/themes/carbon/mastersystem/../carbon.xml") could not find file "" lvl1: System "mastersystem" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/megadrive/theme.xml" (from included file "/etc/emulationstation/themes/carbon/megadrive/../carbon.xml") could not find file "" lvl1: Warning from theme "/etc/emulationstation/themes/carbon/n64/theme.xml" (from included file "/etc/emulationstation/themes/carbon/n64/../carbon.xml") could not find file "" lvl1: System "n64" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/neogeo/theme.xml" (from included file "/etc/emulationstation/themes/carbon/neogeo/../carbon.xml") could not find file "" lvl1: System "neogeo" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/nes/theme.xml" (from included file "/etc/emulationstation/themes/carbon/nes/../carbon.xml") could not find file "" lvl1: System "nes" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/ngp/theme.xml" (from included file "/etc/emulationstation/themes/carbon/ngp/../carbon.xml") could not find file "" lvl1: System "ngp" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/ngpc/theme.xml" (from included file "/etc/emulationstation/themes/carbon/ngpc/../carbon.xml") could not find file "" lvl1: System "ngpc" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/pcengine/theme.xml" (from included file "/etc/emulationstation/themes/carbon/pcengine/../carbon.xml") could not find file "" lvl1: System "pcengine" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/psx/theme.xml" (from included file "/etc/emulationstation/themes/carbon/psx/../carbon.xml") could not find file "" lvl2: Parsing XML file "/home/pi/.emulationstation/gamelists/retropie/gamelist.xml"... lvl1: Warning from theme "/etc/emulationstation/themes/carbon/retropie/theme.xml" (from included file "/etc/emulationstation/themes/carbon/retropie/../carbon.xml") could not find file "" lvl1: Warning from theme "/etc/emulationstation/themes/carbon/sega32x/theme.xml" (from included file "/etc/emulationstation/themes/carbon/sega32x/../carbon.xml") could not find file "" lvl1: System "sega32x" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/segacd/theme.xml" (from included file "/etc/emulationstation/themes/carbon/segacd/../carbon.xml") could not find file "" lvl1: System "segacd" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/sg-1000/theme.xml" (from included file "/etc/emulationstation/themes/carbon/sg-1000/../carbon.xml") could not find file "" lvl1: System "sg-1000" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/snes/theme.xml" (from included file "/etc/emulationstation/themes/carbon/snes/../carbon.xml") could not find file "" lvl1: Warning from theme "/etc/emulationstation/themes/carbon/vectrex/theme.xml" (from included file "/etc/emulationstation/themes/carbon/vectrex/../carbon.xml") could not find file "" lvl1: System "vectrex" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/zxspectrum/theme.xml" (from included file "/etc/emulationstation/themes/carbon/zxspectrum/../carbon.xml") could not find file "" lvl1: System "zxspectrum" has no games! Ignoring it. lvl1: Warning from theme "/etc/emulationstation/themes/carbon/auto-allgames/theme.xml" (from included file "/etc/emulationstation/themes/carbon/auto-allgames/../carbon.xml") could not find file "" lvl1: Warning from theme "/etc/emulationstation/themes/carbon/auto-favorites/theme.xml" (from included file "/etc/emulationstation/themes/carbon/auto-favorites/../carbon.xml") could not find file "" lvl1: Warning from theme "/etc/emulationstation/themes/carbon/auto-lastplayed/theme.xml" (from included file "/etc/emulationstation/themes/carbon/auto-lastplayed/../carbon.xml") could not find file "" lvl1: Warning from theme "/etc/emulationstation/themes/carbon/custom-collections/theme.xml" (from included file "/etc/emulationstation/themes/carbon/custom-collections/../carbon.xml") could not find file ""
I don't think it's any good though, it just seems to be looking into game directories to determine if there are games in said directories. So yeah, the lack of logs for the /dev/shm directory is pretty problematic, as it can't be analyzed to determine the problem I'm having....
@Pepper Eh, no worries. Hopefully it'll turn out to be something as simple as changing an option somewhere or other.
-
it usually is... think Occam's Razor. quick note is have you tried /opt/retropie/configs/all/retroarch-joypads/Gamepad.cfg post that code block to see how your game pad is setup.
-
@Pepper said in Controllers not working in-game [Pi 3B+]:
it usually is... think Occam's Razor. quick note is have you tried /opt/retropie/configs/all/retroarch-joypads/Gamepad.cfg post that code block to see how your game pad is setup.
Oddly, it's only showing my Xbox 1 S controller?
input_device = "Microsoft X-Box One S pad" input_driver = "udev" input_r_y_plus_axis = "+3" input_r_x_minus_axis = "-2" input_l_btn = "4" input_load_state_btn = "4" input_start_btn = "9" input_exit_emulator_btn = "9" input_r_y_minus_axis = "-3" input_down_btn = "h0down" input_l_x_plus_axis = "+0" input_r_btn = "5" input_save_state_btn = "5" input_right_btn = "h0right" input_state_slot_increase_btn = "h0right" input_select_btn = "8" input_left_btn = "h0left" input_state_slot_decrease_btn = "h0left" input_l2_btn = "6" input_l3_btn = "11" input_l_y_minus_axis = "-1" input_up_btn = "h0up" input_a_btn = "0" input_b_btn = "1" input_reset_btn = "1" input_enable_hotkey_btn = "10" input_l_y_plus_axis = "+1" input_r2_btn = "7" input_r3_btn = "12" input_x_btn = "2" input_menu_toggle_btn = "2" input_l_x_minus_axis = "-0" input_y_btn = "3" input_r_x_plus_axis = "+2"
-
try changing the input driver from udev to xpad, (only when it says xbox one controller) reboot and try again if that fails to work set it back to udev so that others can see any issues from the original setup. also maybe try and enabling the xpad driver. Manage Packages >> Manage Driver Packages >> Xpad Driver, this should be enabled by default but you never know. sounds silly but have you tried unplugging all controllers but one?
-
Also i found this:
Try assigning your controllers. With all desired gamepads plugged in, from EmulationStation's main menu, go to:"RetroPie" >
"RetroPie Setup" >
"Configuration / Tools" >
"805: configedit" >
"Configure basic libretro emulator options" > At this point, you can either ...
"Configure default options for all libretro emulators" OR
"Configure configure additional options for [EMULATOR NAME HERE]" In both cases ... go to
"Choose joypad order" and set which ever connected gamepads as player 1-4
MIght be that the 2 controllers are assigned the same number.
-
@FuerDrauka The log file is created only after you launch a game. You should enable verbose logging in the Runcommand launch menu, start the game, test your controller and then get the log file.
If you only have 1
.cfg
file in the auto-config folder, then it means you didn't configure your controller in Emulationstation. Did you configure both controllers in Emulationstation as explained in the docs ? -
@mitu said in Controllers not working in-game [Pi 3B+]:
@FuerDrauka The log file is created only after you launch a game. You should enable verbose logging in the Runcommand launch menu, start the game, test your controller and then get the log file.
If you only have 1
.cfg
file in the auto-config folder, then it means you didn't configure your controller in Emulationstation. Did you configure both controllers in Emulationstation as explained in the docs ?Except I DID launch a game. Several. Street Fighter 2 Championship, and I think a Virtua Fighter game, as well as Mr. Driller (PS1 game). They launched just fine, except none of my controllers worked. That's the entire problem I'm having >_> And yes, first time I set up the XB1S controller was after booting with Mouse, Keyboard, and XB1 controller plugged in. First time it didn't work in game I tried some tutorial to clear the existing controller config (removing the config via terminal and using terminal to restart emulation station, which prompted me to add my controller back by holding down a button, just as it did before).
@Pepper - I'll try your suggestions later. It's almost certainly some sort of setting that was changed by that packages update. It may or may not affect people who already played games before updating (which I didn't do, I updated first, then started setting up, adding games, etc.).
But to clarify to anyone confused or wanting a clear idea as to what the problem is and a general breakdown of what I've been doing:
- Got Pi 3 B+, installed Retropie 4.4 for pi version 2/3 on it
- Booted it up with XB1S controller, Keyboard, and Mouse connected
- Controller detected and identified just fine
- Set up Wifi for network and internet access
- Expanded Partition
- Updated Packages (Needed to re-enable auto-login as a result, it's an existing problem that hasn't been fixed for some reason)
- Added Dreamcast emulator via optional packages (I think this is the point at which I did it anyway).
- Added some games via USB
- Enabled SSH and used FTP to add more games and also the Dreamcast BIOS (Used Filezilla)
- Discovered my controller wouldn't work in any game I played, in spite of being detected (showing up on game boot with some green text), forcing me to unplug the Pi since I can't exit games.
- Asked around a bit. Tried using a different controller (PS4 Dualshock, USB connection). Set up fine, just like the XB1S controller
- Doesn't help. Same problem Can navigate EmulationStation just fine, but games don't react, whatever button I press.
- Ask 'wat do?' here.
-
Try this before attempting the previous.
I would unplug your mouse and keyboard clear the config file as you did before, reboot and then reconfigure your xbox 1 controller in emulation station . I suspect the mouse is causing the problems. If after unplugging the mouse and keyboard your controller decides to work try plugging the keyboard into port 3 and xbox controller in port 0 and test to see if your controller still works. continue with the mouse in port 2. The USB ports are assigned as follows:
top left 0
bottom left 1
top right 2
bottom right 3 -
@Pepper said in Controllers not working in-game [Pi 3B+]:
Try this before attempting the previous.
I would unplug your mouse and keyboard clear the config file as you did before, reboot and then reconfigure your xbox 1 controller in emulation station . I suspect the mouse is causing the problems. If after unplugging the mouse and keyboard your controller decides to work try plugging the keyboard into port 3 and xbox controller in port 0 and test to see if your controller still works. continue with the mouse in port 2. The USB ports are assigned as follows:
top left 0
bottom left 1
top right 2
bottom right 3Erm, how do I remove the config file without a keyboard? I kind of need it to do the things you stated. I assume you mean 'remove the config stuff and reboot the Pi this time without the Mouse or Keyboard', yeah?
I'll try that next.
-
so after you removed the config file unplug the keyboard and mouse before attempting to reconfig the controller. Use the ports i mentioned earlier.
-
@Pepper said in Controllers not working in-game [Pi 3B+]:
Also i found this:
Try assigning your controllers. With all desired gamepads plugged in, from EmulationStation's main menu, go to:"RetroPie" >
"RetroPie Setup" >
"Configuration / Tools" >
"805: configedit" >
"Configure basic libretro emulator options" > At this point, you can either ...
"Configure default options for all libretro emulators" OR
"Configure configure additional options for [EMULATOR NAME HERE]" In both cases ... go to
"Choose joypad order" and set which ever connected gamepads as player 1-4
MIght be that the 2 controllers are assigned the same number.
Damn, that looked promising. I was in the config edit for that and everything was marked as 'unset', so I thought that was it. I set the global to my Sony controller for player 1, but no joy.
I also cleared the controller config like you suggested in the more recent post (and moved the controller to the upper-left USB port). I actually did it via FTP, removing the .BAK backup file for good measure. Obviously this didn't help me, as I mentioned the config editing for controller defaults didn't work. I haven't tried changing the configs for the XB1 controller as I've removed those anyway.
Some new information though:
1 - When I went to set up the controller on Retropie boot after removing the configs via FTP I noticed something really weird. It apparently detected two controllers connected. I only had the one Sony controller plugged in, and nothing else (literally just the power, HDMI, and PS4 controller USB cable). Only things I can think of is either a bug, or it's somehow trying to connect to the controller wirelessly. Pretty sure it can't do that? I haven't set up bluetooth on the retropie at all? It didn't do that before, the first time I set it up anyway, I think.
2 - Upon looking carefully at the text that flashes on screen (by unplugging the controller and plugging it back in, doing this a few times) I notice it says that it's 'not configured'. This shows up regardless of what emulator I'm using. I tried it on the PS1 and SNES emulator.
Thanks for your continued help.
This is seriously frustrating, also weird. But mostly frustrating. It really ought to just be working, no?
-
@FuerDrauka
I’m thinking a re-image is in order at this point. I know that’s not what you want to hear. When I got my first raspberry pi I did this numerous times until I got all I wanted dialed. I’ve now 2 pi’s One for a tv and the other in a arcade cabinet. Sorry I cant be more help. Maybe “mitu” can be of help. He knows code errors well. May be able to make a somewhat simple fix. -
@FuerDrauka The DS4 is detected as 2 controllers - see https://retropie.org.uk/forum/topic/17650/dualshock-controllers-on-4-4-with-3b, that's why it appears this way. There's a workaround to disable the 2nd controllers (the motion sensors) in that topic.
There's no need to delete anything. Reset your controllers' configuration from the RetroPie-Setup (Configuration/Tools -> Emulationstation -> Clear/Reset ES input configuration).
Then remove your keyboard and connect only the Xbox controller then configure it in ES's input configuration. Verify that it works, the do the same for the DS4 controller (i.e. configure it and remove all other controller and keyboard). Check that it works.Look in the topic I mentioned (here and create the file with the contents from that topic. Reboot your Pi, then connect both controllers (without keyboard) and verify they work correctly.
-
@Pepper I just ended up doing that. I can play games now. That'll teach me to try to keep things up-to-date >_>
Still having some issues. I'm stuck on the Dreamcast date/time menu. I can't set and confirm the time, etc. It's apparently a long standing issue that hasn't been fixed? Seems a bit dumb to leave it broken like that. I tried using this tutorial: https://www.reddit.com/r/RetroPie/comments/70n9no/tutorial_how_to_map_a_ds4v2_ps4_controller_into/ Yeah, it doesn't help me. It's actually worse now. Before, I could use my Dualshock 4 to change the date/time numbers, but it was only the left analog stick that worked, so I couldn't confirm anything. Now, nothing at all works. I even tried inputting that input edev device stuff to see if that would help, but no joy. When I tried manually changing the inputs with the configuration (brings you to terminal to y/n a button and then you can press a button on the controller), through trial and error I determined it detected my PS4 controller as input device 4 ~_~ I set my global first controller to the sony controller but that didn't help. Unless I can find a simple, straightforward tutorial to get Reicast to actually let me in and play, I'll probably just give it up as a bad job.
Last annoying thing was the A/B and X/Y buttons being swapped in games. It was Retroarch being stupid. Just swapped those button numbers around.
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.