batocera-linux / batocera.linux

batocera.linux
https://batocera.org
Other
2.01k stars 515 forks source link

[Bug] Too Many Inputs Prevent PS2 and Xbox from Launching Any Titles #5717

Closed AjdinoX closed 9 months ago

AjdinoX commented 2 years ago

There's no rhyme or reason for it. The systems run every game perfectly for a couple days and then randomly it'll fail to launch on games that previously worked. With PS2, there is an exception. When launching from Libretro PCSX2 and launching specifically with OpenGL, the games will indeed load. That's the only exception. This issue was not present in V32.

AjdinoX commented 2 years ago

It's also worth mentioning that over 50 other systems run without issue, especially when there's vulkan support.

AjdinoX commented 2 years ago

I made a discovery tonight. When using my 8BitDo Pro 2 controllers in any setting and trying to launch a title, that is when I can't launch a game. When the controller is powered off and Batocera notifies me, launching the same game on keyboard works. I have no idea what the issue could be. Neither controller can make a breakthrough and I don't have any other controllers at my disposal to try and figure this out.

AjdinoX commented 2 years ago

This is how my es_launch_stderr.log reads:

killall: evmapy: no process killed 2022-03-04 23:22:40,954 ERROR (emulatorlauncher.py:572):runCommand xemu_version: xemu_branch: xemu_commit: xemu_date: Wed Jan 26 06:01:02 AM UTC 2022 [2022-03-04 23:22:40.594] [MANGOHUD] [info] [config.cpp:119] parsing config: '/var/run/hud.config' [2022-03-04 23:22:40.698] [MANGOHUD] [info] [overlay.cpp:678] Uploading is disabled (permit_upload = 0) [2022-03-04 23:22:40.698] [MANGOHUD] [error] [pci_ids.cpp:31] can't find file pci.ids [2022-03-04 23:22:40.699] [MANGOHUD] [info] [imgui_impl_opengl3.cpp:418] GL version: 4.6 [2022-03-04 23:22:40.721] [MANGOHUD] [info] [overlay.cpp:678] Uploading is disabled (permit_upload = 0) [2022-03-04 23:22:40.721] [MANGOHUD] [info] [imgui_impl_opengl3.cpp:418] GL version: 4.6 [2022-03-04 23:22:40.742] [MANGOHUD] [info] [overlay.cpp:678] Uploading is disabled (permit_upload = 0) [2022-03-04 23:22:40.742] [MANGOHUD] [info] [imgui_impl_opengl3.cpp:418] GL version: 4.6 [2022-03-04 23:22:40.764] [MANGOHUD] [info] [overlay.cpp:678] Uploading is disabled (permit_upload = 0) [2022-03-04 23:22:40.764] [MANGOHUD] [info] [imgui_impl_opengl3.cpp:418] GL version: 4.0 GL_VENDOR: NVIDIA Corporation GL_RENDERER: NVIDIA GeForce RTX 2060/PCIe/SSE2 GL_VERSION: 4.0.0 NVIDIA 495.46 GL_SHADING_LANGUAGE_VERSION: 4.00 NVIDIA via Cg compiler xemu_settings_set_path: config path: /userdata/system/configs/xemu/xemu.ini config_parse_callback: [system] flash_path = /userdata/bios/Complex_4627.bin config_parse_callback: [system] bootrom_path = /userdata/bios/mcpx_1.0.bin config_parse_callback: [system] hdd_path = /userdata/saves/xbox/xbox_hdd.qcow2 config_parse_callback: [system] eeprom_path = /userdata/saves/xbox/xemu_eeprom.bin config_parse_callback: [system] dvd_path = /userdata/roms/xbox/America's Army - Rise of a Soldier.iso config_parse_callback: [system] memory = 64 config_parse_callback: [system] shortanim = false config_parse_callback: [audio] use_dsp = false config_parse_callback: [display] scale = scale config_parse_callback: [display] render_scale = 1 config_parse_callback: [display] ui_scale = 1 config_parse_callback: [input] controller_1_guid = 050000007e0500000920000001000000 config_parse_callback: [input] controller_2_guid = config_parse_callback: [input] controller_3_guid = config_parse_callback: [input] controller_4_guid = config_parse_callback: [network] enabled = false config_parse_callback: [network] backend = user config_parse_callback: [network] local_addr = 0.0.0.0:9368 config_parse_callback: [network] remote_addr = 1.2.3.4:9368 config_parse_callback: [misc] user_token = stack smashing detected : terminated

