Joypad works well in Emulation Station but not in RetroArch (Ubuntu)

Hello,

I setup RetroArch 1.3.6 via the testing PPA on a fresh Ubuntu 16.04 (Xenial) install, and put Emulation Station 2.0.1A on top of it.

When I want to play with my keyboard, everything works fine and I’m able to do whant I want. However, as soon as I want to play with my Saitek P2500 Rumble controller, I can’t seem to find a way to make it work in RetroArch.

When I start Emulation Station, my joypad is detected and I can configure it to control the menu. But when I launch a game, whatever core I may use, only the keyboard is detected and my joypad stops working.

I tried launching RetroArch directly to configure input for player 1, but the line “User 1 device index” displays only “N/A Port #0”, “N/A Port #1” and “Disabled”.

I’ve also configured my retroarch.cfg file manually with values I found on retroarch-joypad-autoconfig github, but these values also appear with “N/A” (for example “User 1 B button (down) 14 (N/A) (Key: c)”. And again, only the keyboard works.

I’ve been struggling with this problem for days. Do you have an idea for solving it, please ?


My logs are the following, so you can have an overstanding of what is going on.

RetroArch [INFO] :: Redirecting save file to "/emulstation/ConsoleGames/NES/1943 - The Battle of Midway (USA).srm".
RetroArch [INFO] :: === Build =======================================
Capabilities: MMX MMXEXT SSE1 SSE2 SSE3 SSSE3 SSE4 SSE4.2 AES 
Built: Sep 22 2016
RetroArch [INFO] :: Version: 1.3.6
RetroArch [INFO] :: =================================================
RetroArch [INFO] :: Looking for config in: "/emulstation/.config/retroarch/retroarch.cfg".
RetroArch [INFO] :: Config: loading config from: /emulstation/.config/retroarch/retroarch.cfg.
RetroArch [INFO] :: Resetting undo buffers.
RetroArch [INFO] :: Loading dynamic libretro core from: "/usr/lib/x86_64-linux-gnu/libretro/nestopia_libretro.so"
RetroArch [INFO] :: [overrides] no core-specific overrides found at /emulstation/.config/retroarch/Nestopia/Nestopia.cfg.
RetroArch [INFO] :: [overrides] no game-specific overrides found at /emulstation/.config/retroarch/Nestopia/1943 - The     Battle of Midway (USA).cfg.
RetroArch [INFO] :: Shaders: preset directory: /usr/share/libretro/shaders/presets
RetroArch [INFO] :: Shaders: no game-specific preset found at /usr/share/libretro/shaders/presets/Nestopia/1943 - The Battle of Midway (USA).cgp.
RetroArch [INFO] :: Shaders: no game-specific preset found at /usr/share/libretro/shaders/presets/Nestopia/1943 - The Battle of Midway (USA).glslp.
RetroArch [INFO] :: Shaders: no core-specific preset found at /usr/share/libretro/shaders/presets/Nestopia/Nestopia.cgp.
RetroArch [INFO] :: Shaders: no core-specific preset found at /usr/share/libretro/shaders/presets/Nestopia/Nestopia.glslp.
RetroArch [INFO] :: Environ SET_VARIABLES.
RetroArch [INFO] :: Remaps: remap directory: /emulstation/.config/retroarch/remap
RetroArch [INFO] :: Remaps: no game-specific remap found at /emulstation/.config/retroarch/remap/Nestopia/1943 - The Battle of Midway (USA).rmp.
RetroArch [INFO] :: Remaps: no core-specific remap found at /emulstation/.config/retroarch/remap/Nestopia/Nestopia.rmp.
RetroArch [INFO] :: Redirecting save file to "/emulstation/ConsoleGames/NES/1943 - The Battle of Midway (USA).srm".
RetroArch [INFO] :: Environ GET_LOG_INTERFACE.
RetroArch [INFO] :: Environ PERFORMANCE_LEVEL: 6.
RetroArch [INFO] :: Loading content file: /emulstation/ConsoleGames/NES/1943 - The Battle of Midway (USA).nes.
RetroArch [INFO] :: Did not find a valid content patch.
RetroArch [INFO] :: CRC32: 0xd131bf15 .
RetroArch [INFO] :: Environ SET_INPUT_DESCRIPTORS:
RetroArch [INFO] :: 	RetroPad, User 1, Button "B (bottom)" => "B"
RetroArch [INFO] :: 	RetroPad, User 1, Button "Y (left)" => "(VSSystem) Coin 2"
RetroArch [INFO] :: 	RetroPad, User 1, Button "Select" => "Select"
RetroArch [INFO] :: 	RetroPad, User 1, Button "Start" => "Start"
RetroArch [INFO] :: 	RetroPad, User 1, Button "D-Pad Up" => "D-Pad Up"
RetroArch [INFO] :: 	RetroPad, User 1, Button "D-Pad Down" => "D-Pad Down"
RetroArch [INFO] :: 	RetroPad, User 1, Button "D-Pad Left" => "D-Pad Left"
RetroArch [INFO] :: 	RetroPad, User 1, Button "D-Pad Right" => "D-Pad Right"
RetroArch [INFO] :: 	RetroPad, User 1, Button "A (right)" => "A"
RetroArch [INFO] :: 	RetroPad, User 1, Button "X (up)" => "(VSSystem) Coin 1"
RetroArch [INFO] :: 	RetroPad, User 1, Button "L" => "(FDS) Disk Side Change"
RetroArch [INFO] :: 	RetroPad, User 1, Button "R" => "(FDS) Eject Disk"
RetroArch [INFO] :: 	RetroPad, User 2, Button "B (bottom)" => "B"
RetroArch [INFO] :: 	RetroPad, User 2, Button "Y (left)" => "(VSSystem) Coin 2"
RetroArch [INFO] :: 	RetroPad, User 2, Button "Select" => "Select"
RetroArch [INFO] :: 	RetroPad, User 2, Button "Start" => "Start"
RetroArch [INFO] :: 	RetroPad, User 2, Button "D-Pad Up" => "D-Pad Up"
RetroArch [INFO] :: 	RetroPad, User 2, Button "D-Pad Down" => "D-Pad Down"
RetroArch [INFO] :: 	RetroPad, User 2, Button "D-Pad Left" => "D-Pad Left"
RetroArch [INFO] :: 	RetroPad, User 2, Button "D-Pad Right" => "D-Pad Right"
RetroArch [INFO] :: 	RetroPad, User 2, Button "A (right)" => "A"
RetroArch [INFO] :: 	RetroPad, User 2, Button "X (up)" => "(VSSystem) Coin 1"
RetroArch [INFO] :: 	RetroPad, User 2, Button "L" => "(FDS) Disk Side Change"
RetroArch [INFO] :: 	RetroPad, User 2, Button "R" => "(FDS) Eject Disk"
RetroArch [INFO] :: Environ SYSTEM_DIRECTORY: "/emulstation/.config/retroarch/system".
RetroArch [libretro INFO] :: Custom palette path: /emulstation/.config/retroarch/system/custom.pal
RetroArch [libretro WARN] :: custom.pal not found in system directory.
RetroArch [libretro INFO] :: NstDatabase.xml path: /emulstation/.config/retroarch/system/NstDatabase.xml
RetroArch [libretro WARN] :: NstDatabase.xml required to detect region and some mappers.
RetroArch [INFO] :: Environ SET_PIXEL_FORMAT: XRGB8888.
RetroArch [INFO] :: Environ GET_VARIABLE nestopia_favored_system:
RetroArch [INFO] :: 	auto
RetroArch [INFO] :: Environ GET_VARIABLE nestopia_genie_distortion:
RetroArch [INFO] :: 	disabled
RetroArch [INFO] :: Environ GET_VARIABLE nestopia_ram_power_state:
RetroArch [INFO] :: 	0x00
RetroArch [INFO] :: Environ GET_VARIABLE nestopia_nospritelimit:
RetroArch [INFO] :: 	disabled
RetroArch [INFO] :: Environ GET_VARIABLE nestopia_fds_auto_insert:
RetroArch [INFO] :: 	enabled
RetroArch [INFO] :: Environ GET_VARIABLE nestopia_blargg_ntsc_filter:
RetroArch [INFO] :: 	disabled
RetroArch [INFO] :: Environ GET_VARIABLE nestopia_palette:
RetroArch [INFO] :: 	consumer
RetroArch [INFO] :: Environ GET_VARIABLE nestopia_overscan_v:
RetroArch [INFO] :: 	enabled
RetroArch [INFO] :: Environ GET_VARIABLE nestopia_overscan_h:
RetroArch [INFO] :: 	disabled
RetroArch [INFO] :: Environ GET_VARIABLE nestopia_aspect:
RetroArch [INFO] :: 	8:7 PAR
RetroArch [INFO] :: Environ SET_GEOMETRY.
RetroArch [INFO] :: SET_GEOMETRY: 256x224, aspect: 1.306.
RetroArch [INFO] :: Environ GET_VARIABLE nestopia_favored_system:
RetroArch [INFO] :: 	auto
RetroArch [INFO] :: Environ GET_VARIABLE nestopia_genie_distortion:
RetroArch [INFO] :: 	disabled
RetroArch [INFO] :: Environ GET_VARIABLE nestopia_ram_power_state:
RetroArch [INFO] :: 	0x00
RetroArch [INFO] :: Environ GET_VARIABLE nestopia_nospritelimit:
RetroArch [INFO] :: 	disabled
RetroArch [INFO] :: Environ GET_VARIABLE nestopia_fds_auto_insert:
RetroArch [INFO] :: 	enabled
RetroArch [INFO] :: Environ GET_VARIABLE nestopia_blargg_ntsc_filter:
RetroArch [INFO] :: 	disabled
RetroArch [INFO] :: Environ GET_VARIABLE nestopia_palette:
RetroArch [INFO] :: 	consumer
RetroArch [INFO] :: Environ GET_VARIABLE nestopia_overscan_v:
RetroArch [INFO] :: 	enabled
RetroArch [INFO] :: Environ GET_VARIABLE nestopia_overscan_h:
RetroArch [INFO] :: 	disabled
RetroArch [INFO] :: Environ GET_VARIABLE nestopia_aspect:
RetroArch [INFO] :: 	8:7 PAR
RetroArch [INFO] :: Environ SET_GEOMETRY.
RetroArch [libretro INFO] :: [Nestopia]: Machine is NTSC.
RetroArch [INFO] :: Skipping SRAM load..
RetroArch [INFO] :: Version of libretro API: 1
RetroArch [INFO] :: Compiled against API: 1
RetroArch [INFO] :: Set audio input rate to: 44136.71 Hz.
RetroArch [INFO] :: Video @ 1920x1080
RetroArch [INFO] :: Starting threaded video driver ...
error: XDG_RUNTIME_DIR not set in the environment.
RetroArch [ERROR] :: Failed to connect to Wayland server.
RetroArch [INFO] :: [DBus]: Failed to get DBus connection. Screensaver will not be suspended via DBus.
libGL error: failed to open drm device: No such file or directory
libGL error: failed to load driver: i965
RetroArch [INFO] :: Found GL context: x
RetroArch [INFO] :: Detecting screen resolution 1920x1080.
RetroArch [INFO] :: [X11]: Xinerama version: 1.1.
RetroArch [INFO] :: [X11]: Xinerama screens: 1.
RetroArch [INFO] :: [GLX]: Using Xinerama on screen #0.
RetroArch [INFO] :: [GLX]: X = 0, Y = 0, W = 1920, H = 1080.
RetroArch [INFO] :: [GLX]: Using windowed fullscreen.
RetroArch [INFO] :: [GLX]: Found swap function: glXSwapIntervalMESA.
RetroArch [INFO] :: [GLX]: glXSwapInterval(2)
RetroArch [WARN] :: [GLX]: glXSwapInterval() failed.
RetroArch [INFO] :: [GL]: Vendor: VMware, Inc., Renderer: Gallium 0.4 on llvmpipe (LLVM 3.8, 128 bits).
RetroArch [INFO] :: [GL]: Version: 3.0 Mesa 11.2.0.
RetroArch [INFO] :: [GL]: Using ARB_sync to reduce latency.
RetroArch [INFO] :: GL: Using resolution 1920x1080
RetroArch [INFO] :: [GL]: Default shader backend found: glsl.
RetroArch [INFO] :: [Shader driver]: Using Cg shader backend.
RetroArch [INFO] :: [Cg]: Vertex profile: arbvp1
RetroArch [INFO] :: [Cg]: Fragment profile: arbfp1
RetroArch [INFO] :: Loading Cg meta-shader: /emulstation/.config/retroarch/retroarch.cgp
RetroArch [INFO] :: Loading Cg shader: "/usr/share/libretro/shaders/cgp/../xbr/legacy/2xbr-v3.7c-dark.cg".
RetroArch [ERROR] :: CG error: The file could not be read.
RetroArch [ERROR] :: Failed to load shaders ...
RetroArch [INFO] :: CG: Destroying programs.
RetroArch [ERROR] :: [GL]: Failed to initialize shader, falling back to stock.
RetroArch [INFO] :: [Shader driver]: Using Cg shader backend.
RetroArch [INFO] :: [Cg]: Vertex profile: arbvp1
RetroArch [INFO] :: [Cg]: Fragment profile: arbfp1
RetroArch [INFO] :: Loading stock Cg file.
RetroArch [INFO] :: CG: Found semantic "POSITION" in prog #24.
RetroArch [INFO] :: CG: Found semantic "COLOR" in prog #24.
RetroArch [INFO] :: CG: Found semantic "TEXCOORD0" in prog #24.
RetroArch [INFO] :: CG: Found semantic "POSITION" in prog #23.
RetroArch [INFO] :: CG: Found semantic "COLOR" in prog #23.
RetroArch [INFO] :: CG: Found semantic "TEXCOORD0" in prog #23.
RetroArch [INFO] :: [GL]: Using 4 textures.
RetroArch [INFO] :: [GL]: Loaded 1 program(s).
RetroArch [INFO] :: Found joypad driver: "udev".
RetroArch [INFO] :: Using font rendering backend: freetype.
ALSA lib pcm_dmix.c:1029:(snd_pcm_dmix_open) unable to open slave
RetroArch [ERROR] :: ALSA: Failed to initialize...
RetroArch [ERROR] :: Failed to initialize audio driver. Will continue without audio.
RetroArch [INFO] :: Disconnecting device from port 2.
RetroArch [INFO] :: Disconnecting device from port 3.
RetroArch [INFO] :: Disconnecting device from port 4.
RetroArch [INFO] :: Disconnecting device from port 5.
RetroArch [INFO] :: Disconnecting device from port 6.
RetroArch [INFO] :: Disconnecting device from port 7.
RetroArch [INFO] :: Disconnecting device from port 8.
RetroArch [INFO] :: Disconnecting device from port 9.
RetroArch [INFO] :: Disconnecting device from port 10.
RetroArch [INFO] :: Disconnecting device from port 11.
RetroArch [INFO] :: Disconnecting device from port 12.
RetroArch [INFO] :: Disconnecting device from port 13.
RetroArch [INFO] :: Disconnecting device from port 14.
RetroArch [INFO] :: Disconnecting device from port 15.
RetroArch [INFO] :: Disconnecting device from port 16.
RetroArch [INFO] :: Loading history file: [/emulstation/.config/retroarch/content_history.lpl].
RetroArch [INFO] :: Loading history file: [/emulstation/.config/retroarch/content_music_history.lpl].
RetroArch [INFO] :: Loading history file: [/emulstation/.config/retroarch/content_video_history.lpl].
RetroArch [INFO] :: Loading history file: [/emulstation/.config/retroarch/content_image_history.lpl].
RetroArch [ERROR] :: Failed to start audio driver. Will continue without audio.
RetroArch [INFO] :: Trying to write to playlist file: /emulstation/.config/retroarch/content_history.lpl

The first thing to try is go to settings > directory and make sure you have an autoconfig directory set, then go to the online updater in the main menu and update your autoconfig profiles. Quit out of RetroArch and then reopen it.

wait… how are you using 1.3.6, both PPA have only 1.5.0 or 1.5.0+git…

and dude, don’t mess with retroarch.cfg… don’t put random configs there heh

Hi, so first of all, as @sergio-br2 said, my version of retroarch was a little bit outdated. Guess I had some sort of cache since I had already installed it last year before formatting my drive. Anyway, I forced the update, and I have now the correct version (1.5.0).

So I followed what you said @hunterk, set a folder for autoconfig, updated my autoconfig from the main menu, restarted retroarch, but still, no answer from my joypad, and no way to select it from user input configuration (same “N/A Port #0”, “N/A Port #1” and “Disabled” options).

Here’s the new log, which does not seem to indicate any problem since it contains a line RetroArch [INFO] :: Found joypad driver: “udev”..


RetroArch [INFO] :: This is RetroArch version 1.5.0 (Git 51581e1) RetroArch [INFO] :: === Build ======================================= Capabilities: MMX MMXEXT SSE1 SSE2 SSE3 SSSE3 SSE4 SSE4.2 AES Built: Mar 10 2017 RetroArch [INFO] :: Version: 1.5.0 RetroArch [INFO] :: Git: 51581e1 RetroArch [INFO] :: ================================================= RetroArch [INFO] :: Loading default config. RetroArch [INFO] :: Looking for config in: “/emulstation/.config/retroarch/retroarch.cfg”. RetroArch [INFO] :: Environ SET_PIXEL_FORMAT: RGB565. RetroArch [INFO] :: Version of libretro API: 1 RetroArch [INFO] :: Compiled against API: 1 RetroArch [INFO] :: Set audio input rate to: 29970.03 Hz. RetroArch [INFO] :: Video @ 960x720 error: XDG_RUNTIME_DIR not set in the environment. RetroArch [ERROR] :: Failed to connect to Wayland server. RetroArch [INFO] :: [DBus]: Failed to get DBus connection. Screensaver will not be suspended via DBus. libGL error: failed to open drm device: No such file or directory libGL error: failed to load driver: i965 RetroArch [INFO] :: GLX_OML_sync_control and GLX_MESA_swap_control supported, using better swap control method… RetroArch [INFO] :: UST: 0, MSC: 0, SBC: 0 RetroArch [INFO] :: Found GL context: x RetroArch [INFO] :: Detecting screen resolution 1920x1080. RetroArch [INFO] :: [GLX]: X = 0, Y = 0, W = 960, H = 720. RetroArch [INFO] :: [GLX]: Found swap function: glXSwapIntervalMESA. RetroArch [INFO] :: [GLX]: glXSwapInterval(1) RetroArch [WARN] :: [GLX]: glXSwapInterval() failed. RetroArch [INFO] :: [GL]: Vendor: VMware, Inc., Renderer: Gallium 0.4 on llvmpipe (LLVM 3.8, 128 bits). RetroArch [INFO] :: [GL]: Version: 3.0 Mesa 12.0.6. RetroArch [INFO] :: GL: Using resolution 960x720 RetroArch [INFO] :: [GL]: Default shader backend found: glsl. RetroArch [INFO] :: [Shader driver]: Using GLSL shader backend. RetroArch [INFO] :: Checking GLSL shader support … RetroArch [WARN] :: [GL]: Stock GLSL shaders will be used. RetroArch [INFO] :: Found GLSL vertex shader. RetroArch [INFO] :: Found GLSL fragment shader. RetroArch [INFO] :: Linking GLSL program. RetroArch [INFO] :: Found GLSL vertex shader. RetroArch [INFO] :: Found GLSL fragment shader. RetroArch [INFO] :: Linking GLSL program. RetroArch [INFO] :: Found GLSL vertex shader. RetroArch [INFO] :: Found GLSL fragment shader. RetroArch [INFO] :: Linking GLSL program. RetroArch [INFO] :: Found GLSL vertex shader. RetroArch [INFO] :: Found GLSL fragment shader. RetroArch [INFO] :: Linking GLSL program. RetroArch [INFO] :: Found GLSL vertex shader. RetroArch [INFO] :: Found GLSL fragment shader. RetroArch [INFO] :: Linking GLSL program. RetroArch [INFO] :: Found GLSL vertex shader. RetroArch [INFO] :: Found GLSL fragment shader. RetroArch [INFO] :: Linking GLSL program. RetroArch [INFO] :: Found GLSL vertex shader. RetroArch [INFO] :: Found GLSL fragment shader. RetroArch [INFO] :: Linking GLSL program. RetroArch [INFO] :: Found GLSL vertex shader. RetroArch [INFO] :: Found GLSL fragment shader. RetroArch [INFO] :: Linking GLSL program. RetroArch [INFO] :: [GL]: Using 4 textures. RetroArch [INFO] :: [GL]: Loaded 1 program(s). RetroArch [INFO] :: [GL]: Using GL_RGB565 for texture uploads. RetroArch [INFO] :: Found joypad driver: “udev”. RetroArch [INFO] :: Using font rendering backend: freetype. RetroArch [INFO] :: Suspending screensaver (X11, xdg-screensaver). sh: 1: xdg-screensaver: not found RetroArch [WARN] :: Could not suspend screen saver. RetroArch [INFO] :: ALSA: Using signed 16-bit format. RetroArch [INFO] :: ALSA: Period size: 1024 frames RetroArch [INFO] :: ALSA: Buffer size: 3072 frames RetroArch [INFO] :: ALSA: Can pause: no. RetroArch [INFO] :: Found menu display driver: “menu_display_gl”. RetroArch [INFO] :: Using font rendering backend: freetype. RetroArch [INFO] :: Using font rendering backend: freetype. RetroArch [INFO] :: SRAM ne sera pas sauvegardée. RetroArch [INFO] :: Loading history file: [/emulstation/.config/retroarch/content_history.lpl]. RetroArch [INFO] :: Loading history file: [/emulstation/.config/retroarch/content_music_history.lpl]. RetroArch [INFO] :: Loading history file: [/emulstation/.config/retroarch/content_video_history.lpl]. RetroArch [INFO] :: Loading history file: [/emulstation/.config/retroarch/content_image_history.lpl]. RetroArch [INFO] :: [GL]: VSync => on RetroArch [INFO] :: [GLX]: glXSwapInterval(1) RetroArch [WARN] :: [GLX]: glXSwapInterval() failed. RetroArch [INFO] :: [GL]: VSync => on RetroArch [INFO] :: [GLX]: glXSwapInterval(1) RetroArch [WARN] :: [GLX]: glXSwapInterval() failed.

Ok, if updating your autoconfig profiles didn’t resolve it, exit out of RetroArch and unplug your controller. Start RetroArch back up and then plug in your controller and see what the yellow text that flashes up onto the screen says. It should be either “[some controller] configured” or “not configured”.

If not says “not configured,” go into settings > input > p1 input binds and use the ‘bind all’ option to try and map your buttons.

You set the path to a writable place right? Default place is ~/.config/retroarch/autoconfig/

RetroArch [INFO] :: Shaders: no core-specific preset found at /usr/share/libretro/shaders/presets/Nestopia/Nestopia.glslp.

You have stuff at root (old config?), delete your retroarch.cfg file and start again.

Also, does that joypad have a home button, like PS button in PS3 joypad? That works on retroarch only after you press the PS button.

Was this issue ever resolved? I’m having the exact same problem now. I’ve tried my best to follow some of the instructions in the tread but I’m very inexperienced in this and the operating system I’m using (Ubuntu) so I’m having some trouble understanding all of it. If anyone could offer some advice I’d be extremely greatful! Thanks :slight_smile: