1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking Benchmarking Platform
Phoromatic Test Orchestration

Canonical's X Gesture Extension Being Re-Evaluated

X.Org

Published on 28 August 2010 12:43 PM EDT
Written by Michael Larabel in X.Org
10 Comments

Earlier this month Canonical introduced its own multi-touch framework for Ubuntu that is set to premiere with Ubuntu 10.10 "Maverick Meerkat" and it's called UTouch and is joined by their own gesture/touch language. That same day as announcing UTouch for Ubuntu that will support devices like the Apple Magic TrackPad and Dell XT2, Canonical proposed the X.Org Gesture Extension to the X.Org development community. While it's good to see Canonical making more contributions to upstream projects that it depends upon for Ubuntu Linux, the X.Org Gesture Extension is already being re-evaluated and may in fact not be needed.

Since Canonical's Chase Douglas published his xorg-devel email in which he laid out their proposed specification for X.Org Gesture Extension protocol v1.0, there's been some dissenting opinions by X.Org developers about how the gesture recognition should be handled. Part of this proposed gesture extension provides an interface for X clients to register and receive gesture primitive events and X clients to then act as a gesture engine. Canonical is of the belief that the gesture handling should be handled server-side by X while the X.Org developers -- such as Kristian Høgsberg and MPX-creator Peter Hutterer -- want this input gesture recognition to be handled client-side out of the X.Org Server.

In a new email by Chase, Canonical justifies the gesture recognition per the X.Org Gesture Extension proposal to be handled within the server for the following reasons: 1. With handling of input events (touches) that may span multiple windows, but the recognized gesture event is supposed to only affect the first window, the X.Org Server shouldn't be firing off the input events to any other windows. 2. If the handling is done by the client, there's also the possibility the recognition would occur twice -- once by the window manager and then again by any window clients that may want to recognize their own input events. Canonical admits though that if this task were to be performed twice there would be little in the way of latency problems. 3. Lastly, multi-touch events are not exposed to the client in the X.Org Server used by Ubuntu 10.10, where Canonical wants this first cut of UTouch / X.Org Gesture Extension to be deployed.

The common position against having the gesture recognition engine in the X Server and instead on the client-side (such as within the window manager instead), can be summarized by Carsten Haitzler with "I absolutely agree with peter on this. Frankly the problem is that input from a mouse, or a tablet or multiple touch-points is ambiguous. You may be painting in GIMP - not trying to "swipe to scroll". I can go on with examples (dragging a slider inside a scrollable area as opposed to wanting to scroll with a drag). Only the client has enough detailed knowledge of the window contents, application mode etc. To possibly make a reliable guess as to which one to do. It's X's job to provide as much device input to the client as it needs in a sane digestible way to make such a decision, but... that's [in my honest opinion] where the server's job ends."

Chase does acknowledge, "It's true that the logic behind point one may be perfectly fine, but having recognition through X inserts a lot of extra code into the server. If we are content with touches being split up into window regions before recognition occurs, then we may be able to get around the need for the X Gesture extension completely. The window manager use case could be supplied through input grabbing and event replaying."

We will see how this ongoing architectural debate ends, but for Ubuntu 10.10 at least it will be handled server-side.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Articles & Reviews
  1. Sub-$20 802.11n USB WiFi Adapter That's Linux Friendly
  2. The Lenovo T450s Is Working Beautifully With Linux
  3. Linux 4.0 SSD EXT4 / Btrfs / XFS / F2FS Benchmarks
  4. Linux 4.0 Hard Drive Comparison With Six File-Systems
  5. Lenovo ThinkPad T450s Broadwell Preview
  6. How Open-Source Allowed Valve To Implement VULKAN Much Faster On The Source 2 Engine
Latest Linux News
  1. EXT4 In Linux 4.1 Adds File-System Level Encryption
  2. Open-Source Ardour 4.0 Audio Software Has Big Improvements
  3. Linux-Powered Endless Computer Raises $100k+ In A Few Days
  4. GCC 5.1 RC2 Arrives, GCC 5.1 Planned For Next Week
  5. F2FS For Linux 4.1 Has New Features & Fixes
  6. Phoronix Server Upgrade This Weekend: Dual Haswell Xeons, 96GB DDR4
  7. Google's Experimental QUIC Transport Protocol Is Showing Promise
  8. Red Hat Joins Khronos, The Group Behind OpenGL & Vulkan
  9. NetworkManager Drops WiMAX Support
  10. Wine 1.7.41 Works More On Kernel Job Objects, MSI Patches
Most Viewed News This Week
  1. Nouveau: NVIDIA's New Hardware Is "VERY Open-Source Unfriendly"
  2. Linux 4.0 Kernel Released
  3. Microsoft Announces An LLVM-Based Compiler For .NET
  4. Linux 4.1 Brings Many Potentially Risky x86/ASM Changes
  5. Encryption Support For EXT4
  6. VirtualBox 5.0 Beta 2 Released
  7. Mozilla Start Drafting Plans To Deprecate Insecure HTTP
  8. KDBUS Is Taking A Lot Of Heat, Might Be Delayed From Mainline Linux Kernel