nadenislamarre commented 2 years ago

this looks like a read error on disk. are you on a usb key ?

AjdinoX commented 2 years ago

this looks like a read error on disk. are you on a usb key ?

I am. I'm running Batocera on a USB and the rom library is on an m.2 SSD.

nadenislamarre commented 2 years ago

can you try to reproduce on a different key ?

AjdinoX commented 2 years ago

I actually just bought a new USB key for the purposes of cloning the image, but I can do this instead. I'll post my results.

AjdinoX commented 2 years ago

killall: evmapy: no process killed 2022-03-05 10:24:22,529 ERROR (emulatorlauncher.py:572):runCommand xemu_version: xemu_branch: xemu_commit: xemu_date: Wed Jan 26 06:01:02 AM UTC 2022 [2022-03-05 10:24:22.177] [MANGOHUD] [info] [config.cpp:119] parsing config: '/var/run/hud.config' [2022-03-05 10:24:22.279] [MANGOHUD] [info] [overlay.cpp:678] Uploading is disabled (permit_upload = 0) [2022-03-05 10:24:22.280] [MANGOHUD] [error] [pci_ids.cpp:31] can't find file pci.ids [2022-03-05 10:24:22.280] [MANGOHUD] [info] [imgui_impl_opengl3.cpp:418] GL version: 4.6 [2022-03-05 10:24:22.302] [MANGOHUD] [info] [overlay.cpp:678] Uploading is disabled (permit_upload = 0) [2022-03-05 10:24:22.302] [MANGOHUD] [info] [imgui_impl_opengl3.cpp:418] GL version: 4.6 [2022-03-05 10:24:22.323] [MANGOHUD] [info] [overlay.cpp:678] Uploading is disabled (permit_upload = 0) [2022-03-05 10:24:22.323] [MANGOHUD] [info] [imgui_impl_opengl3.cpp:418] GL version: 4.6 [2022-03-05 10:24:22.345] [MANGOHUD] [info] [overlay.cpp:678] Uploading is disabled (permit_upload = 0) [2022-03-05 10:24:22.345] [MANGOHUD] [info] [imgui_impl_opengl3.cpp:418] GL version: 4.0 GL_VENDOR: NVIDIA Corporation GL_RENDERER: NVIDIA GeForce RTX 2060/PCIe/SSE2 GL_VERSION: 4.0.0 NVIDIA 495.46 GL_SHADING_LANGUAGE_VERSION: 4.00 NVIDIA via Cg compiler xemu_settings_set_path: config path: /userdata/system/configs/xemu/xemu.ini config_parse_callback: [system] flash_path = /userdata/bios/Complex_4627.bin config_parse_callback: [system] bootrom_path = /userdata/bios/mcpx_1.0.bin config_parse_callback: [system] hdd_path = /userdata/saves/xbox/xbox_hdd.qcow2 config_parse_callback: [system] eeprom_path = /userdata/saves/xbox/xemu_eeprom.bin config_parse_callback: [system] dvd_path = /userdata/roms/xbox/Aeon Flux.iso config_parse_callback: [system] memory = 64 config_parse_callback: [system] shortanim = false config_parse_callback: [audio] use_dsp = false config_parse_callback: [display] scale = scale config_parse_callback: [display] render_scale = 1 config_parse_callback: [display] ui_scale = 1 config_parse_callback: [input] controller_1_guid = 050000007e0500000920000001000000 config_parse_callback: [input] controller_2_guid = config_parse_callback: [input] controller_3_guid = config_parse_callback: [input] controller_4_guid = config_parse_callback: [network] enabled = false config_parse_callback: [network] backend = user config_parse_callback: [network] local_addr = 0.0.0.0:9368 config_parse_callback: [network] remote_addr = 1.2.3.4:9368 config_parse_callback: [misc] user_token = stack smashing detected : terminated

