Skip to content
Waxed Display Server

VSync

Done

Perfect frame synchronization without tearing

Category: Rendering
Version: v1.0.0
Status: Done

VSync

Waxed handles all frame timing so your plugin doesn’t have to. Ensures tear-free rendering by synchronizing frame presentation with display refresh cycles.

How It Works

VSync (Vertical Synchronization) coordinates frame presentation with the display’s refresh cycle. When enabled, frames are only presented when the display is ready to accept them, preventing the visual artifact known as “tearing” where parts of multiple frames are visible simultaneously.

Core Implementation

Waxed implements VSync at the DRM/KMS level, using the atomic commit infrastructure to precisely time when frames appear on screen. This means:

  • Zero plugin code required - VSync is handled entirely by the core
  • Consistent behavior - All plugins get the same tear-free experience
  • No configuration - Works out of the box with sensible defaults

Benefits for Plugin Developers

  1. No frame timing logic - Don’t worry about when to present frames
  2. Predictable rendering - Know exactly when frames will appear
  3. Smooth animations - Consistent frame pacing for UI effects

Technical Details

  • Uses DRM atomic commits with page-flip events
  • Integrates with the frame pipeline for optimal scheduling
  • Works alongside triple buffering for reduced latency
  • Compatible with VRR when displays support it

Plugin Integration

Frame presentation is handled automatically by the core. Plugins simply render to the provided surface, and Waxed handles timing.