How did you run Steam as root?
Here, see /usr/bin/steam :
if [ "$(id -u)" == "0" ]; then
show_message --error $"Cannot run as root user"
exit 1
fi
You misunderstand. I don't run Steam as root, but inside a chroot. I have a non-multilib 64bit Gentoo. I have to run Steam inside a 32bit chroot because I don't have 32bit libraries in my main system.
Anyway, everything works fine inside the chroot (including the games I mentioned with gamepad support), so it should not have any influence in the gamepad detection by Steam.
Oh, sorry.
Chroot has a poor interaction with external devices such as a network, usb controllers...
This will likely help, https://github.com/ValveSoftware/steam-for-linux/issues/2092?source=c#issuecomment-24872837
No, it doesn't help. The only solution in #2092 is permissions-related, and as I stated (in the bug title!) I already have read and write permissions in the eventX device.
Did you bind /proc, /dev, /sys to your chroot? If so, it may be a problem with udev, try running "udevadm monitor --environment" inside your chroot, plug and unplug the joystick and see what you get.
Yes, I bind /proc, /dev, /dev/pts, /dev/shm, /run/dbus and /sys in the chroot. But I don't have udevadm (or anything udev-related) inside the chroot, just outside (/dev is managed by the 64bit system, not the 32bit system in the chroot). Can that be a problem? Shouldn't steam just try to open /dev/input/eventX, no matter what dev managing system is installed?
udev is used by SDL and in consequence by Steam to detect joysticks. If udev is not working, your joystick won't be detected (and I think udev needs access to the system wide database to work properly)
Ok. I thought SDL was "dumber" and just looked for event devices in /dev/input instead of asking udev/dbus for them. I'll try to get udev working inside the chroot then.
The permissions set by udev on /dev/input/event* are indeed a problem on many systems, but for some of us, Steam's Big Picture still says "no controller detected" after the permissions have been fixed. Alexey Loukianov did an outstanding job of investigating, and posted details in #1894.
In short:
env SDL_JOYSTICK_DEVICE=/dev/input/event18 steamHey the "env SDL_JOYSTCK_DEVICE" Solution works for me, couldnt get my gamepad working before.
Now i wonder if theres a way to get more than one gamepad detected for local multiplayer games this way?
sonicnkt, have you tried putting a list of /dev/input devices, separated by : characters, in the environment variable? env SDL_JOYSTICK_DEVICE=/dev/input/event18:/dev/input/event19
wow didnt think it was that easy :)
thanks for the help
Hello, is anyone still experiencing this issue with an up to date system?
Closing pending feedback.
SDL_JOYSTICK_DEVICE=/dev/input/event18:/dev/input/event19`x1 2014-09SDL_JOYSTCK_DEVICEx1 2014-09SDL_JOYSTICK_DEVICEx1 2014-07SDL_JOYSTICK_DEVICE=/dev/input/event18x1 2014-07
I know there have been a lot of people complaining about their controller not being detected in big picture mode, but in all the forum threads/bug reports/blog posts etc I've seen the problem was caused by bad permissions in /dev/input/eventX. That's not my case.
I'm trying to use an Xbox 360 controller in BPM (I've also tried with an old Saitek P880; it has the same problem). I'm running Steam in a 32bit chroot in Gentoo. I can cat /dev/input/event6 and /dev/input/js0 as any user, and it prints characters as I use the gamepad, both outside and inside the chroot. Some games I've tested work fine with the controller (And Yet It Moves, Stealth Bastard Deluxe, Shatter...). But not Steam.
Is there any way to find out why is it failing?