Skip to content

v4.0.0

Choose a tag to compare

@oliverheard oliverheard released this 18 Jul 06:33
· 7 commits to main since this release
2d5e8f7

Release Notes for vsync v4.0.0

Release Date

2025-07-16

Overview

This release includes additional platform support (Panther, Wildcat & Arrow Lake,) new features, bug fixes, and performance improvements to enhance the user experience.
We recommend that all users switch to the latest version as this release contains significant code improvements.

What's New

  • Panther, Wildcat and Arrow Lake Support
  • C10, C20 PHY and M&N support introduced, including new class for initialization and PLL management.
  • Adaptive PLL synchronization introduced in vsync_test for secondary mode with learning rate and time window support. Enabled by default.
  • Improved sync stability by delaying corrective actions until multiple out-of-sync readings are observed.
  • Fast convergence mechanism implemented for large timestamp drifts, reducing visual disruptions.
  • Overshoot ratio feature added to allow fine-grained control in secondary clock alignment.
  • Direct PLL clock setting API with stepped adjustment support added to vsync_lib.
  • Added usage guidance for PTP and Chrony time synchronization.

Bug Fixes/Enhancements

  • API made fully C-compatible, removing C++-specific constructs.
  • Refactored PHY classes into a common base (phys) to improve modularity and reuse.
  • Unit tests integrated using the Unity framework, covering PHY programming, PLL adjustments, and reset behavior.
  • Code coverage enabled using gcov and lcov.
  • Refactored PHY classes into a common base (phys) to improve modularity and reuse.
  • Support for dry-run mode in synctest, allowing safe simulation without hardware updates.
  • New option to preserve PLL values after timer expiry for debugging and advanced workflows.
  • CSV logging added for:
    • Drift and duration tracking
    • Sync config and frequency changes
    • Python script provided to generate plots from CSV files.
  • Improved error verbosity across synctest, vbltest, and vsync_test.
  • PLL frequency precision fixes in PHY implementations.
  • Corrected time drift direction handling in PLL adjustments.
  • Improved device parsing by dynamically resolving PCI devices from /dev/dri/cardX.

Known Issues

  • Screen flicker: Value for SHIFT may be too large and causes flickering on screen when synchronized, adjust the value to resolve.

Breaking Changes

  • This version is backward compatible with 3.x releases.

Contributors

How to Get It

You can download the latest release from the releases page.

Additional Notes

  • If you have any problems with this library, please open a new issue

For more details, please see the changelog or visit our documentation.