Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ubuntu 22.04.4 is unable to execute controller input but controller is detected #907

Open
Kellen-Stuart opened this issue Jun 6, 2024 · 0 comments

Comments

@Kellen-Stuart
Copy link

Kellen-Stuart commented Jun 6, 2024

Overview

Controller is detected but no button presses are registered.

Retropie debug output

Jun 06 16:57:21 lvl2: 	EmulationStation - v2.11.2rp, built May 21 2024 - 13:14:36
Jun 06 16:57:21 lvl2: 	Parsing XML file "/opt/retropie/supplementary/emulationstation/resources/mamenames.xml"...
Jun 06 16:57:21 lvl2: 	Parsing XML file "/opt/retropie/supplementary/emulationstation/resources/mamebioses.xml"...
Jun 06 16:57:21 lvl2: 	Parsing XML file "/opt/retropie/supplementary/emulationstation/resources/mamedevices.xml"...
Jun 06 16:57:21 lvl2: 	Creating window...
Jun 06 16:57:21 lvl2: 	Created window successfully.
Jun 06 16:57:21 lvl2: 	GL vendor:   NVIDIA Corporation
Jun 06 16:57:21 lvl2: 	GL renderer: NVIDIA GeForce RTX 2070 with Max-Q Design/PCIe/SSE2
Jun 06 16:57:21 lvl2: 	GL version:  4.6.0 NVIDIA 535.171.04
Jun 06 16:57:21 lvl2: 	Checking available OpenGL extensions...
Jun 06 16:57:21 lvl2: 	 ARB_texture_non_power_of_two: ok
Jun 06 16:57:21 lvl2: 	Loading system config file /etc/emulationstation/es_systems.cfg...
Jun 06 16:57:21 lvl1: 	System "amstradcpc" has no games! Ignoring it.
Jun 06 16:57:21 lvl1: 	System "arcade" has no games! Ignoring it.
Jun 06 16:57:21 lvl1: 	System "atari2600" has no games! Ignoring it.
Jun 06 16:57:21 lvl1: 	System "atari5200" has no games! Ignoring it.
Jun 06 16:57:21 lvl1: 	System "atari7800" has no games! Ignoring it.
Jun 06 16:57:21 lvl1: 	System "atari800" has no games! Ignoring it.
Jun 06 16:57:21 lvl1: 	System "atarilynx" has no games! Ignoring it.
Jun 06 16:57:21 lvl1: 	System "channelf" has no games! Ignoring it.
Jun 06 16:57:21 lvl1: 	System "coleco" has no games! Ignoring it.
Jun 06 16:57:21 lvl1: 	System "fba" has no games! Ignoring it.
Jun 06 16:57:21 lvl1: 	System "fds" has no games! Ignoring it.
Jun 06 16:57:21 lvl1: 	System "gamegear" has no games! Ignoring it.
Jun 06 16:57:22 lvl1: 	System "gb" has no games! Ignoring it.
Jun 06 16:57:22 lvl1: 	System "gbc" has no games! Ignoring it.
Jun 06 16:57:22 lvl1: 	System "mame-libretro" has no games! Ignoring it.
Jun 06 16:57:22 lvl1: 	System "mastersystem" has no games! Ignoring it.
Jun 06 16:57:22 lvl1: 	System "megadrive" has no games! Ignoring it.
Jun 06 16:57:22 lvl1: 	System "msx" has no games! Ignoring it.
Jun 06 16:57:22 lvl1: 	System "neogeo" has no games! Ignoring it.
Jun 06 16:57:22 lvl1: 	System "nes" has no games! Ignoring it.
Jun 06 16:57:22 lvl1: 	System "ngp" has no games! Ignoring it.
Jun 06 16:57:22 lvl1: 	System "ngpc" has no games! Ignoring it.
Jun 06 16:57:22 lvl1: 	System "pcengine" has no games! Ignoring it.
Jun 06 16:57:22 lvl1: 	System "psx" has no games! Ignoring it.
Jun 06 16:57:22 lvl2: 	Parsing XML file "/home/retropie/.emulationstation/gamelists/retropie/gamelist.xml"...
Jun 06 16:57:22 lvl1: 	System "sega32x" has no games! Ignoring it.
Jun 06 16:57:22 lvl1: 	System "segacd" has no games! Ignoring it.
Jun 06 16:57:22 lvl1: 	System "sg-1000" has no games! Ignoring it.
Jun 06 16:57:23 lvl1: 	System "vectrex" has no games! Ignoring it.
Jun 06 16:57:23 lvl1: 	System "zxspectrum" has no games! Ignoring it.
Jun 06 16:57:23 lvl2: 	Added unconfigured joystick 'PDP Faceoff Premiere Wired Pro Controller for Nintendo Switch' (GUID: 030000006f0e00008401000011010000, instance ID: 0, device index: 0).
Jun 06 16:57:23 lvl2: 	Added unconfigured joystick 'PDP Faceoff Premiere Wired Pro Controller for Nintendo Switch' (GUID: 030000006f0e00008401000011010000, instance ID: 0, device index: 0).
Jun 06 16:57:23 lvl3: 	SystemView::getViewElements()
Jun 06 16:58:52 lvl2: 	Removed joystick 'PDP Faceoff Premiere Wired Pro Controller for Nintendo Switch' (instance ID: 0)
Jun 06 17:00:13 lvl2: 	Added unconfigured joystick 'PDP Faceoff Premiere Wired Pro Controller for Nintendo Switch' (GUID: 030000006f0e00008401000011010000, instance ID: 1, device index: 0).
Jun 06 17:01:08 lvl2: 	Removed joystick 'PDP Faceoff Premiere Wired Pro Controller for Nintendo Switch' (instance ID: 1)
Jun 06 17:01:11 lvl2: 	Added unconfigured joystick 'PDP Faceoff Premiere Wired Pro Controller for Nintendo Switch' (GUID: 030000006f0e00008401000011010000, instance ID: 2, device index: 0).
Jun 06 17:02:23 lvl3: 	fireEvent: screensaver-start
^Cxinit: connection to X server lost

