X Developer Summit 2008 - Day 1

Written by Michael Larabel in Events on 3 September 2008. Page 1 of 1. Add A Comment

Enclosed in this article are some of our rough notes and audio recordings from the first day of the 2008 X Developers' Summit. More details to come over the next two days. The talks today were mostly related to X Input.

X.Org Foundation:

- $110,000 in the X.Org bank at present.
- Starting next year just one X conference plus weekend FOSDEM. Next year's X Developer Summit may be in Portland, Oregon at the Portland State University and will be a two or three day event. Will likely take place in September 2009.
- Still working on the 501C3 for the X.Org Foundation. They are using the Software Freedom Law Center to do the legal-end of reorganization.
- Board elections. Who knows what's going on?
- Bi-weekly board meetings on IRC, but the minutes from these meetings are not published on the public mailing lists at present.
- They don't have an idea what's going on with X membership at the moment.

X.Org Infrastructure Report:

- X.Org, FreeDesktop.org, and other pages upgraded to MoinMoin 1.6
- 22,000 emails have been moderated. Lately there is a lot of spam on Wiki and e-mail lists.
- The FreeDesktop BugZilla upgraded to latest version.
- They intend on building redundancy into the server infrastructure.
- Replace gitweb with cgit for the FreeDesktop web-based git interface.

Input Status:

- Daniel Stone did a lot of clean-up work on X Input in recent times.
- MPX / Multi-Point X was merged to master in May of this year.
- Focus model is currently semi-broken.
- Direct Rendering Infrastructure 2 will fix the blinking software cursors within MPX.
- Device properties have been backported to X Input 1.5 without input API breakage.
- xf86-input-synaptics is the newest addition and is no longer under the GPL but now MIT license. SHMConfig is being replaced with device properties in this new version.
- xf86-input-evdev 2.1 version will likely include drag lock and wheel emulation.
- 30 different X input drivers on the FreeDesktop infrastructure, but only eight listed maintainers. There are lots of dead input drivers.
- Remove dead input drivers from the next X.Org release, but the code will live on within the X.Org git repository
- Daniel Stone working on cleaning up XKB.

Pointer Acceleration:

- Previously X pointer acceleration has had no scaling in DIX, parallel acceleration, and sometimes there were overshoots.
- Expose device properties for cool UI happenings and the ability to upload user-defined profiles.
- Possible sub-pixel fixed coordinates for touch screens.

Improving Input Latency:

- Strategy #1: Only the event generation is done in a separate thread (Status: Hopefully Done).
- Input Thread: It was expected that the cursor footprint would always live on RSS when the pointer device still is in movement, but it wasn't the case.
- pthread vs. clone input thread code: clone was abandoned due to performance issues. Likely easy to port to using clone in the future.
- Strategy #2: Push input event generation in kernel. Coolest method, but would involve having to avoid two identical sets of code for different contexts in the case of software cursors. This strategy also involves significant code modification. It comes down to being a complete redesign but would solve all latency issues.
- Why this latency input work? This would improve usability and performance with a drop-in replacement (input-thread). If moved into the kernel, it would provide similar X independence to kernel-based mode-setting.
- Keith Packard proposes a separate mouse process and would provide an advantage by providing mouse acceleration in user-space.

Graphics Power Management:

- Chipset power management varies from different vendors.
- Intel Power Management: No direct control over hardware, just bits to set that should power-down unused hardware.
- ATI: PLLs for separate hardware components and can clock down the GPU core and memory frequencies (Note: PowerPlay).
- NVIDIA: Can clock-down core and memory frequencies (Note: CoolBits / Powermizer).
- How low can we go in clocking down the core and memory frequencies without visual artifacts?
- Universal or vendor/driver-specific power management needs to be considered.
- Too much latency in software-controlled backlight.
- Ideally, when a monitor is hot-plugged an interface should pop up asking the user what they want to do, but don't enable it by default.
- With Intel 945 hardware (and presumably newer), a register is magically set when VGA is hot-plugged.
- Frame-buffer compression on Intel works relatively okay if disabling Render acceleration. This should conserve power with having to scan less memory.
- Newer notebook platforms with support for discrete and integrated graphics with the ability to switch between the two makes things difficult.

X Input 2:

- MPX made X Input Extension version 2 needed.
- Some of the ideas: device properties as a significant part, XGE (X Generic Events) as a requirement, axis labeling, relative motion events, force feedback, sub-pixel accuracy, mixed axes, dynamic capabilities, and a decent mask event interface.
- How much of Xi1 will be left in Xi2? Keith Packard says leave in as much as possible to support. Peter responded that Xi2 can support it all but not in a meaningful way.
- Proposed ideas: Hot-plugging events (proposed by Keith Packard) but already in X Server 1.4+ but with bugs, increasing device IDs up to 16 bits, range grab, keysym grab, a method for a key grab that is immune to keyboard grabs, virtual input devices for multimedia keys on keyboard, and separate Xi and Xi2 parsers but end up in a common API.

Here are our audio recordings from the first day of XDS 2008. Pardon if the audio level requires increasing or other changes, but we hadn't the time before the talks had begun to check the audio level nor positioned the microphone properly. Some of the recordings may sound better than others, but it should be improved for the second and third days.

X.Org Foundation Talk

X.Org Server Infrastructure Talk

X Input 2 Talk

Predictable Pointer Acceleration Talk

Improving Input Latency Talk

Graphics Power Management Talk

DRI 2 Contexts BoF Talk

X Input 2 Planning Talk

If you enjoyed this article consider joining Phoronix Premium to view this site ad-free, multi-page articles on a single page, and other benefits. PayPal or Stripe tips are also graciously accepted. Thanks for your support.

Related Articles
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.