You can sign up to get a daily email of our articles, see the Mailing List page!

I'm sure many of you will be aware by now that the Unity game engine has suffered problems with Linux support lately. One of those issues to do with keyboard input does actually have a workaround.

What happens, is that you might bring up a chat box and attempt to type "Hello", but it will end up as "Hheelllloo" as it's detecting more keystrokes than it should be. This also affects character movement in games too, like holding SHIFT to run will end up repeatedly switching between walk and run as if you're tapping the key constantly. It causes a lot of other issues too, it's quite a nuisance.

The fix is quite simple, if you add this as a launch option in Steam for the affected games:

XMODIFIERS='' %command%

Or for games not on Steam:

XMODIFIERS='' ./game_executable

That has been tested by myself and others and it really does fix it. From what I understand, it's an issue with "ibus", which is installed along with GNOME and it should be fixed in the latest stable version of Unity from what developers have told me.

The issue causes some games to be practically unplayable, until developers work on a fix themselves or upgrade Unity. Both can end up taking rather a long time!

Update: As it turns out, the issue stems from multiple bugs in SDL2. They affected Unity's build of SDL2 as they had Ibus and fctix turned off as per this bug report. I spoke with Marc from Unity (previously from Feral) who submitted the patch, which has been accepted upstream into SDL2. The rest (like this fix) has already been solved in SDL2 and merged into Unity already in the latest version.

With thanks to Steff for the tip.

Article taken from GamingOnLinux.com.
Tags: HOWTO, Unity
13 Likes
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG and Humble Store. See more here.
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
The comments on this article are closed.
15 comments
Page: «2/2
  Go to:

CrackedCrafterz 24 Aug, 2018
I think, I have to install Rust again :D
beko 24 Aug, 2018
Quoting: 14Well, now I know why I wasn't experiencing this well-known bug. It must not occur to KDE Plasma users.
Gnome user here. I never experienced this well known bug. It must not occur to Gnome users.

??
14 24 Aug, 2018
View PC info
  • Supporter Plus
Quoting: beko
Quoting: 14Well, now I know why I wasn't experiencing this well-known bug. It must not occur to KDE Plasma users.
Gnome user here. I never experienced this well known bug. It must not occur to Gnome users.

??
I wasn't over-valuing my anecdotal experience. The article said that it was related to ibus which is installed by Gnome.
MayeulC 24 Aug, 2018
Quoting: Phlebiac
Quoting: roothorickWe really should advocate for dynamic linking and shipping the .so's alongside the game, specifically for situations like this. A lot of games won't get updated at all.

https://plus.google.com/+RyanGordon/posts/TB8UfnDYu4U

TL; DR: set the game launch options to SDL_DYNAMIC_API=/path/to/my/sdl.so %command%

On your system, that path could be ~/.steam/bin64/libSDL2-2.0.so.0 (adjust as needed for 32 bit games).

Edit: assuming Steam ships the fix...

But yeah, that post is very interesting if you're technical-minded. I actually re-read it, and found out that I misremembered the part about the zlib licence; I thought it forced you to be able to override it. Thanks for the link! I <3 Icculus :D


Last edited by MayeulC on 24 August 2018 at 3:16 pm UTC
roothorick 11 Sep, 2018
Quoting: MayeulC
Quoting: Phlebiac
Quoting: roothorickWe really should advocate for dynamic linking and shipping the .so's alongside the game, specifically for situations like this. A lot of games won't get updated at all.

https://plus.google.com/+RyanGordon/posts/TB8UfnDYu4U

TL; DR: set the game launch options to SDL_DYNAMIC_API=/path/to/my/sdl.so %command%

On your system, that path could be ~/.steam/bin64/libSDL2-2.0.so.0 (adjust as needed for 32 bit games).

Edit: assuming Steam ships the fix...

But yeah, that post is very interesting if you're technical-minded. I actually re-read it, and found out that I misremembered the part about the zlib licence; I thought it forced you to be able to override it. Thanks for the link! I <3 Icculus :D

I compiled 2.0.8 myself and tested with Golf With Your Friends. It works!
While you're here, please consider supporting GamingOnLinux on:

Patreon, Liberapay or PayPal Donation.

This ensures all of our main content remains totally free for everyone with no article paywalls. We also don't have tons of adverts, there's also no tracking and we respect your privacy. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.
Livestreams & Videos
None currently, submit yours here!