KWin Now Supports Suspended Compositing

Posted by Michael Larabel on April 03, 2011

KDE's KWin compositing window manager now supports suspended compositing that can be toggled by applications to provide a cleaner solution for stopping for removing the OpenGL context created by the KDE window manager and blocking the effects system so that directed full-screen applications and games should work better, especially with less than stellar graphics drivers.

KWin/KDE has already supported un-redirecting of full-screen windows in a composited environment, but up to this point the OpenGL context from KWin has still been maintained as well as the window manager's effects system. Thus while the performance may be improved in some instances (for the drivers that are faster without compositing), for other configurations this can still be an issue due to multiple OpenGL contexts and the resources of the effects system running.

With the latest code changes to KWin, proper suspending of compositing is now supported. Under this new model, the OpenGL context from KWin is removed and the effects system is shutdown. This suspending can be done via D-Bus or via Alt + Shift + F12 within KDE. If disabling KWin's compositing, it's also now using this suspended code path. That's if you wish to suspend KWin's compositing manually, but now there's a new way for applications to suspend the compositing automatically.

Not all full-screen applications should suspend compositing, such as when running a web-browser full-screen, but in this case of playing back videos full-screen or a game, KWin compositing can be safely suspended. When an application tells KWin to suspend compositing, it's blocked (with the effects system suspend and OpenGL context removed) until no application is requesting this change of state.

Martin Gräßlin is hoping multi-media applications, games, and Wine will implement support for this suspend-compositing call. The KDE developers are also hoping to make this part of the NETWM specification.

Martin is hoping that the user-interface for toggling compositing can be removed in KDE SC 4.8 as manually changing states will no longer be needed. Though GNOME 3.0 and Ubuntu's Unity desktop wouldn't support this same functionality quite as well since both desktops have an explicit requirement of compositing.

Read more in this blog post.

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. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  2. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  3. F2FS File-System Shows Regressions On Linux 3.10
  4. Previewing The Radeon Gallium3D Shader Optimizations
Latest Linux News
  1. Benchmarking The Intel P-State, CPUfreq Changes
  2. FreeBSD Still Working On Next-Gen Package Manager
  3. DNF Still Advancing As Experimental Yum For Fedora
  4. Logitech Begins Supporting Linux Users
  5. Modern Intel Gallium3D Driver Still Being Toyed With
  6. Linux 3.10 Kernel Benchmarks On A Core i7 Laptop
  7. GCC 4.8.1 Compiler Due To Be Out Next Week
  8. Linux 3.10 Kernel Benchmarks For Intel Ivy Bridge
  9. Linux's "Ondemand" Governor Is No Longer Fit
  10. Firefox 22 Beta Enables WebRTC Support
  11. OpenSUSE 13.1 Milestone 1 Released
Latest Forum Talk
  1. Logitech Begins Supporting Linux Users
  2. DNF Still Advancing As Experimental Yum For Fedora
  3. Benchmarking The Intel P-State, CPUfreq Changes
  4. DRM Moves Ahead With HTML5 Specification
  5. OpenSUSE Considers Replacing LXDE With E17
  6. FreeBSD Still Working On Next-Gen Package Manager
  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