After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 771342 - Libinput in Wayland Session config options for first person game use case.
Libinput in Wayland Session config options for first person game use case.
Status: RESOLVED NOTABUG
Product: mutter
Classification: Core
Component: wayland
3.20.x
Other Linux
: Normal enhancement
: ---
Assigned To: mutter-maint
mutter-maint
Depends on:
Blocks:
 
 
Reported: 2016-09-13 06:36 UTC by lemurni42
Modified: 2016-09-13 07:17 UTC
See Also:
GNOME target: ---
GNOME version: 3.19/3.20



Description lemurni42 2016-09-13 06:36:00 UTC
I am aware that Gnome's Wayland compositor is dropping support for synaptics (https://bugzilla.gnome.org/show_bug.cgi?id=768682) in favor of libinput.

Libinput seems really promising to work out of the box with support for more involved gestures etc and it seems really nice so far! However there are some issues in the Wayland session (Synaptics Touchpad device found by libinput-list-devices but not by xinput).
- When running fps games (tried minetest, terasology, Amnesia) or when inspecting 3D models in "fly mode" in Blender, the touchpad (same with mouse) pointer speed went beyond sane realms and the first person view was spinning around on the slightest movement. In the normal desktop environment pointer speed is just great though. 
- Another thing is "disable while typing" which has been thoroughly discussed in other threads already.

What i would like to point out is that it is currently impossible to do first person gaming etc. in the Wayland session with libinput, as the config options via glib schemas in dconf-settings or the control center are not sufficient. 
Thus i am back to using the X session for now where the config files in xorg.conf.d are interpreted.

Wanted to ask to things:
* If Gnome 3.20 dropped support for synaptics, why does the X session still support it? or does it not, and is it just that the X compositor reads the xorg.conf.d config files and passes them to libinput, which wayland/mutter does not?
* Could you try the game minetest and see if the camera movement works on your touchpad in the Wayland Gnome session? If it does not work for you either, would could be proposed to solve this? I know gamers typically use Windows, but wouldnt it be nice not to have to resort to that or to using the X gnome session for games?

I am aware that Peter Hutterer et al prefer not to have too many options exposed for libinput, and i understand that. But i still feel that this use case is not so irrelevant and should be looked into.

Thank you!
Comment 1 lemurni42 2016-09-13 06:38:10 UTC
Note: The X session might be even more of a hurdle for gamers, since there are issues with bumblebee: https://github.com/Bumblebee-Project/Bumblebee/issues/764
These issues are easily fixed when known, but i would really prefer to just use a wayland compositor in Gnome :)
Comment 2 lemurni42 2016-09-13 06:48:17 UTC
Gnome 3.20.4, wayland 1.11.0, libinput 1.4.2, xf86-input-libinput 0.19.0.

libinput-list-devices:
Device:           SynPS/2 Synaptics TouchPad
Kernel:           /dev/input/event7
Group:            7
Seat:             seat0, default
Size:             106.63x59.02mm
Capabilities:     pointer 
Tap-to-click:     disabled
Tap-and-drag:     enabled
Tap drag lock:    disabled
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   *two-finger edge 
Click methods:    none
Disable-w-typing: enabled
Accel profiles:   none
Rotation:         n/a

xinput list-props:
Device 'SynPS/2 Synaptics TouchPad':
	Device Enabled (135):	1
	Coordinate Transformation Matrix (137):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	libinput Tapping Enabled (273):	1
	libinput Tapping Enabled Default (274):	0
	libinput Tapping Drag Enabled (275):	1
	libinput Tapping Drag Enabled Default (276):	1
	libinput Tapping Drag Lock Enabled (277):	0
	libinput Tapping Drag Lock Enabled Default (278):	0
	libinput Accel Speed (279):	0.360294
	libinput Accel Speed Default (280):	0.000000
	libinput Natural Scrolling Enabled (281):	1
	libinput Natural Scrolling Enabled Default (282):	0
	libinput Send Events Modes Available (257):	1, 1
	libinput Send Events Mode Enabled (258):	0, 0
	libinput Send Events Mode Enabled Default (259):	0, 0
	libinput Left Handed Enabled (283):	0
	libinput Left Handed Enabled Default (284):	0
	libinput Scroll Methods Available (285):	1, 1, 0
	libinput Scroll Method Enabled (286):	1, 0, 0
	libinput Scroll Method Enabled Default (287):	1, 0, 0
	libinput Disable While Typing Enabled (288):	0
	libinput Disable While Typing Enabled Default (289):	1
	Device Node (260):	"/dev/input/event7"
	Device Product ID (261):	2, 7
	libinput Drag Lock Buttons (290):	<no items>
	libinput Horizonal Scroll Enabled (262):	1
Comment 3 Jonas Ådahl 2016-09-13 06:52:34 UTC
About synaptics in the X session; GNOME does not support configuring synaptics properly in the X session, but it has no control over what the X server chooses. If you choose to use synaptics, you're on your own when it comes to input device configuration, thats all.

About minetest, Amnesia etc in Wayland, it's an Xwayland issue, not a GNOME issue. If you want, you can try the Xwayland patches that fixes this, they are on the xorg-devel mailing list or here: https://github.com/jadahl/xserver/commits/wip/xwayland-pointer-warp . Note that you need the most recent development version of mutter/gnome-shell for that.

About dwt, there is https://bugzilla.gnome.org/show_bug.cgi?id=764852

With that said, I think this bug doesn't have any purpose, so I suggest closing it.
Comment 4 lemurni42 2016-09-13 07:09:20 UTC
Thank you for the feedback! This provides a lot of valuable insight! Hope others will find this here as well.

And thanks for the work on the pointer warping issue! Just wanted to ask when (more or less) you expect this feature to be more or less stable? I can totally wait for it to be packaged in Arch at some point, but just curious (again thanks for working on this!!).

Guess i can also wait for these schemas to become available for the dwt issue as well.

Thanks to all involved in the works! :)