NVIDIA Frame Synchronization Under Linux

During operation, you can also query any of these on each X screen:

‰NV_CTRL_FRAMELOCK_PORT0_STATUS

‰NV_CTRL_FRAMELOCK_PORT1_STATUS

‰NV_CTRL_FRAMELOCK_HOUSE_STATUS

‰NV_CTRL_FRAMELOCK_SYNC_READY

‰NV_CTRL_FRAMELOCK_STEREO_SYNC

‰NV_CTRL_FRAMELOCK_ETHERNET_DETECTED

‰NV_CTRL_FRAMELOCK_SYNC_RATE

‰NV_CTRL_FRAMELOCK_TIMING

nvidia-settingsregisters a gtk+ timeout function and queries the state of these on each X screen every few seconds.

Writing a Frame Lock Client for NV-CONTROL 1.9 (and later)

These are the two major changes to frame lock configuration in NV- CONTROL 1.9:

‰Display devices (instead of X Screens) are now selected as the clients and slaves of a frame lock group.

‰Frame lock attributes should now be set/queried on Quadros

(NV_CTRL_TARGET_TYPE_GPU) and Quadro G-Sync II (frame lock) devices (NV_CTRL_TARGET_TYPE_FRAMELOCK) using the new NV- CONTROL targeting API.

See the sample NV-CONTROLclients in the samples directory for basic examples of how to use the new targeting API (nv-control-targets. c) and a basic frame lock client (nv-control-framelock.c). See the file ctkframelock.c for a much more involved example of how the nvidia- settings utility programs the frame lock attributes.

The constants referenced below are defined in NVCtrl.h.. See the comments in that file for an explanation of each attribute. It may also be useful to search the ctkframelock.c file using a grep utility to see how each attribute is used.

51

Page 58
Image 58
Nvidia 2 manual Writing a Frame Lock Client for NV-CONTROL 1.9 and later