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. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Debian GNU/Hurd 2013 Release Brings New Packages
  2. Intel Ultrabook Performance Is Faster With Mesa 9.2
  3. Hot Relocation HDD To SSD Support For Btrfs
  4. Phoronix Test Suite 4.6.0 "Utsira" Released
  5. New Intel X.Org Driver Supports All Of Haswell
  6. SQLite Now Faster With Memory Mapped I/O
  7. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
  8. Qt For Tizen Launches, Based On Qt 5.1
  9. KTAP Released For Linux Kernel Dynamic Tracing
  10. Linux 3.10-rc2 Kernel Takes In A Few Extra Pulls
  11. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
Latest Forum Talk
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. Kubuntu, KDE Has Little Hope For Ubuntu's Mir
  3. Handbrake 0.9.9 Supports OpenCL Offloading
  4. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  5. FreeBSD Still Working On Next-Gen Package Manager
  6. Question for BSD Users :Why do you use Bsd?
  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