AjdinoX commented 2 years ago

I've just tried this on a different USB brand with no differences made. Here are the results:

killall: evmapy: no process killed 2022-03-05 20:06:27,034 ERROR (emulatorlauncher.py:572):runCommand xemu_version: xemu_branch: xemu_commit: xemu_date: Wed Jan 26 06:01:02 AM UTC 2022 [2022-03-05 20:06:26.692] [MANGOHUD] [info] [config.cpp:119] parsing config: '/var/run/hud.config' [2022-03-05 20:06:26.788] [MANGOHUD] [info] [overlay.cpp:678] Uploading is disabled (permit_upload = 0) [2022-03-05 20:06:26.788] [MANGOHUD] [error] [pci_ids.cpp:31] can't find file pci.ids [2022-03-05 20:06:26.789] [MANGOHUD] [info] [imgui_impl_opengl3.cpp:418] GL version: 4.6 [2022-03-05 20:06:26.812] [MANGOHUD] [info] [overlay.cpp:678] Uploading is disabled (permit_upload = 0) [2022-03-05 20:06:26.812] [MANGOHUD] [info] [imgui_impl_opengl3.cpp:418] GL version: 4.6 [2022-03-05 20:06:26.833] [MANGOHUD] [info] [overlay.cpp:678] Uploading is disabled (permit_upload = 0) [2022-03-05 20:06:26.833] [MANGOHUD] [info] [imgui_impl_opengl3.cpp:418] GL version: 4.6 [2022-03-05 20:06:26.855] [MANGOHUD] [info] [overlay.cpp:678] Uploading is disabled (permit_upload = 0) [2022-03-05 20:06:26.855] [MANGOHUD] [info] [imgui_impl_opengl3.cpp:418] GL version: 4.0 GL_VENDOR: NVIDIA Corporation GL_RENDERER: NVIDIA GeForce RTX 2060/PCIe/SSE2 GL_VERSION: 4.0.0 NVIDIA 495.46 GL_SHADING_LANGUAGE_VERSION: 4.00 NVIDIA via Cg compiler xemu_settings_set_path: config path: /userdata/system/configs/xemu/xemu.ini config_parse_callback: [system] flash_path = /userdata/bios/Complex_4627.bin config_parse_callback: [system] bootrom_path = /userdata/bios/mcpx_1.0.bin config_parse_callback: [system] hdd_path = /userdata/saves/xbox/xbox_hdd.qcow2 config_parse_callback: [system] eeprom_path = /userdata/saves/xbox/xemu_eeprom.bin config_parse_callback: [system] dvd_path = /userdata/roms/xbox/Advent Rising.iso config_parse_callback: [system] memory = 64 config_parse_callback: [system] shortanim = false config_parse_callback: [audio] use_dsp = false config_parse_callback: [display] scale = scale config_parse_callback: [display] render_scale = 1 config_parse_callback: [display] ui_scale = 1 config_parse_callback: [input] controller_1_guid = 050000007e0500000920000001000000 config_parse_callback: [input] controller_2_guid = config_parse_callback: [input] controller_3_guid = config_parse_callback: [input] controller_4_guid = config_parse_callback: [network] enabled = false config_parse_callback: [network] backend = user config_parse_callback: [network] local_addr = 0.0.0.0:9368 config_parse_callback: [network] remote_addr = 1.2.3.4:9368 config_parse_callback: [misc] user_token = stack smashing detected : terminated

AjdinoX commented 2 years ago

I finally figured out what the issue was. I had too many inputs plugged into my system at once. PS2 and Xbox will only work with a maximum of 2 controllers active, maybe 3 if you consider a mini wireless keyboard.

nadenislamarre commented 2 years ago

so, it would be a bug if "too many" inputs are plugged. can you reduce this name to be more precise please ?

AjdinoX commented 2 years ago

