Game receives phantom input

Hello Garuda community,

I want to play the game Psychonauts. It runs fine except for one thing: Raz, the controlled game's character, behaves as if I would press constantly up arrow and left arrow keys. This means, it receives input that is actually not provided by my input hardware. I don't have this issue with other programs or games.

If this is not the right forum, please point me out to the right one.

It's a Linux native executable and the issue is independent of a game launcher. I tried to remove all input hardware and removed all mapped keys to the left and up movement but nothing changed. j

How could I procede to check the issue or cause? I wonder, which kind of alternative input sources the game would try to read, besides keys, and falsly interprete. I have special keyboard hardware that came with my tablet-notebook device, which registered a game controller internally /dev/input/js0 instead of a touch pad. Otherwise I only have /dev/input/event{0..17}, /dev/input/mouse{0..4} and /dev/input/mice My keyboard has no numpad keys.

Do you know a site where people share their configuration or help for running games on Linux or Lutris? It took me manual tweaking effort to make it properly usable. I want to save others from the trouble who'd probably even give up and use Windows instead.

Here is my garuda-inxi (I was not playing the game when I run it).

System:
Kernel: 6.3.1-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.1.1
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=11d26dd1-3904-490b-9e30-1b11c6731dc0 rw [email protected]
quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
resume=UUID=bbfad61d-c762-4f28-a49c-e041bde44e28 loglevel=3 ibt=off
Desktop: KDE Plasma v: 5.27.5 tk: Qt v: 5.15.9 wm: kwin_x11 vt: 1 dm: SDDM
Distro: Garuda Linux base: Arch Linux
Machine:
Type: Detachable System: SHIFT product: SHIFT13mi v: N/A
serial: <superuser required>
Mobo: SHIFT model: SHIFT13mi-pcb v: 06 serial: <superuser required>
UEFI: American Megatrends LLC. v: 5.19 date: 01/13/2023
Battery:
ID-1: BAT0 charge: 24.8 Wh (44.8%) condition: 55.3/53.9 Wh (102.5%)
volts: 11.3 min: 11.6 model: Intel SR 1 SR Real Battery type: Unknown
serial: <filter> status: discharging
CPU:
Info: model: 11th Gen Intel Core i5-1135G7 bits: 64 type: MT MCP
arch: Tiger Lake gen: core 11 level: v4 note: check built: 2020
process: Intel 10nm family: 6 model-id: 0x8C (140) stepping: 1
microcode: 0xA6
Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
L1: 320 KiB desc: d-4x48 KiB; i-4x32 KiB L2: 5 MiB desc: 4x1.2 MiB L3: 8 MiB
desc: 1x8 MiB
Speed (MHz): avg: 1834 high: 2400 min/max: 400/4200 scaling:
driver: intel_pstate governor: powersave cores: 1: 2400 2: 2400 3: 2400
4: 912 5: 980 6: 787 7: 2400 8: 2400 bogomips: 38707
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities: <filter>
Graphics:
Device-1: Intel TigerLake-LP GT2 [Iris Xe Graphics] driver: i915 v: kernel
arch: Gen-12.1 process: Intel 10nm built: 2020-21 ports: active: eDP-1
empty: DP-1, DP-2, DP-3, DP-4, DP-5, HDMI-A-1 bus-ID: 00:02.0
chip-ID: 8086:9a49 class-ID: 0300
Device-2: Orbbec 3D USB 2.0 Camera driver: snd-usb-audio,uvcvideo
type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-5:2
chip-ID: 2bc5:051e class-ID: 0102 serial: <filter>
Display: x11 server: X.Org v: 21.1.8 with: Xwayland v: 23.1.1
compositor: kwin_x11 driver: X: loaded: modesetting
alternate: fbdev,intel,vesa dri: iris gpu: i915 display-ID: :0 screens: 1
Screen-1: 0 s-res: 1920x1080 s-dpi: 18 s-size: 2696x1516mm (106.14x59.69")
s-diag: 3093mm (121.77")
Monitor-1: eDP-1 model: BOE Display 0x08dd built: 2019 res: 1920x1080
dpi: 166 gamma: 1.2 size: 294x165mm (11.57x6.5") diag: 337mm (13.3")
ratio: 16:9 modes: 1920x1080
API: OpenGL v: 4.6 Mesa 23.0.3 renderer: Mesa Intel Xe Graphics (TGL GT2)
direct-render: Yes
Audio:
Device-1: Intel Tiger Lake-LP Smart Sound Audio driver: snd_hda_intel
v: kernel alternate: snd_sof_pci_intel_tgl bus-ID: 00:1f.3
chip-ID: 8086:a0c8 class-ID: 0403
Device-2: Orbbec 3D USB 2.0 Camera driver: snd-usb-audio,uvcvideo
type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-5:2
chip-ID: 2bc5:051e class-ID: 0102 serial: <filter>
API: ALSA v: k6.3.1-zen1-1-zen status: kernel-api tools: N/A
Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
Server-2: PipeWire v: 0.3.71 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
Device-1: Intel Wi-Fi 6 AX201 driver: iwlwifi v: kernel bus-ID: 00:14.3
chip-ID: 8086:a0f0 class-ID: 0280
IF: wlo1 state: up mac: <filter>
Bluetooth:
Device-1: Intel AX201 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-10:5 chip-ID: 8087:0026
class-ID: e001
Report: bt-adapter ID: hci0 rfk-id: 0 state: up address: <filter>
Drives:
Local Storage: total: 953.87 GiB used: 142.46 GiB (14.9%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Lexar model: SSD NM6A1 1TB
size: 953.87 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
lanes: 4 tech: SSD serial: <filter> fw-rev: V1.25D temp: 37.9 C
scheme: GPT
Partition:
ID-1: / raw-size: 40.04 GiB size: 40.04 GiB (100.00%)
used: 36.24 GiB (90.5%) fs: btrfs dev: /dev/nvme0n1p7 maj-min: 259:7
ID-2: /boot/efi raw-size: 501 MiB size: 500 MiB (99.80%)
used: 580 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p6 maj-min: 259:6
ID-3: /home raw-size: 280.27 GiB size: 280.27 GiB (100.00%)
used: 51.39 GiB (18.3%) fs: btrfs dev: /dev/nvme0n1p8 maj-min: 259:8
ID-4: /var/log raw-size: 40.04 GiB size: 40.04 GiB (100.00%)
used: 36.24 GiB (90.5%) fs: btrfs dev: /dev/nvme0n1p7 maj-min: 259:7
ID-5: /var/tmp raw-size: 40.04 GiB size: 40.04 GiB (100.00%)
used: 36.24 GiB (90.5%) fs: btrfs dev: /dev/nvme0n1p7 maj-min: 259:7
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 31.08 GiB used: 211 MiB (0.7%) priority: 100
dev: /dev/zram0
ID-2: swap-2 type: partition size: 8.11 GiB used: 0 KiB (0.0%)
priority: -2 dev: /dev/nvme0n1p5 maj-min: 259:5
Sensors:
System Temperatures: cpu: 40.0 C mobo: N/A
Fan Speeds (RPM): N/A
Info:
Processes: 319 Uptime: 8h 46m wakeups: 4 Memory: available: 31.09 GiB
used: 7.36 GiB (23.7%) Init: systemd v: 253 default: graphical
tool: systemctl Compilers: gcc: 13.1.1 clang: 15.0.7 Packages: pm: pacman
pkgs: 1754 libs: 472 tools: gnome-software,pamac,paru Shell: fish v: 3.6.1
default: Bash v: 5.1.16 running-in: dolphin inxi: 3.3.27
Garuda (2.6.16-1):
System install date:     2023-04-30
Last full system update: 2023-05-23 ↻
Is partially upgraded:   No
Relevant software:       snapper NetworkManager dracut
Windows dual boot:       Probably (Run as root to verify)
Failed units:

Thank you.

This seems like a likely cause. Can you disconnect this device to test if it is the source of the issue? Try plugging in an ordinary keyboard instead and see if the game behaves normally.

3 Likes

Thank you very much.

Well, the gamepad is integrated into my setup and it doesn't go away, no matter what devices are plugged in or out. But I tried

sudo chmod a-r /dev/input/js0

and, well, after starting up the game, it immediately stopped behaving awry.

Okay, I need to figure out whether gamepad input can be blocked by Lutris. It's strange, other games don't have this issue.
Thank you once more.

I figured out, the better solution is to use firejail and add this to a startup script, launcher desktop file or invoke it inside the shell:

firejail --noprofile --blacklist="/dev/input/js0" <executable-path>

Source

Lutris allows for a pre-launch and post-exit command but it blocks my mouse controls for the whole system while the game is paused (js0 is used as mouse). By using firejail to start the game, the js0 device remains usable by other programs. It prevents the need for turning read permissions back on after the game was exited and prevents frustration in case, the player would forget it.

2 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.