Video Format Object (VFO) Files

Revision as of 22:42, 19 July 2019 by Netfreak (talk | contribs)

Video format objects are microcode images loaded into SGI graphics display hardware to generated the timing signals required to produce display images at specific resolutions and refresh rates. Vfo's are generated using SGI's Video Format Compiler (VFC) and end-user prepared video format source (vfs) files.

As mentioned in the vfc man page, vfo files are hardware specific:

Video format object microcode is not binary compatible between different hardware types. Although vfc is independently re-targetable to a number of different hardware types, video format objects that were compiled to run with one hardware architecture will not necessarily run on another. For example, video format objects created for Infinite RealityTM will not work properly on Impact. Generally speaking, video format objects (vfos) can be created using one of two methods:

  1. By use of a block sync template - because no user-defined format source file is needed, this method is quick and easy to use. Because it the lacks specific monitor, resolution and format timing details that can be included in a source file, it produces the most generically targeted microcode.
  2. By creating a video format source (vfs) file - video format source files offer the ability to tailor the microcode for specific resolutions, refresh rates and even monitors. Monitor specific format values can be obtained from the (monitor) manufacturer, or in the case of some more recent displays, extracted from the monitor firmware in with EDID reader/decoder software (EDID information or manufacturer provided modelines can sometimes be found with an web search). If neither of those methods is available, then there are a number of display modeline generators that offer all of the timing values needed to complete a video source file. Generated modelines won't necessarily contain the same values as provided by the manufacturer or EDID information for a particular monitor, but should still provide microcode that is reasonably well targeted to specific resolutions and refresh rates.

SGI included a number of video format source code files with the installation of the Video Format Compiler. The comments section of those source files indicate most were intended for use with some of CRT monitors marketed by SGI. This includes all of the wide-format for which source files are available. As a result some of the SGI vfo microcode provided for wide-screen displays does not always produce a stable displays when used with more recent LCD monitors.

Modern LCD monitors that don't work well with the CRT-targeted vfo-microcode supplied by SGI may see improvement if used with a format that includes reduced blanking. Reduced blanking lowers display format overhead needed to allow CRT screen redraws, overhead that doesn't benefit and may adversely affect LCD monitors. Reduced blanking is primarily intended for use with DVI-connected LCD monitors, but any LCD monitor new enough to take advantage of reduced blanking *may* also benefit when connected via the VGA port.

Attached are a number of video format object (vfo) files sorted by target resolution. The intended graphics hardware platform within each listed resolution can be identified by the file prefix. Currently all include reduced blanking, indicated by the letters "rb" following the refresh rate (e.g. V10-V12_1920x1200_60rb.vfo). The reduced blanking modelines used were generated with the IRIX port of CVT graciously provided by rooprob.

Please note that the attached vfo files may not work with every monitor. Some monitors many not support reduced blanking or may require a source file specifically tailored from EDID data or a manufacturer provided modeline. I'll consider creating those (or resolutions not currently included) on a case-by-case basis, just post a request in this thread.

To do: Link back to the forum topic vfo files or upload them here

[email protected] with reduced blanking:

 # 1280x1024 @ 60.00 Hz Reduced Blank (CVT)
 #   field rate 59.96 Hz; hsync: 63.19 kHz; pclk: 91.00 MHz
 Modeline "1280x1024_60.00_rb"  91.00  1280 1328 1360 1440  1024 1027 1034 1054  +HSync -Vsync

File comment: Reduced blanking lowered the pixel clock from 109.81KHz, which would be unusable on a V6 or V8, to 91.23KHz, which would work with a V6 or V8, even if set in 16 bytes/pixel mode.

 V6-V8_1280x1024_60rb.vfo [8.14 KiB] 

[email protected] with reduced blanking:

 # 1440x900 @ 60.00 Hz Reduced Blank (CVT)
 #   field rate 59.90 Hz; hsync: 55.47 kHz; pclk: 88.75 MHz
 Modeline "1440x900_60.00_rb"  88.75  1440 1488 1520 1600  900 903 909 926  +HSync -Vsync
 V6-V8_1440x900_60rb.vfo [8.23 KiB] 
 O2_1440x900_60rb.vfo [12.14 KiB] 

[email protected] with reduced blanking:

 # 1440x900 @ 60.00 Hz Reduced Blank (CVT)
 #   field rate 59.90 Hz; hsync: 55.47 kHz; pclk: 88.75 MHz
 Modeline "1440x900_60.00_rb"  88.75  1440 1488 1520 1600  900 903 909 926  +HSync -Vsync
 V6-V8_1600x900_60rb.vfo [8.27 KiB] 
 O2_1600x900_60rb.vfo [12.14 KiB] 

[email protected] with reduced blanking:

 # 1680x1050 @ 60.00 Hz Reduced Blank (CVT)
 #   field rate 59.88 Hz; hsync: 64.67 kHz; pclk: 119.00 MHz
 Modeline "1680x1050_60.00_rb"  119.00  1680 1728 1760 1840  1050 1053 1059 1080  +HSync -Vsync

 V10-V12_1680x1050_60rb.vfo [8.51 KiB] 
 O2_1680x1050_60rb.vfo [12.14 KiB] 

[b][email protected] with reduced blanking:

 # 1600x1200 @ 60.00 Hz Reduced Blank (CVT)
 #   field rate 59.92 Hz; hsync: 74.01 kHz; pclk: 130.25 MHz
 Modeline "1600x1200_60.00_rb"  130.25  1600 1648 1680 1760  1200 1203 1207 1235  +HSync -Vsync

 V10-V12_1600x1200_60rb.vfo [8.27 KiB] 
 O2_1600x1200_60rb.vfo [12.14 KiB] 
 IR_1600x1200_60rb.vfo [17.58 KiB] 

[email protected] with reduced blanking:

 # 1920x1080 @ 60.00 Hz Reduced Blank (CVT)
 #   field rate 59.93 Hz; hsync: 66.59 kHz; pclk: 138.50 MHz
 Modeline "1920x1080_60.00_rb"  138.50  1920 1968 2000 2080  1080 1083 1088 1111  +HSync -Vsync
 V10-V12_1920x1080_60rb.vfo [8.38 KiB] 

 IR_1920x1080_60rb.vfo [17.58 KiB] 

[email protected] with reduced blanking:

 # 1920x1200 @ 60.00 Hz Reduced Blank (CVT)
 #   field rate 59.95 Hz; hsync: 74.04 kHz; pclk: 154.00 MHz
 Modeline "1920x1200_60.00_rb"  154.00  1920 1968 2000 2080  1200 1203 1209 1235  +HSync -Vsync

 V8-V10-V12_1920x1200_60rb.vfo [8.38 KiB] 
 IR_1920x1200_60rb.vfo [17.58 KiB]

See also