libretro / libretro/RetroArch

Proper Multi Controller Support FireOS 6++, Firestick 4k++

Open
#14,719 0 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

Controller API is fundamentally almost entirely broken on FireOS 6 and FireOS 7.
This is evidenced by being unable to operate two controllers within RetroArch except for FireStick remote + any 1 controller.
Therein is the bug because outside the app, bluetooth controllers no manner how you add can all control the FireOS interface.
The Controller API literally spits in the users face, by claiming to detect controllers under some circumstances and yet when you map one controller to one profile and another to another profile; only one controller works. This is insulting and proof of broken API. Also for wired devices RetroArch has a fallback system, but the fallback system cannot work in tandem with the regular system and the fallback system is also limited to one controller.

Task:

  1. Blacklist devices with the keyword "remote"; this really can't hurt.

Fix regular controller system and fallback system to support more than one controller
OR
Allow for both systems to work side by side, so as to allow at least two game controllers to work with Fire OS 6 and above.
As there are probably significant devices between Android and FireOS, you may want to include these changes under input drivers "FireOS", where users are currently stuck with one option "Android".

More info here:

https://www.reddit.com/r/RetroArch/comments/w9lfi1/amazon_fire_tv_stick_4k_max_controller_issues/

This problem affects millions of amazon devices.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by examining RetroArch's Android input driver and its wired-device fallback behavior, then reproduce the issue with two controllers on FireOS 6 or 7. Done means two game controllers can operate concurrently, with remote devices handled as specified; the issue does not name particular source files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, c
Domain
mobile, operating-systems
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.