Hardware
Asus Triton 300 Gaming Laptop Nvidia 2070 super X86 Intel cpu

Operating System

lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.4 LTS
Release:	22.04
Codename:	jammy

Nvidia Drivers
This shouldn't be the issue, emulationstation is detecting this just fine.

nvidia-smi
Thu Jun  6 17:10:46 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.171.04             Driver Version: 535.171.04   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 2070 ...    Off | 00000000:01:00.0 Off |                  N/A |
| N/A   36C    P8               4W /  80W |      1MiB /  8192MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+

evtest
I press the 'A' button, then the 'B' button

sudo evtest
....
/dev/input/event7:	Performance Designed Products Faceoff Premiere Wired Pro Controller for Nintendo Switch
...
Properties:
Testing ... (interrupt to exit)
Event: time 1717694184.014408, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90003
Event: time 1717694184.014408, type 1 (EV_KEY), code 306 (BTN_C), value 1
Event: time 1717694184.014408, -------------- SYN_REPORT ------------
Event: time 1717694184.142378, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90003
Event: time 1717694184.142378, type 1 (EV_KEY), code 306 (BTN_C), value 0
Event: time 1717694184.142378, -------------- SYN_REPORT ------------
Event: time 1717694185.182382, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002
Event: time 1717694185.182382, type 1 (EV_KEY), code 305 (BTN_EAST), value 1
Event: time 1717694185.182382, -------------- SYN_REPORT ------------
Event: time 1717694185.278384, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002
Event: time 1717694185.278384, type 1 (EV_KEY), code 305 (BTN_EAST), value 0
Event: time 1717694185.278384, -------------- SYN_REPORT ------------

Display Config

cat .xinitrc
#!/bin/sh
xrandr --output eDP-1 --off
xrandr --output HDMI-0 --mode 3840x2160 --primary
exec emulationstation --debug

I'm stumped. I've tried 3 different controllers. All of them work in evtest. For some reason, I have to add a udev rule for every controller I plugin for emulationstation to recognize it (see below).

Here's what I physically see:
Screenshot 2024-06-06 at 11 20 31 AM

It's worth mentioning that I added this udev rule which allowed retropie to even detect the controller in the first place:

sudo cat /etc/udev/rules.d/99-nintendo-switch-controller.rules
ATTRS{idVendor}=="0e6f", ATTRS{idProduct}=="0184", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1"

emulationstation is running as a user called retropie which is a sudoer and is a member of these groups

groups
retropie tty sudo video input

It doesn't seem like a permission issue because I see no error output in the emulationstation --debug

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant