• [SOLVED] PPSSPP does not recognize my gamepad

    5
    0 Votes
    5 Posts
    11k Views
    L

    I decided to turn my Pi upside down to find out why the heck PPSSPP wasn't recognizing my gamepad. Below is a little journal of my journey, describing what I had to do to fix things. Please, bear in mind that I'm a Linux newbie, and this is a tutorial of sorts intended to those just as new to it as me.

    So, a little background information: I use a PS3 Logitech ChillStream (identified as a “PS3/USB Corded Gamepad”) with my RPi. This nice little gamepad works perfectly with everything EmulationStation throws at me... Except for ppsspp (not to be confused with lr-ppsspp: it DOES work with that core). It wasn't an in-emulator mapping problem, the damn thing didn't even recognize button pressing when I tried binding stuff.

    I've read elsewhere that controller recognition was a hardcoded part of PPSSPP, and that you couldn't do much to make it see a controller it isn't seeing. But after two months of trying to find documentation and workarounds for this, I decided that I had enough. I would look under the hood and see how PPSSPP detected controllers myself.

    By navigating to /opt/retropie/emulators/ppsspp/assets, I was pleasantly surprised to see that there is actually a list of recognized controllers inside gamecontrollerdb.txt, presented in a very readable way. For sure, my gamepad wasn't listed there, under either of its names. I had at last pinpointed the source of my problems.

    Searching around the web, I found out that the file originates from a tool in SDL2 , a development library that provides low level access to audio, keyboard, mouse, joystick and graphics hardware via OpenGL. That tool is called controllermap. Luckily, if you originally set up your RPi using NOOBS to install a full Raspbian OS, you'll already have the required SDL2 library lying around (in my case, libsdl2-dev-2.0.6). If you don't have that library, just find and install it. The library won't come with controllermap, though, so you'll have to compile and install it yourself.

    If you're a newbie like me, that will sound more complicated than it really is. I followed the guide found here, but in easier terms (remember to substitute the version number for the version of the SDL2 library you have):

    Compile controllermap
    1.1. wget https://www.libsdl.org/release/SDL2-2.0.6.tar.gz
    1.2. tar -zxvf SDL2-2.0.6.tar.gz
    1.3. cd SDL2-2.0.6/test
    1.4. ./configure
    1.5. make controllermap
    1.6. mv controllermap ../..
    1.7. cd ../.. Connect the gamepad. ./controllermap Does it output anything? If yes, great, you can keep going! For the next step, you'll have to drop out to CLI (that is, you can't be running a terminal in an x environment) ./controllermap 0 > out.txt You should see an illustration of a gamepad on the screen now. IF YOU DON'T, JUST PRESS ESC. Check the error log, you must be missing some image files. In my case, they were axis.bmp, button.bmp and controllermap.bmp. Just fetch those files in SDL2-2.0.6's /test/ folder and put them right next to controllermap, at /home/pi, and try again. Press your controller's equivalent of the highlighted buttons. If you want to skip a button, press the spacebar. The results will be saved to out.txt. You may now remove the SDL2 source and object files:
    7.1. rm -r SDL2-2.0.6
    7.2. rm SDL2-2.0.6.tar.gz

    If you run into any problems, please refer to the guide linked above. Anyways, you can now check the output file in /home/pi and see that it has the same syntax as the PPSSPP's gamecontrollerdb.txt. Now all you have to do is copy the line in out.txt and paste it at the end of gamecontrollerdb.txt, and ppsspp should now see your controller! Bear in mind that you need to have root privileges to edit gamecontrollerdb.txt, so just sudo leafpad and browse for the file. You will probably need to rebind the controls in the emulator, but that is extremely straightforward!

    Well hope this can be of use to someone who was just as lost as I was. For reference, the following is the output line from my controllermap. If you happen to use the same gamepad that I do, just go ahead and paste it in your gamecontrollerdb.txt and ignore everything else I said! =D

    030000006d040000d1ca000011010000,PS3/USB Corded Gamepad,platform:Linux,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,
  • Bulk transferring roms from 1 collection to another

    4
    0 Votes
    4 Posts
    750 Views
    mituM

    @charliec The file I mentioned is on the RPI, you can access it through SSH since it's not available via file shares. Replace [SYSTEM] with the ROM folder corresponding to the console system for which you'd like to clear the metadata - i.e. snes, nes, fba, etc.

    I don't understand what you mean by 'collection' - is this one of the new ES custom collection options ? Or it's just a list of ROMs ?

  • ZeroJays Extra Scripts Problem

    8
    0 Votes
    8 Posts
    2k Views
    M

    @jonnykesh sorry, But i need help, is there something i can do or should i just flash a new one.

  • Snes9x 2010 bug with Hook (USA) ROM

    2
    1 Votes
    2 Posts
    720 Views
    L

    Report the issue here:
    https://github.com/libretro/snes9x2010

  • PS-like controller joysticks problem

    2
    0 Votes
    2 Posts
    2k Views
    E

    Well, found the answer there : https://pineight.com/mw/index.php?title=USB_game_controller

    Under the "DragonRise Inc. Generic USB Joystick" device : "A "mode" button at the bottom center of the face switches between two modes, signaled by green and red LEDs next to the button. Green appears to be designed for games expecting only digital controls, while red makes all analog controls available."

    There is the same type of mode button on my controller named "ANALOG". When in analog mode, all is working correctly. jstest output is normal.
    Should've thought about it sooner !

    Hope it helps !

  • N64 Controller

    2
    0 Votes
    2 Posts
    763 Views
    herb_fargusH

    @paulatkinson616 said in N64 Controller:

    I really only intend to play N64 games on it

    Temper your expectations if you want to use a pi solely for n64. Some games are playable, but many have issues. Even on the PC n64 emulation struggles.

  • Getting hyperkin controller to be recognized

    2
    0 Votes
    2 Posts
    808 Views
    D

    @dogeymon

    So I went through a process on the install drivers section from online source and it went through a very lengthy process.

    Now it shows that two controllers are detected! Great

    But when I hold a button on the hyperkin, ......I get nothing at all.

    Wahhhhh, what the hell is wrong still????

  • Record Retropie on PC?

    3
    0 Votes
    3 Posts
    650 Views
    E

    maybe a usb input

    Ive been looking online for a capture device and they all seem to look cheap and plastic or from china for £10 lol. I might buy a cheap one an see if it works

  • 0 Votes
    5 Posts
    2k Views
    markwkiddM

    @periodiclogic said in lr-mame2003, Rewind Functionality, and Segmentation Faults?:

    Emulation Station would briefly load the ROM, and then kick me right back out. The error log, whether detailed or not, only showed of relevance a Segmentation Fault in runcommand.sh.

    That does seem like an emulator bug. Could you please post this report & the log as a new issue in the mame2003 github repository?

  • Roms using retro arch or mame?

    15
    0 Votes
    15 Posts
    5k Views
    mituM

    @floodie The Arcade part is responsible for a lot of questions asked here in the forums and most of the answers are found with a quick read in the docs. That - and the fact that you're using a 3rd party image but you ask for support in the RetroPie forums is what might have caused a little 'abrasiveness'.

    See the table in https://retropie.org.uk/docs/MAME/ for which folder is used by each emulator. You're using the wrong rom probably. That's what you should ask the seller of the image, RetroPie doesn't come with any overlays by default. We can't tell which 'mame' games are you referring. As people mentioned, there are a few Mame emulators used in RetroPie and it's hard to understand which one you're using and why the settings don't persist. The Arcade compatibility list is linked from the page I mentioned above.
  • 0 Votes
    2 Posts
    912 Views
    C

    @cloudd
    Location of file to modify :
    /opt/retropie/configs/all/retroarch/autoconfig/Xbox 360 Wireless Receiver (XBOX).cfg

    This seems to fix a lot of issues I have throughout various emulators

    Contents of file:

    input_device = "Xbox 360 Wireless Receiver (XBOX)"
    input_driver = "udev"
    input_r_y_plus_axis = "+4"
    input_l3_btn = "9"
    input_r_x_minus_axis = "-3"
    input_l_btn = "4"
    input_load_state_btn = "4"
    input_start_btn = "7"
    input_exit_emulator_btn = "7"
    input_l_y_minus_axis = "-1"
    input_up_btn = "13"
    input_r_y_minus_axis = "-4"
    input_a_btn = "0"
    input_b_btn = "1"
    input_reset_btn = "1"
    input_enable_hotkey_btn = "6"
    input_down_btn = "14"
    input_l_x_plus_axis = "+0"
    input_l_y_plus_axis = "+1"
    input_r_btn = "5"
    input_save_state_btn = "5"
    input_r2_axis = "+2"
    input_r3_btn = "10"
    input_right_btn = "12"
    input_state_slot_increase_btn = "12"
    input_x_btn = "2"
    input_menu_toggle_btn = "2"
    input_select_btn = "6"
    input_l_x_minus_axis = "-0"
    input_y_btn = "3"
    input_left_btn = "11"
    input_state_slot_decrease_btn = "11"
    input_r_x_plus_axis = "+3"
    input_l2_axis = "+2"
    input_l2_axis = "-2" Change to : input_l2_axis = "-2"

  • I made a mistake

    1
    0 Votes
    1 Posts
    550 Views
    No one has replied
  • Start Button

    8
    0 Votes
    8 Posts
    3k Views
    herb_fargusH

    @juan19802005 if you don't even know which emulator you're using and what configs you've changed I'd suggest going back to the docs and giving them a read.

    https://retropie.org.uk/docs/First-Installation/

    https://retropie.org.uk/docs/Controller-Configuration/

    And if you're modifying retroarch configs

    https://retropie.org.uk/docs/RetroArch-Configuration/

  • How to save "game remap files" for MAME properly?

    5
    1 Votes
    5 Posts
    3k Views
    D

    @dankcushions , thank you for your previous insight. That made me try to figure out how everything works, in regards to button mapping, in lr-fbalpha so I posted on their github with my issues (and tagged you there last week as well). We're still having problems with the default controller mappings not being proper in RetroPie according to barbudreadmon. Basically when the Device Type is set to modern, my 8 button Fightstick should be mapped like such for EVERY game:

    (3) (4) (5) (7)
    (1) (2) (6) (8)

    Besides 6-button Street Fighter II style games I’m getting button mappings all over the place, and we're trying to figure out if it is something with how fbalpha is programmed for RetroPie or what. If you would like to read about the exact games I tried, and my results with the button mappings, they can be found at the link below (or if you want me to repost it here - please let me know and again, thank you for your lenghtly last post, it really did help greatly!).

    https://github.com/libretro/fbalpha/issues/156#issuecomment-340183189

    On a side note, on mame2003, how would you suggest I change the mapping for the service/dipswitch menu? I just did a fresh install of RetroPie 4.3, so I need to test this again to make sure it wasn't my fault, but I think that was mapped to L2 or R2 and I keep hitting it by accident, and I don't see the option to change that when I hit Select+X and go into the controls.

  • Game & Watch mgw files URL

    2
    1 Votes
    2 Posts
    4k Views
    HyruleslinkH

    @derebo Hopefully someone creates more of these G&Ws. Still missing classics like Ball, Fire, Judge, Octopus, & Mario's Cement Factory.

  • 0 Votes
    4 Posts
    631 Views
    space cadetS

    Your gonna need radiation treatments

  • 0 Votes
    4 Posts
    3k Views
    MrJordaaanyM

    @jeremyxgaming Clean install of what version? Mine stopped working in lr-MAME2003 recently and Im trying to figure out why. I did a clean 4.3 install and its still not working :(

  • 2 player input acting strangely

    4
    0 Votes
    4 Posts
    1k Views
    C

    @Joface , did you ever find a solution to this? I'd like to know if you did. Thank you

  • Daphne problems

    9
    0 Votes
    9 Posts
    2k Views
    H

    @caver01 thanks

  • Controller Suggestions?

    9
    0 Votes
    9 Posts
    3k Views
    U

    Just wanted to post an update to fix bad info. The Bliss-box is fully working with the pi since 1.56.1.

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.