A Screensaver Interface Comes To Wayland

Posted by Michael Larabel on November 22, 2011

For those wishing to follow the development of Wayland Display Server, there's some new progress to report on. This time it's about supporting screensavers under Wayland.

Pekka Paalanen has proposed a screensaver interface for Wayland, which includes adding the interface to the protocol file, compositor stubs, and other changes.

Details and the patch for Wayland screensaver can be found in this mailing list message. Below is also a description of the work. Pardon for the terse posting due to needing to go meet-up with Egbert Eich of SUSE/RadeonHD, Martin Gräßlin of KDE/KWin, and other Linux stakeholders.
Add the screensaver interface to the desktop-shell protocol file. Also add stubs for it in the compositor, and make wscreensaver to bind to the screensaver interface. Wscreensaver gets a new option --demo to retain the current behaviour as a regular wayland client.

When a screensaver application starts, it should bind to the screensaver interface, enumerate all outputs, create a surface per output, and register those surfaces via screensaver::set_surface request. Then it continues with the usual animation loop, waiting for frame events. The compositor will decide, when the given screensaver surfaces are displayed. A screensaver application should respond to outputs coming and going away by creating and destroying surfaces.

The compositor is supposed to activate a screensaver by exec'ing it, and stop the screensaver by killing the client process. Only one client may be bound to the screensaver interface at a time. If there already is a client, the compositor could either kill it first, or not exec a new one.

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. GCC 4.8.0 vs. LLVM Clang 3.3 Compiler Performance
  2. Intel Linux OpenGL Driver Leading Over Apple OS X
  3. The Cost Of Ubuntu Disk Encryption
  4. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
Latest Linux News
  1. A New X.Org-Free Wayland LiveCD Released
  2. Unity 8, Mir Made Progress This Week On Features
  3. LLVM Clang 3.3 RC2 Is Ready For Testing
  4. AMD RadeonSI Gallium3D Begins Simple CL Demos
  5. Intel Shows Off GNOME3-Based Tizen Shell
  6. Linux Desktop Security Could Be A Whole Lot Better
  7. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  8. New NVIDIA Linux Driver Supports The GeForce GTX 780
  9. Chrome 28 To Offer More Speed Improvements
  10. Digia Announces "Boot To Qt" Project
  11. X.Org Libraries Hit By Round Of Security Issues
Latest Forum Talk
  1. Is there anyway to improve the performance of the...
  2. KDE 4.11 Will Be The Last Major KDE4 Workspaces...
  3. Steam: No used games...
  4. A New X.Org-Free Wayland LiveCD Released
  5. New Intel X.Org Driver Supports All Of Haswell
  6. Debian GNU/Hurd 2013 Release Brings New Packages
  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