steamcontroller icon indicating copy to clipboard operation
steamcontroller copied to clipboard

Unable to fall back to steam driver

Open appletalk opened this issue 9 years ago • 5 comments

Hello, I hope this is appropriate place to ask. After testing out this driver (which works great), I am unable to fall back to simply using steam without this driver activated. Is there a process to uninstall it, or revert?

Thanks,

appletalk avatar Feb 08 '16 23:02 appletalk

Hello,

You have to stop it (sc-xbox.py stop) and launch steam.

Regards,

ynsta avatar Feb 09 '16 12:02 ynsta

Hi ynsta Your solution doesn't work - after stopping sc-xbox.py (sc-xbox.py stop) steam doesn't switch controller back. In logs (of steam app) i can see: Unable to open local device: 0003:0002:01 Unable to open local device: 0003:0002:02 Unable to open local device: 0003:0002:03 Unable to open local device: 0003:0002:04 I think it is related with this strange behavior.

ghost avatar Apr 05 '17 19:04 ghost

I notice that physical detaching and attaching again 'Steam Controller' receiver is solution for this issue. I've even tried to use http://marc.info/?l=linux-usb&m=121459435621262&q=p3 to reset usb device (receiver) but no luck - only physical action does the job.

ghost avatar Apr 05 '17 19:04 ghost

Hi another tip :), i'm not python developer but i think this code is never invoked: sc-xbox.py

class SCDaemon(Daemon):
    def run(self):
        evm = evminit()
        sc = SteamController(callback=evm.process)
        sc.run()
        del sc <--- THIS
        del evm <--- THIS
        gc.collect() <--- AND THIS ;)

I've tried to change it like so:

class SCDaemon(Daemon):
    def run(self):
        evm = evminit()
        syslog.syslog(syslog.LOG_INFO, 'GOT SC')
        sc = SteamController(callback=evm.process)
        sc.run()
        syslog.syslog(syslog.LOG_INFO, 'EXITING')
        del sc
        del evm
        gc.collect()

and i can see GOT SC in journal but EXITING is never printed.

ghost avatar Apr 06 '17 14:04 ghost

Struggling with issue too, but using steam link for raspberry pi. Basically, i've got retropie with emulation station frontend that installed this driver and added it rc.local. Now whenever i launch steam link from emulation station - it recognizes the controller as xbox 360. i've tried to run sc-xbox.py stop before launching steam link, no result. then i tried to unplug steam controller wireless dongle - and it helped, but obviously this is not the best solution.

@ghost, i've tried to modify SCDaemon class so evm and sc would be object variables and delete them in overridden stop function - that did not help either. Looks like when stop is being called on the script itself - all daemons exit clearly, but something gots messed up with udevd

smumriak avatar Jan 06 '19 17:01 smumriak