Skip to content

Releases: intel-retail/software-vsync-modulation-sample

v4.0.0

18 Jul 06:33
2d5e8f7

Choose a tag to compare

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.

v3.0.0

31 Oct 22:13
2f1d310

Choose a tag to compare

Release Notes for vsync v3.0.0

Release Date

2024-10-31

Overview

This release includes new features, bug fixes, and performance improvements to enhance the user experience.
We recommend that all users seeking to develop on Meteor Lake (MTL) and Alder Lake N (ADL-N) devices update to this latest version.
MTL has C10 and C20 PHYs. On a typical MTL system with 4 connectors, we see the first two ports being taken by
C10 PHY and the remaining 2 are controlled by C20. This release experimentally supports C10 PHYs.

For MTL, you should expect only to see changes to the vsyncs reflected on the first two ports which are controlled by the C10 PHY.

What's New

  • A clean exit upon Ctrl+C, restoring the original PLL values.
  • Support added for static linking in addition to the existing dynamic linking (.so).
  • Bash scripts to automate the running of ptp and vsync tools on two machines making env setup much easier and straight forward.
  • Enhanced user information logging detailing available pipes and connectors.
  • Support added for setting shift values via command line parameters, removing the need for hard-coded values.
  • Enabled named command line parameters for user applications such as vsync_test, vbltest, and synctest (e.g., -d 0.01).
  • Implemented dynamic logging capabilities to replace the previously compiled hardcoded log level.
  • Progress view of the vblank period during synchronization.
  • C10 (Meteor Lake PHY) experimental support.
  • Alder Lake N device support

Bug Fixes/Enhancements

  • Enables #18 (Support for Meteor Lake PHYs)

Known Issues

  • Rocket Lake: Unable to detect PHYs
  • 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 2.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.

v2.0.0

05 Jun 23:07
e061a0b

Choose a tag to compare

Release Notes for vsync v2.0.0

Release Date

2024-06-06

Overview

This release includes new features, bug fixes, and performance improvements to enhance the user experience.
We recommend that all users update to this latest version.

This release changes previous behavior of the PHY initialization. In previous versions of the library, initialization continued if not all PHYs were identified. In this release, that behavior changes. The program fails during initialization if there is a shared PHY.

What's New

  • Documentation: Code documentation is now available
  • Versioning: The package is now explicitly versioned
  • Resource files: Kernel patch files are made available
  • Release tag name change: to align with GitHub semantic versioning conventions, new release will now have a 'v' prefix.
  • Release notes: Release notes will now be version controlled.

Improvements

  • Classes Refactor: The code has been restructured to be more modular
  • Individual Pipe Synchronization: User can synchronize on a per pipe basis
  • Debug Level Set: User no longer needs to modify file to set debug level, it can now be done using make debug otherwise, build as usual per the README build steps

Bug Fixes

  • Fixed issue #11: Shared PLL causes inability to synchronize
  • Fixed issue #10: Raptor Lake not supported

Known Issues

  • Rocket Lake: Unable to detect PHYs

Breaking Changes

  • This version has not been extensively tested for compatibility with 1.x releases: The refactor of the code base means that depending on how your application is architected, products built on older library versions may be unable to upgrade.

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.

1.3.1

10 Apr 21:28

Choose a tag to compare

What's Changed

  • Add additional debug output for registers
  • Code cleanup

Full Changelog: 1.3.0...1.3.1

v1.3.0

26 Mar 00:31

Choose a tag to compare

What's Changed

  • Resolve div by 0 in issue #7
  • Resolve PLL programming for 4x1 configuration in issue #6
  • Update documentation for new test sample code

Full Changelog: 1.2.0...1.3.0

v1.2.0

21 Dec 02:31

Choose a tag to compare

This release enables the ability to get the vsync of multiple pipes on a given system.

feat: Release Candidate 1.0

25 Jul 02:24
c1a76cc

Choose a tag to compare

feat: Release Candidate 1.0