chrippa/ds4drv

Retropie: Ghost controllers

Opened this issue · 0 comments

This guide was followed to install ds4drv on RetroPie.
It is more or less the same as the github documentation.

Problem:

Adding a line of code into the Retropie startup configuration file to initialize ds4drv
automatically connects a "simulated" or "ghost" controller to the system.
(This controller does not appear in the Bluetooth settings menu
under actively connected controllers.)

Thus, if the ds4drv driver is initialized in the startup configuration code,
then during startup
(with all actual controllers shut off and unconnected in any way),
the "request for an input controller" screen does not appear,
due to the presence of a ghost controller.

If a real/actual controller is then paired (connected)
another controller is added farther down on the controller stack.
Thus, after a real controller is connected,
the system states that 2 controllers are connected in the Input Configuration menu.

To my knowledge, there is no ability to take over the ghost controller.
This blocks out the user's ability to input to Player 1,
which is generally pretty damn important.

Additional information:

If ds4drv's "--next" option is used in the startup configuration code,
additional ghost controllers are connected
for each use of the "--next" option.

Again, each additional ghost controller will fill the first available controller slot,
and only then will any actual controllers which are connected afterward,
(whether through Bluetooth or USB)
will default to the next available slot.

On the other hand, if the ds4drv driver is not initialized
the controllers will not connect via Bluetooth.
This is equally problematic.

(Prior testing with the DS3 driver (sixad) did not create static ghost input controllers;
controllers were able to be added and removed dynamically.)

A similar issue was listed here for the xbox controller driver creating ghost inputs.