Tau5 / Co-op-on-Linux

Scripts for that allows Co-op on any games on linux
31 stars 6 forks source link

The steam deck's built in controller is detected but doesn't work with the app #7

Open zylonity opened 4 months ago

zylonity commented 4 months ago

Like the title says, I'm trying to set terraria up on my steam deck, but the app doesn't let me join with the steam deck's controller, log detects it but says it doesn't look like a controller. An external PS5 controller works though

I also can't get terraria to open, I'm not sure if that's a separate issue, the windows open but nothing shows up in them

First I used release 0.3.0 with the controller zip file you posted in another issue and then I used release 0.4.0 last night

Tau5 commented 4 months ago

Try closing steam and/or disabling steam input

zylonity commented 4 months ago

I'll give it a go, one sec

zylonity commented 4 months ago

Yeah doesn't work, I can't disable steam input since it's the deck's own controller, and closing steam does nothing

From what I can see, it can't open the valve controller events without sudo, but then it gives me the "This device does not look like a gamepad"

It doesn't help that I can't run it with sudo and without steam open as I need the on screen keyboard to type the command/password

zylonity commented 4 months ago

The original repo does detect the controllers, but doesn't open up terraria for me and bugs the hell out my deck lol

Tau5 commented 4 months ago

I'll try to look into it later, I had only tested on deck with external controllers and not trying to use the internal controller

zylonity commented 4 months ago

Cool thank you :) Do you happen to know what I could try to get terraria to open in the meanwhile? When I start it (admittedly only using one external remote) I get a blank screen and the game doesn't seem to open

Tau5 commented 3 months ago

Hi! I've made a new release and it should fix this issue, could you check it?

zylonity commented 3 months ago

Works perfectly thank you 😄

zylonity commented 3 months ago

Wait, shit, sorry, I know I closed the issue, but now even though the controller is detected, when the game's open the external controller controls both screens/sides. More details/testing here, the steam deck's controller is detected by the controller selector in all scenarios:

If I make the profile with one window, 2 sides:

If I make the profille with 2 windows:

Thank you so much for making the script, admittedly I don't think I'll need it for a while but I'm down to help/test where I can

Tau5 commented 3 months ago

Hi, thank you so much for the detailed report!

Can you test opening though game mode (2 sides) but disabling steam input for the shortcut? (It won't allow you to disable it for the steam deck gamepad - that's normal. But it will allow you to disable steam input for the external gamepads)

Could you also tell me the output when you run the shortcut and what it writes to controllers.rc ?

Thanks

zylonity commented 3 months ago

Hey, opening the game with disabled steam input does the same thing, it makes no difference wether it's enabled or disabled :P

Here's the controllers.rc content:

export CONTROLLERS_NUM=2
function load_controller_firejail_args_array() {
    controller_firejail_args[0]="--blacklist=/dev/input/event8 --blacklist=/dev/input/js0 --blacklist=/dev/input/event19 --blacklist=/dev/input/js3 "
    controller_firejail_args[1]="--blacklist=/dev/input/event16 --blacklist=/dev/input/js1 --blacklist=/dev/input/event19 --blacklist=/dev/input/js3 "
}
export -f load_controller_firejail_args_array
Tau5 commented 3 months ago

I've tested only on desktop mode but I think this should work (If you disable steam input for other controllers) Replace the appimage in controller-selector for this one, rename it to controller-selector controller-selector.zip