ValveSoftware / ValveSoftware/Proton

Keyboard input "sticking" on GNOME at low FPS

Open
#5,294 50 comments 31 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Regression
Dominant language
C++
Stars
32.8k
Forks
1.6k
PR merge metrics
PR metrics pending

Description

I've encountered an issue where keyboard input will "stick" in games running on Proton. This means that if I hold a directional key for a few seconds the input will persist for some time after releasing. This issue is way more apparent when the framerate is lower. It's imperceptible when the game is running at 120+ fps, somewhat perceptible when running at 60 fps, and extremely apparent at 30 fps. At 30 fps the input will persist for multiple seconds.

Proton 6.3-7 and Proton - Experimental are affected by this. Older versions that are available in Steam (<=5.13.6) are not. In GloriousEggroll's build of Proton this issue seems to have been introduced between 6.5-GE-1 and 6.5-GE-2.

This seems to be an issue that happens only on GNOME. I'm currently on Ubuntu 21.10 (GNOME) where this occurs. I tested on Arch+KDE and on Arch+Sway and it didn't occur on either. It's not exclusive to my setup/hardware because it occurs on both my PC and my laptop.

It doesn't happen in every game. So far I've experienced it in: Portal 1, Race the Sun, Jump King, Far Cry 5, and Here Comes Niko. Spyro Reignited Trilogy is one game I've seen so far where it doesn't happen. To clarify: this only happens in Proton. Portal 1 running through Proton is affected but the native version is not.

Only keyboard input is affected. Using a dpad on a controller does not produce this behavior. Modifier keys on the keyboard (like CTRL and SHIFT) are not affected either.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue on GNOME at 30 FPS, comparing Proton 5.13.6 with Proton 6.3-7 or Proton Experimental and checking the listed affected games. Compare keyboard behavior with KDE or Sway and with controller input; done means directional keys no longer persist after release at low frame rates.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, linux
Domain
desktop-dev, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.