Metro 2033 Redux

Metro 2033 Redux

View Stats:
CheeseBoar 12 Dec, 2014 @ 2:57am
Linux version always thinks a controller is plugged in?
It seems like Metro Redux (both games) on Linux always recognizes some invisible controller. The button prompts are always Xbox 360 controller icons unless I'm actually moving the mouse, and I can't even get some keyboard controls to work in the game.

In AntiMicro, it shows that I have some controllers installed; that's probably because I was messing with getting the DualShock 4 working in Linux a while back. Is there a way to just disable joysticks from showing up, like pausing the driver or something? I don't want to permanently uninstall it, if that's avoidable.
< >
Showing 1-15 of 16 comments
fac3l3ss 12 Dec, 2014 @ 5:42am 
Your system might be recognizing some device like a keyboard or mouse as a joystick. For instance, my system (Ubuntu 14.04) recognizes my microsoft keyboard 600 as a joystick, must be punishment for using a microsoft product. Had to set a rule at start up to prevent this. First you need to identify the device that is misleadingly recognized as a controller and then establish a rule to disable it, or as a temporary workaround for a session delete the file js0 in the /dev/input/ directory.
To identify the problem run on a terminal "dmesg" or "lsusb" or see inside the file /var/log/Xorg.0.log and identify the device registered as /dev/input/js0 and/or recognized as a controller.
To establish a rule, typing "dmesg" or "lsusb" on a terminal, check out the idvendor and idproduct: example if in lsusb appears "Bus 002 Device 006: ID 045e:0750 Microsoft Corp. Wired Keyboard 600", the idVendor=045e and idProduct=0750. Then create a file /lib/udev/rules.d/52-keyboard.rules and add the following there: (I'm using the example above, but you need to check and change the specific ids of the device causing the problem): SUBSYSTEM=="input", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="0750", KERNEL=="js[0-9]*", MODE="0000"

(adapted from https://bbs.archlinux.org/viewtopic.php?id=142469 and https://bugs.launchpad.net/ubuntu/+source/linux/+bug/390959)
Last edited by fac3l3ss; 13 Dec, 2014 @ 10:17am
CheeseBoar 12 Dec, 2014 @ 1:04pm 
Okay, I'll have to try the advanced stuff later. I deleted js0, though, and it still didn't fix anything in the game. :/

I forgot to mention this before, but the Metro Redux games are the ONLY ones that do this; every other Linux game works fine.
Last edited by CheeseBoar; 12 Dec, 2014 @ 1:04pm
dbz 13 Dec, 2014 @ 12:33am 
You might delete all /dev/inpunt/event files and /dev/input/js files. I hope this will help you, it's worked for me.
CheeseBoar 13 Dec, 2014 @ 1:21am 
I'll give it a shot, yeah. It seems to only be happening with these Metro Redux games, though, so I'm inclined to think it's a game glitch.

If I delete the files, will they be recreated automatically if I want to use a controller again?
dbz 13 Dec, 2014 @ 1:32am 
This files are automatically created during linux boot (you should delete them every time after boot if you want to play game). Or you can just type these commands:
udevadm control --reload
udevadm trigger
as a root.
Last edited by dbz; 13 Dec, 2014 @ 1:34am
CheeseBoar 13 Dec, 2014 @ 1:33am 
Fantastic, that did work! Thanks for all your help!
[RUS]yarra 21 Dec, 2014 @ 3:58am 
It's don't work for me :-(
I didn't have any js* file at /dev/input/

How to fix problem with controller?
[RUS]yarra 25 Dec, 2014 @ 2:12am 
Anyone?
CheeseBoar 25 Dec, 2014 @ 3:18am 
I don't know what the problem could be. :( I've never had a problem finding those files before.
[RUS]yarra 7 Nov, 2015 @ 12:35am 
I did found solution.

I found in /dev/input/by-id nad /dev/input/by-path symbolic links to device joystic:
usb-Microsoft_Microsoft®_2.4GHz_Transceiver_v8.0-if02-event-joystick
pci-0000:00:13.0-usb-0:1:1.2-event-joystick
I delete those links and event5 and in game i don't see any controller!
littleSkylark 16 Jun, 2016 @ 4:22am 
Thanks to all the comments above. With the help of this I managed to fix the issue. I made udev rule which basically does what [RUS]yarra suggested. It might help you as well:

create a file: /usr/lib/udev/rules.d/98-ms-joystick-fix.rules
and put the following content inside that file:
SUBSYSTEM=="input", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="07b2", RUN+="/bin/sh /path_to_the_script/ms-joystick-fix.sh"

then create an other file: /path_to_the_script/ms-joystick-fix.sh
and put the following content inside that file:
readlink -f /dev/input/by-id/usb-Microsoft_Microsoft®_2.4GHz_Transceiver_v8.0-if02-event-joystick | xargs rm
readlink -f /dev/input/by-id/usb-Microsoft_Microsoft®_2.4GHz_Transceiver_v8.0-if02-joystick | xargs rm
rm /dev/input/by-id/usb-Microsoft_Microsoft®_2.4GHz_Transceiver_v8.0-if02-joystick
rm /dev/input/by-id/usb-Microsoft_Microsoft®_2.4GHz_Transceiver_v8.0-if02-event-joystick

You might need to adjust the vendor, product ID or name. How to get the ID is covered by the post from fac3l3ss above.
Last edited by littleSkylark; 16 Jun, 2016 @ 8:12am
Jig McGalliger 16 Jun, 2016 @ 4:05pm 
Another thread that, if we had a moderator on these forums, would be stickied.
Last edited by Jig McGalliger; 16 Jun, 2016 @ 4:05pm
codedcosmos 3 Jul, 2016 @ 3:33am 
Type this in terminal
Seems to fix games that want a controller
sudo rmmod -f joydev
cetx 7 Mar, 2017 @ 12:39am 
removing /dev/input/js0 worked.
modprobe -r joydev also works and is more graceful. I may just blacklist joydev altogether. I don't think it's actually used for anything.
GeeEl 31 Jan, 2019 @ 2:08pm 
I have a similar issue with the Steam Controller where the two Redux games don't like the evdev device for the steam controller. This is under Ubuntu 18.10 - not sure about older versions.

Before I play I remove the event device :
readlink -f /dev/input/by-id/usb-Valve_Software_Steam_Controller-*event-joystick | grep -v Steam_Controller | sed 's/^/sudo rm /'

If the output looks sane I run the command (I'm not yet confident enough to run it automatically). I haven't come across any issues with other games when the event-joystick device is missing, but testing's been very minimal.
Last edited by GeeEl; 31 Jan, 2019 @ 2:09pm
< >
Showing 1-15 of 16 comments
Per page: 1530 50