Bluetooth and USB not working in RetroPie
-
@jas51384 said in Bluetooth and USB not working in RetroPie:
Verbose Log for USB Gamepad
The log shows a gamepad being detected, though it doesn't log if a configuration file is loaded:
... [INFO] [udev]: Pad #0 (/dev/input/event3) supports 0 force feedback effects. [INFO] [Joypad]: Found joypad driver: "udev". ...
What's the game of the
.cfg
file from the config folder ? Can you post its contents also ? -
@mitu Here you go
USB SNES ControllerI'll include the 8bitdo cfg aswell
8Bitdo SN30ProJust so you know, It does this with any USB controller I try. I have a USB N64 controller that doesn't work either.
-
Can you also post the ES configuration for the gamepads ? I wonder if there aren't any special characters in the gamepad's name which are cut off when the RetroArch's config is saved.
You can find it in the$HOME/.emulationstation/es_input.cfg
file, just post the contents. -
@mitu Here you go
<?xml version="1.0"?>
<inputList>
<inputAction type="onfinish">
<command>/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh</command>
</inputAction>
<inputConfig type="joystick" deviceName="8Bitdo SN30 Pro" deviceGUID="05000000c82d00000161000000010000">
<input name="rightanalogdown" type="axis" id="3" value="1"/>
<input name="left" type="hat" id="0" value="8"/>
<input name="rightanalogleft" type="axis" id="2" value="-1"/>
<input name="right" type="hat" id="0" value="2"/>
<input name="pagedown" type="button" id="7" value="1"/>
<input name="down" type="hat" id="0" value="4"/>
<input name="rightanalogup" type="axis" id="3" value="-1"/>
<input name="pageup" type="button" id="6" value="1"/>
<input name="rightanalogright" type="axis" id="2" value="1"/>
<input name="y" type="button" id="4" value="1"/>
<input name="x" type="button" id="3" value="1"/>
<input name="b" type="button" id="1" value="1"/>
<input name="a" type="button" id="0" value="1"/>
<input name="up" type="hat" id="0" value="1"/>
<input name="select" type="button" id="10" value="1"/>
<input name="start" type="button" id="11" value="1"/>
<input name="leftanalogright" type="axis" id="0" value="1"/>
<input name="leftanalogup" type="axis" id="1" value="-1"/>
<input name="leftanalogdown" type="axis" id="1" value="1"/>
<input name="leftanalogleft" type="axis" id="0" value="-1"/>
</inputConfig>
<inputConfig type="joystick" deviceName="USB Gamepad" deviceGUID="03000000790000001100000010010000">
<input name="left" type="axis" id="0" value="-1"/>
<input name="right" type="axis" id="0" value="1"/>
<input name="pagedown" type="button" id="5" value="1"/>
<input name="down" type="axis" id="1" value="1"/>
<input name="pageup" type="button" id="4" value="1"/>
<input name="y" type="button" id="3" value="1"/>
<input name="x" type="button" id="0" value="1"/>
<input name="b" type="button" id="2" value="1"/>
<input name="a" type="button" id="1" value="1"/>
<input name="up" type="axis" id="1" value="-1"/>
<input name="select" type="button" id="8" value="1"/>
<input name="start" type="button" id="9" value="1"/>
</inputConfig>
</inputList>One thing I did notice is the USB Gamepad doesn't show the D-pad "Hat" buttons in any of the cfg's, it shows as axis but the d-pad in the SN30Pro shows "hat" in the cfg's. Also to note, all these controllers worked 100% before the upgrade and clean install. I did try to go back to the old equipment with a new install and had the same issues I currently have with the new equipment and install.
-
@jas51384 said in Bluetooth and USB not working in RetroPie:
One thing I did notice is the USB Gamepad doesn't show the D-pad "Hat" buttons in any of the cfg's, it shows as axis but the d-pad in the SN30Pro shows "hat" in the cfg's
That's fine, D-Pad is often represented as an axis, even if it's probably better suited as a HAT, but that shouldn't cause issues. I wonder then if it's not something else in the system that's causing this (version of SDL ?), since there hasn't been any significant changes in the input mapping scripts.
If possible, can you try installing on a LTS release (20.04) and see if that makes a difference ?
-
@mitu
I believe I've tried 20.04 LTS but I will try it and post the logs and configs when I get it running. Also, I have this on a Gigabyte 970A-DS3P motherboard. I did read that Linux has issues with Gigabyte brand boards because of certain bios settings. I followed the steps outlined here GIGABYTE GA-970A-DS3 during installation and after and everything seemed to work great. I did not use the USB hangs on x64 fix since I didn't have that issue. In the mean time I will get the 20.04 LTS install going and report back. -
@mitu
OK, I made some progress. The USB gamepad will work in Retroarch but it has a lot of lag. It's enough to really notice and the 8Bitdo is even worse and only works for a short time before it stops responding completely along with the keyboard. I did charge the 8Bitdo before this round of testing too. -
@mitu Log Files
I noticed that they bothseem to be using a different driver than before. Shows "X" for the driver now and before it was "udev" for both.
-
@jas51384 Can you edit the
/opt/retropie/configs/all/retroarch.cfg
and explicitly set theinput_driver
toudev
? The auto-configurations generated by EmulationStation assume the usage of theudev
driver. -
@mitu This is what the Input driver section shows in the Retroarch.cfg file:
# Input driver. Depending on video driver, it might force a different input driver. # input_driver = sdl # Joypad driver. ("udev", "linuxraw", "paraport", "sdl2", "hid", "dinput") input_joypad_driver = "udev"
I changed sdl to udev and there is no change in the behavior. Here is the Verbose log file
it still shows "X" as the input driver. The input_joypad_driver does show as udev in the logs. -
@jas51384 Actually, the
input_driver=sdl
is commented (the#
at the beginning). Theinput_joypad_driver
is present and I think the correct value is set (udev
).
Can't understand why the auto-profile generated by EmulationStation is not used or loaded by RetroArch.
You can manually create a configuration for the profile - https://docs.libretro.com/guides/controller-autoconfiguration/#generating-a-joypad-profile. You'll need a keyboard to open the configuration menu (RGUI, F1) and map the button on the gamepad. -
@mitu What's strange is all this worked fine until the most recent update. The joypad is recognized in retroarch after using Ubuntu 20.04 but has bad lag. The 8Bitdo SN30pro is recognized by retroarch but once loaded into a rom the 8Bitdo and Keyboard stop working entirely forcing me to use the power button to shut it down. I'll try to map the joypad and see if it helps the lag but I won't be able to try it with the 8Bitdo because it all locks up.
-
@jas51384 said in Bluetooth and USB not working in RetroPie:
What's strange is all this worked fine until the most recent update.
You're referring to RetroPie's update or Ubuntu ? If RetroPie, then what version did you have before the update ?
-
@mitu I'm referring to the Retropie update from 5 or 6 days ago. Since I did a fresh install on the day it was released and just did another yesterday. I believe it was the version just before this one but I can't remember because I didn't look beforehand.
-
There haven't been any significat updates recently, current version was tagged on Sept. 8 (4.7.19) and RetroArch had the same version since July. You may try and checkout the version before (4.7.18 was tagged in August, commit b8e) just to see if any changes before 4.7.19 have any effect on your installation.
-
@mitu I'm just going by the top of the Retropie setup script. Shows version 4.7.19 last commit 7 days ago. I won't be able to try the older version until later today. Comcast has a nationwide network outage that is eaffecting my area. Hopefully t will be resolved this afternoon central time.
-
@mitu said in Bluetooth and USB not working in RetroPie:
There haven't been any significat updates recently, current version was tagged on Sept. 8 (4.7.19) and RetroArch had the same version since July. You may try and checkout the version before (4.7.18 was tagged in August, commit b8e) just to see if any changes before 4.7.19 have any effect on your installation.
This is where my noob starts showing. How do I get that to download and install?
-
Assuming a fresh install, you'll need to use some command line commands:
cd $HOME/RetroPie-Setup git fetch --unshallow git checkout b8e5974
this will get you version 4.7.18, which you can use to perform an install.
To get back to the current version:cd $HOME/RetroPie-Setup git checkout master
-
@mitu ok thanks, I'll report back.
-
@mitu Well, It all seems to work correctly. Even the Bluetooth installed and I was able to set the udev rule for 8Bitdo. The only odd thing is when playing a SNES rom on the default emulator I had to press the buttons twice on the 8Bitdo controller for it to register then it would work fine until a screen changed then would have to do it again. There was no lag in the joypad, it was recognized and preformed as it should. Let me know if you want different logs also.
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.