so, it would be a bug if "too many" inputs are plugged. can you reduce this name to be more precise please ?

Done and done!

dmanlfc commented 2 years ago

try this build here please... https://drive.google.com/drive/folders/1_bqmR7CoZ78i7DolYt5b-RRqB5c-LPyN?usp=sharing

dmanlfc commented 2 years ago

@AjdinoX please provide an update...

AjdinoX commented 2 years ago

@dmanlfc After many attempts to repeat the process, I can't get passed bluetooth setup now. At best, the system will detect and setup the item and show that it successfully connected, but it the controller won't actually work. It also established bluetooth connect on the same device twice, but not actually working once again. At worst, the system won't seem to detect any bluetooth devices. I've used multiple controllers too. So, in summary, it seems like it's another step back, not forward.

AjdinoX commented 2 years ago

One more detail, when the controller connects, it shuts off.

dmanlfc commented 2 years ago

so it's just the 8bit thingyo that has the issue, is it just with Bluetooth or wired? Is it in XInput mode? Have you set any custom controls through the app? - it needs to be default.

AjdinoX commented 2 years ago

It's all default settings. The controllers are in switch mode. Bluetooth.

dmanlfc commented 2 years ago

ok currently the controller is supported under D-Input or X-Input modes (i.e. Xbox 360 pad) i'm still working on Switch mode as the Linux kernel just got support for it. Please use alternatives for now.

AjdinoX commented 2 years ago

I'll try X-Input in the morning and see what changes. I'll let you know.

dmanlfc commented 2 years ago

D-Input is likely to be better, try both.

dmanlfc commented 2 years ago

@AjdinoX can we have an update please?

AjdinoX commented 2 years ago

I'll give the d-input a shot tomorrow. I'm not set up for it right now.

AjdinoX commented 2 years ago

@dmanlfc I'm sorry to say that the same problem is occurring. I have a keyboard, mouse, an all in one keyboard mouse remote, and I can set up a single controller. The moment I plugged in the second controller, the screen blackened.

So in summary, the system freaks out after passing a certain number of inputs. It seems the limit of Batocera is 4.

dmanlfc commented 2 years ago

Hi @AjdinoX I can run 4x controllers + mouse & keyboard just fine. But for my sanity, it's just an issue with Pcsx2 or Xemu, is that right? Other emulators are aok?

AjdinoX commented 2 years ago

Yeah, the other emulators are okay. I haven't repeated that issue in a long time. The screen blackout is more the issue now.

AjdinoX commented 2 years ago

From what I remember, PCSX2 and Xemu would crash immediately when I had the keyboard and mouse plugged in. When those were unplugged, the games would launch.

dmanlfc commented 2 years ago

Sorry @AjdinoX I cannot replicate this on the PCSX2 or Xemu - there must be something else causing your issue. On the positive side, I had good fun playing the original Halo :-)

Tovarichtch commented 2 years ago

I do have a very similar issue. Playing from USB key v35-dev 19th july build. I was testing two wiimotes. Every libretro emulators ends up with the same crash error. Standalones emulators are fine. As soon as I disconnect the second wiimote (lightgun), the game loads. I only have 2 controllers and 2 wiimotes connected, all on Bluetooth.

I will try again on my main machine to compare and will post again here when done.

I suspect my USB key to be the problem.

Tovarichtch commented 2 years ago

After some testing, it was working fine on my main machine with the same Batocera setup (usb key and 2 wiiguns + 1 xbox series x controller + 1 ps4 controller all with BT). No flaw. Including a keyboard and a mouse wired by USB, all good.

In my case, I suspect the problem comes from the laptop itself, precisely the touchpad. It has two drivers : one "basic" and one "advanced" (model : Acer Swift 314-51). In the bios, I can switch between them. Advanced made the RA cores to crash back to ES. When switched to basic, it froze ES entirely in the loading screen. I believe it's something linked to the mice inputs. For my part, I can see two mouse index but none of them are working on the laptop.

maioni commented 2 years ago

Getting a similar issue, not sure if it's the same, but: