RandR 1.4 Brings Per-CRTC Pixmaps; NVIDIA Support?

Posted by Michael Larabel on December 05, 2010

While version 1.4 of the Resize and Rotate (RandR) extension was supposed to be introduced with X.Org Server 1.9 (to the point that it delayed closing their merge window), it never made it. RandR 1.4 and its per-CRTC pixmaps once again delayed closing the merge window, but this time it's for X.Org Server 1.10 and its promised to only be a few days. Fortunately, it looks like Keith Packard was right this time and RandR 1.4 is about to land.

Intel's Keith Packard wrote a few emails to the X.Org developers over the night commenting on his per-CRTC pixmap implementation for RandR 1.4 in xorg-server 1.10. For those unfamiliar, this support basically provies, "multiple scan-out buffers which applications can create and assign to arbitrary collections of CRTCs. These pixmaps can be associated with a window for use with OpenGL or drawn to directly." This feature really becomes useful when dealing with display setups where the screen layout exceeds the maximum size of the rendering/scan-out engines, provides the abilities for integrating compositing and project transformation into one step, and eliminating visual artifacts during screen rotation.

The technical details behind this xorg-server/RandR implementation can be found in this message. As part of this work, Keith also added support to RandR 1.4 for sprite transforms This will make per-CRTC pixmaps more useful to extended and/or rotated desktops. The technical side of this implementation is documented in this email.

As another change done by Keith last night, with RandR 1.4, NVIDIA may finally be more prone to supporting RandR 1.2+ in their proprietary Linux/Unix graphics driver. While NVIDIA promised proper RandR 1.2 support for their binary graphics driver two years ago, it has yet to come with any screen manipulation still really needing to be done through NVIDIA's extensions where implemented like with their NVIDIA Settings panel. However, last night Keith commented on a discussion (the message) he had with one of NVIDIA's Linux engineers some years ago.

NVIDIA's position was that they could not support the Resize and Rotate extension since their driver couldn't access the mode-setting instructions provided by RandR as a whole, but rather each mode-setting step is submitted to the driver individually. Keith has changed this in RandR 1.4 by adding a new RandR request (RRSetCrtcConfigs) that allows the sending of all instructions over to the X driver in one step. Hopefully now we will see RandR 1.2/1.3/1.4 support finally coming to NVIDIA's proprietary Linux driver in the near future.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. LLVM 3.3 Officially Released
  2. LLVM/Clang Now Uses Loop Vectorizer At New Levels
  3. Intel GPU Driver Tries To Rip Out FBDEV Support
  4. Coreboot Doing AMD USB 3.0, Q35 QEMU Emulation
  5. VP9 Codec Now Enabled By Default In Chrome
  6. openSUSE 13.1 M2 Plays On PulseAudio 4.0
  7. Debian 7.1 Rounds In Some Bug-Fixes
  8. Min / Max FPS Comes To Test Results
  9. Google Pushes More Mesa / Gallium3D Patches
  10. The Phoronix Migration Is Fully Complete
  11. Linux 3.10-rc6 Kernel Brings In More Fixes
Latest Forum Talk
  1. Intel GPU Driver Tries To Rip Out FBDEV Support
  2. AMD Catalyst 13.6 Beta
  3. The Wayland Situation: Facts About X vs. Wayland
  4. VP9 Codec Now Enabled By Default In Chrome
  5. Gallium3D LLVMpipe Benchmarks From Intel Haswell
  6. PulseAudio 4.0 Brings Many Changes
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite