import NVIDIA-FreeBSD-x86-180.29
[nvidia.git] / doc / html / chapter-21.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta name="generator" content=
5 "HTML Tidy for FreeBSD (vers 1 September 2005), see www.w3.org">
6 <meta http-equiv="Content-Type" content=
7 "text/html; charset=us-ascii">
8 <title>Chapter&nbsp;21.&nbsp;Configuring Frame Lock and
9 Genlock</title>
10 <meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
11 <link rel="start" href="index.html" title=
12 "NVIDIA Accelerated FreeBSD Graphics Driver README and Installation Guide">
13 <link rel="up" href="part-01.html" title=
14 "Part&nbsp;I.&nbsp;Installation and Configuration Instructions">
15 <link rel="prev" href="chapter-20.html" title=
16 "Chapter&nbsp;20.&nbsp;Configuring SLI and Multi-GPU FrameRendering">
17 <link rel="next" href="chapter-22.html" title=
18 "Chapter&nbsp;22.&nbsp;Configuring SDI Video Output">
19 </head>
20 <body>
21 <div class="navheader">
22 <table width="100%" summary="Navigation header">
23 <tr>
24 <th colspan="3" align="center">Chapter&nbsp;21.&nbsp;Configuring
25 Frame Lock and Genlock</th>
26 </tr>
27 <tr>
28 <td width="20%" align="left"><a accesskey="p" href=
29 "chapter-20.html">Prev</a>&nbsp;</td>
30 <th width="60%" align="center">Part&nbsp;I.&nbsp;Installation and
31 Configuration Instructions</th>
32 <td width="20%" align="right">&nbsp;<a accesskey="n" href=
33 "chapter-22.html">Next</a></td>
34 </tr>
35 </table>
36 <hr></div>
37 <div class="chapter" lang="en">
38 <div class="titlepage">
39 <div>
40 <div>
41 <h2 class="title"><a name="framelock" id=
42 "framelock"></a>Chapter&nbsp;21.&nbsp;Configuring Frame Lock and
43 Genlock</h2>
44 </div>
45 </div>
46 </div>
47 <p>NOTE: Frame Lock and Genlock features are supported only on
48 specific hardware, as noted below.</p>
49 <p>Visual computing applications that involve multiple displays, or
50 even multiple windows within a display, can require special signal
51 processing and application controls in order to function properly.
52 For example, in order to produce quality video recording of
53 animated graphics, the graphics display must be synchronized with
54 the video camera. As another example, applications presented on
55 multiple displays must be synchronized in order to complete the
56 illusion of a larger, virtual canvas.</p>
57 <p>This synchronization is enabled through the frame lock and
58 genlock capabilities of the NVIDIA driver. This section describes
59 the setup and use of frame lock and genlock.</p>
60 <h3>Definition of Terms</h3>
61 <p>GENLOCK: Genlock refers to the process of synchronizing the
62 pixel scanning of one or more displays to an external
63 synchronization source. NVIDIA Genlock requires the external signal
64 to be either TTL or composite, such as used for NTSC, PAL, or HDTV.
65 It should be noted that the NVIDIA Genlock implementation is
66 guaranteed only to be frame-synchronized, and not necessarily
67 pixel-synchronized.</p>
68 <p>FRAME LOCK: Frame Lock involves the use of hardware to
69 synchronize the frames on each display in a connected system. When
70 graphics and video are displayed across multiple monitors, frame
71 locked systems help maintain image continuity to create a virtual
72 canvas. Frame lock is especially critical for stereo viewing, where
73 the left and right fields must be in sync across all displays.</p>
74 <p>In short, to enable genlock means to sync to an external signal.
75 To enable frame lock means to sync 2 or more display devices to a
76 signal generated internally by the hardware, and to use both means
77 to sync 2 or more display devices to an external signal.</p>
78 <p>SWAP SYNC: Swap sync refers to the synchronization of buffer
79 swaps of multiple application windows. By means of swap sync,
80 applications running on multiple systems can synchronize the
81 application buffer swaps between all the systems. In order to work
82 across multiple systems, swap sync requires that the systems are
83 frame locked.</p>
84 <p>G-SYNC DEVICE: A G-Sync Device refers to devices capable of
85 Frame lock/Genlock. This can be a graphics card (Quadro FX 3000G)
86 or a stand alone device (Quadro FX G-Sync). See "Supported
87 Hardware" below.</p>
88 <h3>Supported Hardware</h3>
89 <p>Frame lock and genlock are supported for the following
90 hardware:</p>
91 <div class="informaltable">
92 <table summary="(no summary available)" border="0">
93 <colgroup>
94 <col>
95 <col></colgroup>
96 <thead>
97 <tr>
98 <th>Card</th>
99 <td class="auto-generated">&nbsp;</td>
100 </tr>
101 </thead>
102 <tbody>
103 <tr>
104 <td>Quadro FX 3000G</td>
105 <td class="auto-generated">&nbsp;</td>
106 </tr>
107 <tr>
108 <td>Quadro FX G-Sync, used in conjunction with a Quadro FX 4400,
109 Quadro FX 4500, or Quadro FX 5500</td>
110 <td class="auto-generated">&nbsp;</td>
111 </tr>
112 <tr>
113 <td>Quadro FX G-Sync II, used in conjunction with a Quadro FX 4600,
114 or Quadro FX 5600</td>
115 <td class="auto-generated">&nbsp;</td>
116 </tr>
117 </tbody>
118 </table>
119 </div>
120 <p></p>
121 <h3>Hardware Setup</h3>
122 <p>Before you begin, you should check that your hardware has been
123 properly installed. If you are using the Quadro FX 3000G, the
124 genlock/frame lock signal processing hardware is located on the
125 dual-slot card itself, and after installing the card, no additional
126 setup is necessary.</p>
127 <p>If you are using the Quadro FX G-Sync card in conjunction with a
128 graphics card, the following additional setup steps are required.
129 These steps must be performed when the system is off.</p>
130 <div class="orderedlist">
131 <ol type="1">
132 <li>
133 <p>On the Quadro FX G-Sync card, locate the fourteen-pin connector
134 labeled "primary". If the associated ribbon cable is not already
135 joined to this connector, do so now. If you plan to use frame lock
136 or genlock in conjunction with SLI FrameRendering or Multi-GPU
137 FrameRendering (see <a href="chapter-20.html" title=
138 "Chapter&nbsp;20.&nbsp;Configuring SLI and Multi-GPU FrameRendering">
139 Chapter&nbsp;20, <i>Configuring SLI and Multi-GPU
140 FrameRendering</i></a>) or other multi-GPU configurations, you
141 should connect the fourteen-pin connector labeled "secondary" to
142 the second GPU. A section at the end of this appendix describes
143 restrictions on such setups.</p>
144 </li>
145 <li>
146 <p>Install the Quadro FX G-Sync card in any available slot. Note
147 that the slot itself is only used for support, so even a known
148 "bad" slot is acceptable. The slot must be close enough to the
149 graphics card that the ribbon cable can reach.</p>
150 </li>
151 <li>
152 <p>Connect the other end of the ribbon cable to the fourteen-pin
153 connector on the graphics card.</p>
154 </li>
155 </ol>
156 </div>
157 <p>You may now boot the system and begin the software setup of
158 genlock and/or frame lock. These instructions assume that you have
159 already successfully installed the NVIDIA Accelerated FreeBSD
160 Driver Set. If you have not done so, see <a href="chapter-02.html"
161 title=
162 "Chapter&nbsp;2.&nbsp;Installing the NVIDIA Driver">Chapter&nbsp;2,
163 <i>Installing the NVIDIA Driver</i></a>.</p>
164 <h3>Configuration with nvidia-settings GUI</h3>
165 <p>Frame lock and genlock are configured through the
166 nvidia-settings utility. See the <code class=
167 "filename">nvidia-settings(1)</code> man page, and the
168 nvidia-settings online help (click the "Help" button in the lower
169 right corner of the interface for per-page help information).</p>
170 <p>From the nvidia-settings frame lock panel, you may control the
171 addition of G-Sync (and display) devices to the frame lock/genlock
172 group, monitor the status of that group, and enable/disable frame
173 lock and genlock.</p>
174 <p>After the system has booted and X Windows has been started, run
175 nvidia-settings as</p>
176 <pre class="screen">
177     % nvidia-settings
178 </pre>
179 <p>You may wish to start this utility before continuing, as we
180 refer to it frequently in the subsequent discussion.</p>
181 <p>The setup of genlock and frame lock are described separately. We
182 then describe the use of genlock and frame lock together.</p>
183 <h3>Genlock Setup</h3>
184 <p>After the system has been booted, connect the external signal to
185 the house sync connector (the BNC connector) on either the graphics
186 card or the G-Sync card. There is a status LED next to the
187 connector. A solid red LED indicates that the hardware cannot
188 detect the timing signal. A green LED indicates that the hardware
189 is detecting a timing signal. An occasional red flash is okay. The
190 G-Sync device (graphics card or G-Sync card) will need to be
191 configured correctly for the signal to be detected.</p>
192 <p>In the frame lock panel of the nvidia-settings interface, add
193 the X Server that contains the display and G-Sync devices that you
194 would like to sync to this external source by clicking the "Add
195 Devices..." button. An X Server is typically specified in the
196 format <code class="computeroutput">system:m</code>, e.g.:</p>
197 <pre class="screen">
198     mycomputer.domain.com:0
199 </pre>
200 <p>or</p>
201 <pre class="screen">
202     localhost:0
203 </pre>
204 <p>After adding an X Server, rows will appear in the "G-Sync
205 Devices" section on the frame lock panel that displays relevant
206 status information about the G-Sync devices, GPUs attached to those
207 G-Sync devices and the display devices driven by those GPUs. In
208 particular, the G-Sync rows will display the server name and G-Sync
209 device number along with "Receiving" LED, "Rate", "House" LED,
210 "Port 0"/"Port 1" Images, and "Delay" information. The GPU rows
211 will display the GPU product name information along with the GPU ID
212 for the server. The Display Device rows will show the display
213 device name and device type along with server/client check boxes,
214 refresh rate, "Timing" LED and "Stereo" LED.</p>
215 <p>Once the G-Sync and display devices have been added to the frame
216 lock/genlock group, a Server display device will need to be
217 selected. This is done by selecting the "Server" check box of the
218 desired display device.</p>
219 <p>If you are using a G-Sync card, you must also click the "Use
220 House Sync if Present" check box. To enable synchronization of this
221 G-Sync device to the external source, click the "Enable Frame Lock"
222 button. The display device(s) may take a moment to stabilize. If it
223 does not stabilize, you may have selected a synchronization signal
224 that the system cannot support. You should disable synchronization
225 by clicking the "Disable Frame Lock" button and check the external
226 sync signal.</p>
227 <p>Modifications to genlock settings (e.g., "Use House Sync if
228 Present", "Add Devices...") must be done while synchronization is
229 disabled.</p>
230 <p><a name="framelocksetup" id="framelocksetup"></a></p>
231 <h3>Frame Lock Setup</h3>
232 <p>Frame Lock is supported across an arbitrary number of Quadro FX
233 3000 or Quadro FX G-Sync systems, although mixing the two in the
234 same frame lock group is not supported. Additionally, each system
235 to be included in the frame lock group must be configured with
236 identical mode timings. See <a href="chapter-16.html" title=
237 "Chapter&nbsp;16.&nbsp;Programming Modes">Chapter&nbsp;16,
238 <i>Programming Modes</i></a> for information on mode timings.</p>
239 <p>Connect the systems through their RJ45 ports using standard CAT5
240 patch cables. These ports are located on the frame lock card itself
241 (either the Quadro FX 3000 or the Quadro FX G-Sync card).
242 <span class="emphasis"><em>Do not connect a frame lock port to an
243 ethernet card or hub. Doing so may permanently damage the
244 hardware</em></span>. The connections should be made in a
245 daisy-chain fashion: each card has two RJ45 ports, call them 1 and
246 2. Connect port 1 of system A to port 2 of system B, connect port 1
247 of system B to port 2 of system C, etc. Note that you will always
248 have two empty ports in your frame lock group.</p>
249 <p>The ports self-configure as inputs or outputs once frame lock is
250 enabled. Each port has a yellow and a green LED that reflect this
251 state. A flashing yellow LED indicates an output and a flashing
252 green LED indicates an input. A solid green LED indicates that the
253 port has not yet configured.</p>
254 <p>In the frame lock panel of the nvidia-settings interface, add
255 the X server that contains the display devices that you would like
256 to include in the frame lock group by clicking the "Add Devices..."
257 button (see the description for adding display devices in the
258 previous section on GENLOCK SETUP. Like the genlock status
259 indicators, the "Port 0" and "Port 1" columns in the table on the
260 frame lock panel contain indicators whose states mirror the states
261 of the physical LEDs on the RJ45 ports. Thus, you may monitor the
262 status of these ports from the software interface.</p>
263 <p>Any X Server can be added to the frame lock group, provided
264 that</p>
265 <div class="orderedlist">
266 <ol type="1">
267 <li>
268 <p>The system supporting the X Server is configured to support
269 frame lock and is connected via RJ45 cable to the other systems in
270 the frame lock group.</p>
271 </li>
272 <li>
273 <p>The system driving nvidia-settings can locate and has display
274 privileges on the X server that is to be included for frame
275 lock.</p>
276 </li>
277 </ol>
278 </div>
279 <p>A system can gain display privileges on a remote system by
280 executing</p>
281 <pre class="screen">
282     % xhost +
283 </pre>
284 <p>on the remote system. See the xhost(1) man page for details.
285 Typically, frame lock is controlled through one of the systems that
286 will be included in the frame lock group. While this is not a
287 requirement, note that nvidia-settings will only display the frame
288 lock panel when running on an X server that supports frame
289 lock.</p>
290 <p>To enable synchronization on these display devices, click the
291 "Enable Frame Lock" button. The screens may take a moment to
292 stabilize. If they do not stabilize, you may have selected mode
293 timings that one or more of the systems cannot support. In this
294 case you should disable synchronization by clicking the "Disable
295 Frame Lock" button and refer to <a href="chapter-16.html" title=
296 "Chapter&nbsp;16.&nbsp;Programming Modes">Chapter&nbsp;16,
297 <i>Programming Modes</i></a> for information on mode timings.</p>
298 <p>Modifications to frame lock settings (e.g. "Add/Remove
299 Devices...") must be done while synchronization is disabled.</p>
300 <p>nvidia-settings will not automatically enable Frame Lock via the
301 nvidia-settings.rc file. To enable Frame Lock when starting the X
302 server, a line such as the following can be added to the
303 <code class="filename">~/.xinitrc</code> file:</p>
304 <pre class="screen">
305     # nvidia-settings -a [gpu:0]/FrameLockEnable=1
306 </pre>
307 <p></p>
308 <h3>Frame Lock + Genlock</h3>
309 <p>The use of frame lock and genlock together is a simple extension
310 of the above instructions for using them separately. You should
311 first follow the instructions for <a href=
312 "chapter-21.html#framelocksetup" title="Frame Lock Setup">Frame
313 Lock Setup</a>, and then to one of the systems that will be
314 included in the frame lock group, attach an external sync source.
315 In order to sync the frame lock group to this single external
316 source, you must select a display device driven by the GPU
317 connected to the G-Sync card (through the primary connector) that
318 is connected to the external source to be the signal server for the
319 group. This is done by selecting the check box labeled "Server" of
320 the tree on the frame lock panel in nvidia-settings. If you are
321 using a G-Sync based frame lock group, you must also select the
322 "Use House Sync if Present" check box. Enable synchronization by
323 clicking the "Enable Frame Lock" button. As with other frame
324 lock/genlock controls, you must select the signal server while
325 synchronization is disabled.</p>
326 <h3>Configuration with nvidia-settings command line</h3>
327 <p>Frame Lock may also be configured through the nvidia-settings
328 command line. This method of configuring Frame Lock may be useful
329 in a scripted environment to automate the setup process. (Note that
330 the examples listed below depend on the actual hardware
331 configuration and as such may not work as-is.)</p>
332 <p>To properly configure Frame Lock, the following steps should be
333 completed:</p>
334 <div class="orderedlist">
335 <ol type="1">
336 <li>
337 <p>Make sure Frame Lock Sync is disabled on all GPUs.</p>
338 </li>
339 <li>
340 <p>Make sure all display devices that are to be frame locked have
341 the same refresh rate.</p>
342 </li>
343 <li>
344 <p>Configure which (display/GPU) device should be the master.</p>
345 </li>
346 <li>
347 <p>Configure house sync (if applicable).</p>
348 </li>
349 <li>
350 <p>Configure the slave display devices.</p>
351 </li>
352 <li>
353 <p>Enable frame lock sync on the master GPU.</p>
354 </li>
355 <li>
356 <p>Enable frame lock sync on the slave GPUs.</p>
357 </li>
358 <li>
359 <p>Toggle the test signal on the master GPU (for testing the
360 hardware connectivity.)</p>
361 </li>
362 </ol>
363 </div>
364 <p></p>
365 <p>For a full list of the nvidia-settings Frame Lock attributes,
366 please see the <code class="filename">nvidia-settings(1)</code> man
367 page. Examples:</p>
368 <div class="orderedlist">
369 <ol type="1">
370 <li>
371 <p>1 System, 1 Frame Lock board, 1 GPU, and 1 display device
372 syncing to the house signal:</p>
373 <pre class="screen">
374   # - Make sure frame lock sync is disabled
375   nvidia-settings -a [gpu:0]/FrameLockEnable=0
376   nvidia-settings -q [gpu:0]/FrameLockEnable
377
378   # - Query the enabled displays on the gpu
379   nvidia-settings -q [gpu:0]/EnabledDisplays
380
381   # - Check that the refresh rate is the one we want
382   nvidia-settings -q [gpu:0]/RefreshRate
383
384   # - Set the master display device to CRT-0.  The desired display
385   #   device(s) to be set are passed in as a hexadecimal number
386   #   in which specific bits denote which display devices to set.
387   #   examples:
388   #
389   #   0x00000001 - CRT-0
390   #   0x00000002 - CRT-1
391   #   0x00000003 - CRT-0 and CRT-1
392   #
393   #   0x00000100 - TV-0
394   #   0x00000200 - TV-1
395   #
396   #   0x00020000 - DFP-1
397   #
398   #   0x00010101 - CRT-0, TV-0 and DFP-0
399   #
400   #   0x000000FF - All CRTs
401   #   0x0000FF00 - All TVs
402   #   0x00FF0000 - All DFPs
403   #
404   #   Note that the following command:
405   # 
406   #     nvidia-settings -q [gpu:0]/EnabledDisplays
407   #
408   #   will list the available displays on the given GPU.
409
410   nvidia-settings -a [gpu:0]/FrameLockMaster=0x00000001
411   nvidia-settings -q [gpu:0]/FrameLockMaster
412
413   # - Enable use of house sync signal
414   nvidia-settings -a [framelock:0]/FrameLockUseHouseSync=1
415
416   # - Configure the house sync signal video mode
417   nvidia-settings -a [framelock:0]/FrameLockVideoMode=0
418
419   # - Set the slave display device to none (to avoid
420   #   having unwanted display devices locked to the
421   #   sync signal.)
422   nvidia-settings -a [gpu:0]/FrameLockSlaves=0x00000000
423   nvidia-settings -q [gpu:0]/FrameLockSlaves
424
425   # - Enable frame lock
426   nvidia-settings -a [gpu:0]/FrameLockEnable=1
427
428   # - Toggle the test signal
429   nvidia-settings -a [gpu:0]/FrameLockTestSignal=1
430   nvidia-settings -a [gpu:0]/FrameLockTestSignal=0
431 </pre>
432 <p></p>
433 </li>
434 <li>
435 <p>2 Systems, each with 2 GPUs, 1 Frame Lock board and 1 display
436 device per GPU syncing from the first system's first display
437 device:</p>
438 <pre class="screen">
439   # - Make sure frame lock sync is disabled
440   nvidia-settings -a myserver:0[gpu:0]/FrameLockEnable=0
441   nvidia-settings -a myserver:0[gpu:1]/FrameLockEnable=0
442   nvidia-settings -a myslave1:0[gpu:0]/FrameLockEnable=0
443   nvidia-settings -a myslave1:0[gpu:1]/FrameLockEnable=0
444
445   # - Query the enabled displays on the GPUs
446   nvidia-settings -q myserver:0[gpu:0]/EnabledDisplays
447   nvidia-settings -q myserver:0[gpu:1]/EnabledDisplays
448   nvidia-settings -q myslave1:0[gpu:0]/EnabledDisplays
449   nvidia-settings -q myslave1:0[gpu:1]/EnabledDisplays
450
451   # - Check the refresh rate is the same for all displays
452   nvidia-settings -q myserver:0[gpu:0]/RefreshRate
453   nvidia-settings -q myserver:0[gpu:1]/RefreshRate
454   nvidia-settings -q myslave1:0[gpu:0]/RefreshRate
455   nvidia-settings -q myslave1:0[gpu:1]/RefreshRate
456
457   # - Make sure the display device we want as master is masterable
458   nvidia-settings -q myserver:0[gpu:0]/FrameLockMasterable
459
460   # - Set the master display device (CRT-0)
461   nvidia-settings -a myserver:0[gpu:0]/FrameLockMaster=0x00000001
462
463   # - Disable the house sync signal on the master device
464   nvidia-settings -a myserver:0[framelock:0]/FrameLockUseHouseSync=0
465
466   # - Set the slave display devices
467   nvidia-settings -a myserver:0[gpu:1]/FrameLockSlaves=0x00000001
468   nvidia-settings -a myslave1:0[gpu:0]/FrameLockSlaves=0x00000001
469   nvidia-settings -a myslave1:0[gpu:1]/FrameLockSlaves=0x00000001
470
471   # - Enable frame lock on server
472   nvidia-settings -a myserver:0[gpu:0]/FrameLockEnable=1
473
474   # - Enable frame lock on slave devices
475   nvidia-settings -a myserver:0[gpu:1]/FrameLockEnable=1
476   nvidia-settings -a myslave1:0[gpu:0]/FrameLockEnable=1
477   nvidia-settings -a myslave1:0[gpu:1]/FrameLockEnable=1
478
479   # - Toggle the test signal
480   nvidia-settings -a myserver:0[gpu:0]/FrameLockTestSignal=1
481   nvidia-settings -a myserver:0[gpu:0]/FrameLockTestSignal=0
482 </pre>
483 <p></p>
484 </li>
485 <li>
486 <p>1 System, 4 GPUs, 2 Frame Lock boards and 2 display devices per
487 GPU syncing from the first GPU's display device:</p>
488 <pre class="screen">
489   # - Make sure frame lock sync is disabled
490   nvidia-settings -a [gpu:0]/FrameLockEnable=0
491   nvidia-settings -a [gpu:1]/FrameLockEnable=0
492   nvidia-settings -a [gpu:2]/FrameLockEnable=0
493   nvidia-settings -a [gpu:3]/FrameLockEnable=0
494
495   # - Query the enabled displays on the GPUs
496   nvidia-settings -q [gpu:0]/EnabledDisplays
497   nvidia-settings -q [gpu:1]/EnabledDisplays
498   nvidia-settings -q [gpu:2]/EnabledDisplays
499   nvidia-settings -q [gpu:3]/EnabledDisplays
500
501   # - Check the refresh rate is the same for all displays
502   nvidia-settings -q [gpu:0]/RefreshRate
503   nvidia-settings -q [gpu:1]/RefreshRate
504   nvidia-settings -q [gpu:2]/RefreshRate
505   nvidia-settings -q [gpu:3]/RefreshRate
506
507   # - Make sure the display device we want as master is masterable
508   nvidia-settings -q myserver:0[gpu:0]/FrameLockMasterable
509
510   # - Set the master display device (CRT-0)
511   nvidia-settings -a [gpu:0]/FrameLockMaster=0x00000001
512
513   # - Disable the house sync signal on the master device
514   nvidia-settings -a [framelock:0]/FrameLockUseHouseSync=0
515
516   # - Set the slave display devices
517   nvidia-settings -a [gpu:0]/FrameLockSlaves=0x00000002 # CRT-1
518   nvidia-settings -a [gpu:1]/FrameLockSlaves=0x00000003 # CRT-0 and CRT-1
519   nvidia-settings -a [gpu:2]/FrameLockSlaves=0x00000003 # CRT-0 and CRT-1
520   nvidia-settings -a [gpu:3]/FrameLockSlaves=0x00000003 # CRT-0 and CRT-1
521
522   # - Enable frame lock on master GPU
523   nvidia-settings -a [gpu:0]/FrameLockEnable=1
524
525   # - Enable frame lock on slave devices
526   nvidia-settings -a [gpu:1]/FrameLockEnable=1
527   nvidia-settings -a [gpu:2]/FrameLockEnable=1
528   nvidia-settings -a [gpu:3]/FrameLockEnable=1
529
530   # - Toggle the test signal
531   nvidia-settings -a [gpu:0]/FrameLockTestSignal=1
532   nvidia-settings -a [gpu:0]/FrameLockTestSignal=0
533 </pre>
534 <p></p>
535 </li>
536 </ol>
537 </div>
538 <p></p>
539 <h3>Leveraging Frame Lock/Genlock in OpenGL</h3>
540 <p>With the GLX_NV_swap_group extension, OpenGL applications can be
541 implemented to join a group of applications within a system for
542 local swap sync, and bind the group to a barrier for swap sync
543 across a frame lock group. A universal frame counter is also
544 provided to promote synchronization across applications.</p>
545 <h3>Frame Lock Restrictions:</h3>
546 <p>The following restrictions must be met for enabling frame
547 lock:</p>
548 <div class="orderedlist">
549 <ol type="1">
550 <li>
551 <p>All display devices set as client in a frame lock group must
552 have the same mode timings as the server (master) display device.
553 If a House Sync signal is used (instead of internal timings), all
554 client display devices must be set to have the same refresh rate as
555 the incoming house sync signal.</p>
556 </li>
557 <li>
558 <p>All X Screens (driving the selected client/server display
559 devices) must have the same stereo setting. See <a href=
560 "appendix-f.html" title=
561 "Appendix&nbsp;F.&nbsp;X Config Options">Appendix&nbsp;F, <i>X
562 Config Options</i></a> for instructions on how to set the stereo X
563 option.</p>
564 </li>
565 <li>
566 <p>The frame lock server (master) display device must be on a GPU
567 on the primary connector to a G-Sync device.</p>
568 </li>
569 <li>
570 <p>If connecting a single GPU to a G-Sync device, the primary
571 connector must be used.</p>
572 </li>
573 <li>
574 <p>In configurations with more than one display device per GPU, we
575 recommend enabling frame lock on all display devices on those
576 GPUs.</p>
577 </li>
578 <li>
579 <p>Virtual terminal switching or mode switching will disable frame
580 lock on the display device. Note that the glXQueryFrameCountNV
581 entry point (provided by the GLX_NV_swap_group extension) will only
582 provide incrementing numbers while frame lock is enabled.
583 Therefore, applications that use glXQueryFrameCountNV to control
584 animation will appear to stop animating while frame lock is
585 disabled.</p>
586 </li>
587 </ol>
588 </div>
589 <p></p>
590 <h3>Supported Frame Lock Configurations:</h3>
591 <p>The following configurations are currently supported:</p>
592 <div class="orderedlist">
593 <ol type="1">
594 <li>
595 <p>Basic Frame Lock: Single GPU, Single X Screen, Single Display
596 Device with or without OpenGL applications that make use of
597 Quad-Buffered Stereo and/or the GLX_NV_swap_group extension.</p>
598 </li>
599 <li>
600 <p>Frame Lock + TwinView: Single GPU, Single X Screen, Multiple
601 Display Devices with or without OpenGL applications that make use
602 of Quad-Buffered Stereo and/or the GLX_NV_swap_group extension.</p>
603 </li>
604 <li>
605 <p>Frame Lock + Xinerama: 1 or more GPU(s), Multiple X Screens,
606 Multiple Display Devices with or without OpenGL applications that
607 make use of Quad-Buffered Stereo and/or the GLX_NV_swap_group
608 extension.</p>
609 </li>
610 <li>
611 <p>Frame Lock + TwinView + Xinerama: 1 or more GPU(s), Multiple X
612 Screens, Multiple Display Devices with or without OpenGL
613 applications that make use of Quad-Buffered Stereo and/or the
614 GLX_NV_swap_group extension.</p>
615 </li>
616 <li>
617 <p>Frame Lock + SLI SFR, AFR, or AA: 2 GPUs, Single X Screen,
618 Single Display Device with either OpenGL applications that make use
619 of Quad-Buffered Stereo or the GLX_NV_swap_group extension. Note
620 that for Frame Lock + SLI Frame Rendering applications that make
621 use of both Quad-Buffered Stereo and the GLX_NV_swap_group
622 extension are not supported. Note that only 2-GPU SLI
623 configurations are currently supported.</p>
624 </li>
625 <li>
626 <p>Frame Lock + Multi-GPU SFR, AFR, or AA: 2 GPUs, Single X Screen,
627 Single Display Device with either OpenGL applications that make use
628 of Quad-Buffered Stereo or the GLX_NV_swap_group extension. Note
629 that for Frame Lock + Multi-GPU Frame Rendering applications that
630 make use of both Quad-Buffered Stereo and the GLX_NV_swap_group
631 extension are not supported.</p>
632 </li>
633 </ol>
634 </div>
635 <p></p>
636 </div>
637 <div class="navfooter">
638 <hr>
639 <table width="100%" summary="Navigation footer">
640 <tr>
641 <td width="40%" align="left"><a accesskey="p" href=
642 "chapter-20.html">Prev</a>&nbsp;</td>
643 <td width="20%" align="center"><a accesskey="u" href=
644 "part-01.html">Up</a></td>
645 <td width="40%" align="right">&nbsp;<a accesskey="n" href=
646 "chapter-22.html">Next</a></td>
647 </tr>
648 <tr>
649 <td width="40%" align="left" valign="top">
650 Chapter&nbsp;20.&nbsp;Configuring SLI and Multi-GPU
651 FrameRendering&nbsp;</td>
652 <td width="20%" align="center"><a accesskey="h" href=
653 "index.html">Home</a></td>
654 <td width="40%" align="right" valign="top">
655 &nbsp;Chapter&nbsp;22.&nbsp;Configuring SDI Video Output</td>
656 </tr>
657 </table>
658 </div>
659 </body>
660 </html>