I have to force close the game by clicking the Steam logo on the controller and go for Exit game. Then Big Picture returns and it freezes. That's another bug, but still part of my experience.
The same happening to me, but I did not do anything about udev.
Linking here anyway FWIW: https://steamcommunity.com/app/221410/discussions/0/490123197949350214/
I'll try Portal 2 and see.
Do your Big Picture freeze too?
I think the official udev rule is in this post by a Valve dev: http://steamcommunity.com/app/353370/discussions/0/490123197956024380/ A bit different from the one posted on gamingonlinux, maybe the problem is here? Don't forget to set the GROUP correctly to the user that runs Steam. Also it's important to update the Controller to the newest firmware. After that, I didn't have issues with my games anymore.
I added the official Valve rule. I also did the firmware update.
So you had the same issue before?
This is my rule (terminal copy):
[alexhultman@localhost ~]$ cd /etc/udev/rules.d/
[alexhultman@localhost rules.d]$ ls
99-steam-controller
[alexhultman@localhost rules.d]$ cat 99-steam-controller
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666"
KERNEL=="uinput", MODE="0660", GROUP="alexhultman", OPTIONS+="static_node=uinput"
[alexhultman@localhost rules.d]$
I'm on Fedora 22, I have no idea if these rules are active or not but I did reboot.
Do your Big Picture freeze too?
Twice only.
After setting the udev rule, everything is working as before. This was somehow what I expected (if I had perms to use steam, those should be enough to play a game, no?). Portal 2 plays fine, but sometimes in the menu, pressing B does not go back.
Maybe it's about Kernel version? Does the problem persist on 4.2?
"After setting the udev rule, everything is working as before"
As in, it doesn't work? I have kernel 4.2.3 and it is not working (Portal 2 is the only game that works, maybe some other Valve games but haven't tried)
$ uname -r
4.2.3-200.fc22.x86_64
Actually I'd say that emulating a keyboard+mouse works, but emulating a gamepad does not.
Portal 2 plays nice with default settings (Portal 2 Motion Controls), but Fez does not play with defaults (Gamepad) but it does with some community settings (tried Fez, from SaberMage).
Ok if you have the correct udev rule, then please confirm these: Is your user in the group that you set in your udev rule? Try groups username. If yes, is uinput loaded to begin with? Try lsmod | grep uinput. If you don't get any output, load uinput with sudo modprobe uinput, afterwards logout/login again. Now look again in lsmod output, there should be a use count of 1 if you connect your controller. (use count is the number at the end, if it is 0 then there's something wrong)
Is your user in the group that you set in your udev rule? Try groups username.
Yes.
is uinput loaded to begin with? Try lsmod | grep uinput.
No.
If you don't get any output, load uinput with sudo modprobe uinput, afterwards logout/login again. Now look again in lsmod output, there should be a use count of 1 if you connect your controller. (use count is the number at the end, if it is 0 then there's something wrong)
It counts 0 no matter if the controller is plugged or not. I tried wired and wireless, having Steam open and not, having Fez with gamepad settings open and not.
Wow thank you It works for me now.
I did this:
sudo modprobe uinput
sudo chmod 666 /dev/uinput (this is what the rule should do)
Now, lsmod | grep uinput shows 0 connections so I reinserted the USB dongle and now it shows up as 1 connection. Games work now, really good integration actually.
I did what you say, but still no luck.
I also did su -c 'echo uinput > /etc/modules-load.d/uinput.conf' and rebooted to have uinput loaded automatically, but after reboot:
$ ll /dev/uinput
crw-------. 1 root root 10, 223 oct 27 18:56 /dev/uinput
I repeated chmod, but still no luck. lsmod | grep uinput is always at 0. The only thing I notice is that even without all of this, my Steam Controller emulates a keyboard and a mouse in my GNOME session (I imagine this is expected).
Oh wait! It works, but only after opening Steam.
If I close it later lsmod shows 1 device.
If then I unplug and plug the controller, lsmod shows 0 devices again until I open Steam.
But I don't get it... Is all of this not supposed to be fixed by the udev rule?
For now the workaround is clear:
$ sudo modprobe uinput
$ sudo chmod 0666 /dev/uinput
$ steam
I just had steam opened the whole time. The thing that made it work was reinserting the dongle I suppose. Been playing Bioshock Infinite with the controller all day now and it works pretty okay - much better than regular controllers and much worse than a mouse. I guess we should close this and make sure the distribution makes these probes automatically? What dist are you running? I'm on Fedora 22.
It does not make much sense to close a bug that is still open IMHO. If I'm not wrong, all of this should not be needed after adding the udev rule, so there must be something failing... OTOH, sending a bug to RPMFusion to ask them to include the udev rule in the package seems fine. I use Fedora 22 too.
@Yajo does your udev rule have a .rules extension? e.g. /etc/udev/rules.d/99-steam-controller.rules
Yes, you do have to open Steam for the controller emulation to work. If after rebooting your permissions are still crw------- on /dev/uinput your rules are not set up properly. Steam will try to open /dev/uinput when it sees a Steam Controller to create the virtual controller device and will fail to do so if it's not able to write to it.
Fun, it was just the .rules extension. FWIW after rebooting, lsmod | grep uinput shows nothing until Steam is started.
Nothing extracted yet.
So I got the Steam Controller today. It works and is awesome. I played Portal 2 and everything works. No other game, including the games with a controller logo can use the controller. Yes, I did add the udev rule. Games are totally not working with the controller for me.