C H A P T E R  36

M64 Video Board Test (m64test)

m64test Description, Requirements, and Subtests

m64test tests the proper functioning of the PCI-based M64 video board by performing the following subtests:

caution icon

Caution - Do notrun any other application or screen saver program that uses the M64 video board while running m64test. Do not run Power Managementtrademarksoftware. These programs cause SunVTS to return incorrect errors.

Note - Disable all screen savers before testing any graphics device. Type
xset s off at a UNIX prompt to disable the Solaris screen saver. Type
xset -dpms (to turn off power management) or type xset s noblank (to turn off screen saver). Disable Power Management software if it is running.

Note - To start SunVTS with vtsui, but without vtsk, add the host name to xhost as: xhost + hostname.

For full instructions on testing frame buffers, see Testing Multiple Frame Buffers.

m64test Options

To reach the following dialog box, right-click on the test name in the System Map and select Test Parameter Options. If you do not see this test in the System Map, you might need to expand the collapsed groups, or your system might not include the device appropriate to this test. Refer to the SunVTS User's Guide for more details.

By default, all options are enabled except frame buffer locking.

FIGURE 36-1 m64test Test Parameter Options Dialog Box

Screenshot of the m64test Test Parameter Options dialog box


TABLE 36-1 m64test Options

m64test Options


Video Memory test

Thoroughly tests the on-screen video memory (the memory part that is mapped on to the monitor) of the M64 video board in 8-bit, 16-bit, 32-bit, 64-bit, and 64 byte (block) modes. Entire on-screen video memory is tested by testing 512 bit blocks at a time (8x8 pixel block). Each block is tested in two passes. Each pass consists of a data write and read. In the first pass user-specified data or random data is used. In the second pass one's complement of the data used in the first pass is used so that each on-screen video memory location (bit) is tested with a zero (electrical low state) and one (electrical high state).


Tests the RAMDAC in three phases. In the first phase the RAMDAC CLUT (Color LookUp Table) is tested using simple write/read patterns to determine if there are any bad bits in CLUT.

The data patterns used are:

  • Random data
  • Complement of the random data (used as first data pattern)
  • The data pattern 0101
  • The data pattern 10101

In the second phase, four different patterns are drawn on the screen. Each pattern stays on the screen for approximately three seconds. The four patterns are listed below. For each pattern the signature is captured and compared with the signature obtained for the same pattern on a known good board. This test verifies that all the different data paths within the RAMDAC are functioning properly.

Patterns drawn on screen:

  • Red ramp with cursor at top-left corner of the screen
  • Blue ramp with cursor at top-right corner of the screen
  • Green ramp with cursor at bottom-left of the screen
  • Grey ramp with cursor at bottom-right of the screen

In the last (third) phase of the RAMDAC test the Vertical Retrace Interrupt is tested for 300 interrupts.

Accelerator Port test

Tests all of the following:

  • Data paths (sources: fixed color, host data, blit, fixed pattern)
  • Arithmetic and logic unit (ALU)
  • Color comparator
  • Primitives (destinations: line, rectangle)
  • Mono to color expansion logic

Primitives are drawn using a combination of different data paths (allowed), ALU functions, and color comparator functions. A checksum is generated for each data combination and is compared with the checksum generated for the same data combination on a known good board.

Frame Buffer Locking

This option is set to disable if the M64 is not the console device.

When Sunvts GUI is brought up FB Locking is enabled by default if M64 is the console device. If M64 is not the console device, FB Locking is disabled by default.

m64test Test Modes

Due to the nature of graphics tests, reading from or writing to the frame buffer during graphics tests will disturb user operation. This test is only available in the Offline test mode.

TABLE 36-2 m64test Supported Test Modes

Test Mode



The m64test verifies the M64 video board.

m64test Command-Line Syntax

/opt/SUNWvts/bin/m64test standard-arguments -o dev=device-name, S=subtest-number,F=subtest-loops,B=test-loops,L=disable,P=test-pattern

TABLE 36-3 m64test Command-Line Syntax




device-name is the relative path name of the device being tested with respect to /dev/fbs. The default value is m640.


subtest-number is the test number of the subtest to be run. Select from the subtests below. You can run multiple subtests by adding the subtest numbers. For example, n=0x00003 runs both test 00001 and test 00002; n=0x00005 runs both test 0x00001 and test 0x00004. Note that you do not need the leading zeros.

  • n--0x00001 VRAM
  • n--0x00002 RAMDAC
  • n--0x00004 Accelerator port test (Rendering Pipeline)

More than one test can be selected by ORing subtest numbers. For example, n = 0x00005 means VRAM and Rendering Pipeline tests. A hex number must be preceded by 0X, decimal numbers are also acceptable.


Specifies the number of times to repeat each subtest. The default value is 1.


Specifies the number of times to repeat a test loop before passing. The default is value is 1.


Disables the frame buffer lock. Disable the lock when the m64 is not the console or when the server is not running on the m64 under test.


Specifies the test pattern number. The default is r, for random patterns. You may also choose 0 for 0x0000000, 3 for 0x3333333, 5 for 0x5555555, or 9 for 0x9999999.

Note - Errors returned by m64test are nonspecific. It is not possible to determine which component caused a failure. In all error conditions, the field replaceable unit (FRU) is the entire M64 video board.