Contained Within
Find More Documentation
Featured Support Resources
| Download this book in PDF
- CHAPTER 15
Fast Frame Buffer Test (ffbtest)
-
ffbtest verifies the functionality of the Fast Frame Buffer.
-
ffbtest can detect and adapt to the video modes of single- and double-buffer versions of the fast frame buffer (FFB). All ffbtest tests can run in several screen resolutions such as standard, stereo, and high resolution. In stereo mode, all tests write into the right and left eyes unless you specify otherwise. This test also supports FFB, FFB2, and FFB2+ fast frame buffer configurations. Use the ffbconfig -prconf command to display the configuration of the frame buffer you want to test.
- You can interrupt ffbtest using Control-C. Turn off all other keyboard input if OPEN LOOK is running on the unit being tested.
- Test accuracy is checked using a checksum algorithm. Possible locations of failing pixels are identified, as well as the likely failing FRU.
-
Caution - DO NOT run any other application or screen saver program that uses the FFB accelerator port while running ffbtest. Do not run power management software. These programs causes 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. Disable power management software if it is running.
-
Note - DO NOT run Open Windows across multiple monitors.
-
Note - ffbtest requires approximately 7 Mbytes of disk space in the /tmp directory to extract its working files. If this space is not available, the diagnostic will fail and report warning and error messages, indicating a lack of disk space.
-
Note - To start SunVTS with vtsui, but without vtsk, you must add the host name to xhost as:
-
xhost + <hostname>.
ffbtest Options
- By default, all tests are enabled except the stereo test.

FIGURE 15-1 ffbtest
-
TABLE 15-1 ffbtest
| ffbtest Options | Description |
| 3DRAM Test | The 3DRAM Test thoroughly tests the video memory in the FFB using 512-bit reads and writes. 3DRAM makes a full screen pass, consisting of a write and a read to each pixel location, for each access mode on the list below. You can use either random data or specify data at the command line. A second pass is made with the one's complement of the data used in the first pass so that each memory location is tested with both a zero and a one. Notice that some passes are skipped on the single-buffered FFB. Errors in this subtest are attributes to the 3DRAM. A failing chip is indicated by (x, y) locations and device-specific "U" numbers. DFB8R, DFB8G, DFB8B, DFB8X - Buffer A DFB24 - Buffer A DFB32 - Buffer A SFB8R, SFB8G, SFB8B, SFB8X - Buffer A SFB8R, SFB8G, SFB8B, SFB8X - Buffer B (double buffer only) SFB32 - Buffer A SFB32 - Buffer B (double buffer only) SFB32 - Buffer C (double buffer only) SFB64 - Buffers A and C (double buffer only) SFB64 - Buffers B and C (double buffer only)
|
| 3DRAM Logic Test | 3DRAM Logic provides logical functionality to the FFB. The
following services are tested:
Compare Controls - Match AB
Compare Controls - Magnitude AB
Compare Controls - Match C (double buffer only)
Compare Controls - Magnitude C (double buffer only)
Match Mask - AB
Magnitude Mask - AB
Match Mask - C (double buffer only)
Magnitude Mask - C (double buffer only)
Raster Operations - RGB
Raster Operations - X
Raster Operations - YZ (double buffer only)
Plane Mask - RGB
Plane Mask - X
Plane Mask - Y
Plane Mask - Z
Group Enable - R, G, B, X
Group Enable - Y, Z (double buffer only) |
-
TABLE 15-1 ffbtest(Continued)
| ffbtest Options | Description |
| 3DRAM Logic Test (Continued) | ffbtest tests each function separately with a series of SFB64 writes. A total of 16 writes are made for each different test case with Y coordinate values varying from 0 to 30 in increments of 2 pixels. This dotted column organization provides page thrashing and block flashing in all screen resolutions. For each operation, all possible combinations are tested. For example, ROP RGB new==old has three possible values are: new < old, new == old, and new > old. ffbtest tests each of these cases. Five passes of the functions are made. Each pass writes into a different FFB address space: SFB32-A, SFB32-B, SFB32-C, SFB64-AC, and SFB64-BC. Note that the passes that write into the SFB32 address spaces are writing two pixels at a time because the tests use SFB64 writes. For FFB2+ boards, additional testing is performed on the new stencil and passin capabilities if the board is DBZ. Care is taken to ensure that all 3DRAM chips are tested. Errors in this subtest are attributed to the 3DRAM.
|
| RAMDAC Test | RAMDAC registers are tested using simple read/write patterns to determine if there are any bad bits. This includes all LUTs. ffbtest ensures that data is actually being read from the RAMDAC and not being supplied by the driver. Next, the RAMDAC Signature Register captures the pixels going to the screen. This test determines that all of the different data paths within the RAMDAC are functioning properly. The following modes are tested: 24-bit true color from A 24-bit true linear color from A 24-bit direct color from A 24-bit true color from B (double buffer only) 24-bit true linear color from B 24-bit direct color from B (double buffer only) 8-bit pseudo color (from each plane in RGB) from A 8-bit pseudo color (from each plane in RGB) from B (double buffer only) 8-bit non-linear grayscale (from each plane in RGB) from A 8-bit non-linear grayscale (from each plane in RGB) from B (double buffer only) 8-bit linear grayscale (from each plane in XRGB) from A 8-bit linear grayscale (from each plane in XRGB) from B (double buffer only) 8-bit overlay pseudo color (from buffer A, X plane)
|
-
TABLE 15-1 ffbtest(Continued)
| ffbtest Options | Description |
| RAMDAC Test (Continued) | This test displays a total of 11 different types of windows on the screen for the single-buffered configuration; 22 for double-buffered. A cursor is also displayed on the screen. RAMDAC on FFB2+ board supports three modes (SEP8, SEP4 and Combined). This test detects the RAMDAC type and tests the original and additional features like increased number of CLUTs, increased WLUT size, additional overlay WLUT. Errors in this test are attributed to the RAMDAC.
|
Rendering Pipeline
Test | Rendering Pipeline uses the rendering pipeline tests developed for
the FFB stand-alone diagnostics.
Each primitive is tested thoroughly with the following sources and
configurations:
· Dots
· Anti-aliased dots
· Lines using all four line drawing primitives
· Triangles
· Polygons
· Rectangles
· Fonts
Errors in this test are attributed to the FBC. |
| Fast Fill/Vertical Scroll Test | The Fast Fill/Vertical Scroll primitives are separated from the Rendering Pipeline tests because of their dependence on screen type. There are three different tests, one for each screen type. Each test uses both block and page mode fistfuls. Errors in this test are attributed to the FBC. |
| Pixel Process Test | Pixel Processor, a subtest, exercises the following options selected by the FFB's Pixel Processor Control (PPC) register. · Auxiliary clipping (additive and subtractive) · Depth cueing · Alpha blend · Viewport clip (2D and 3D) · Area pattern (transparent and opaque) Errors in this test are attributed to the FBC.
|
-
TABLE 15-1 ffbtest(Continued)
| ffbtest Options | Description |
| Picking Test | The Picking test exercises the pick detect login of the 3DRAM. ffbtest defines a pick detect window and checks that writes to the window are picked, and writes outside the window are not picked. The test is repeated once for each 3DRAM. Errors in this test are attributed to the 3DRAM.
|
| Arbitration Test | Arbitration, a subtest, continuously renders an object into the accelerator port while performing reads and writes through the direct port. For single-buffered configuration, a picture is rendered into the RGB planes while another process does DFB reads and writes in the X plane. For doubled buffered configuration, a picture is rendered into all 32 planes of the B buffer while the other does 32-bit DFB reads and writes in the A plane. This subtest simulates conditions in the read world, where rendering processes and windows operations run concurrently. Errors in this test are attributed to the FBC.
|
-
TABLE 15-1 ffbtest(Continued)
| ffbtest Options | Description |
| Stereo Test | The Stereo test displays an object in stereo mode with different images for the right and left eye. The user can verify proper operation by looking at the screen with stereo glasses and following the displayed instructions. If the monitor type is not 1280x1024 @ 76MHz, this test prints a warning message and does not run. To prevent this message from being displayed or written to the SunVTS information log, disable the stereo test in the test option menu. Only Sony P4 and N2 monitors support stereo resolutions. This test temporarily switches the monitor into stereo mode, renders a stereo image, performs a signature analysis on the stereo image (using the RAMDAC signature capture register), and after displaying the image for five seconds, restores the monitor to its previous resolution. Errors in this test are attributed to the RAMDAC.
NOTE -- If vertical lines are displayed on the console when running SunVTS, this could be caused by the ffbtest stereo test. There is a time-critical period in the FFB hardware when trying to change the screen resolution from standard to stereo and back to standard. When the system is heavily loaded or running all of the SunVTS tests, the FFB device driver may get interrupted while changing screen resolution. If this occurs, FB ASIC and RAMDAC get out of synchronization, resulting in an unusual display on the FFB screen. This problem could also cause a system hang condition. This test is disabled by default because it is only needed when a stereo monitor and stereo glasses are present. To avoid this type of display problem, disable the ffbtest stereo test when other SunVTS tests are enabled.
|
ffbtest Test Modes
- Due to the nature of graphic tests, reading from or writing to the frame buffer during graphic tests will disturb user operation. This test is only available in Functional Test and Stress Mode.
-
TABLE 15-2 ffbtest
| Test Mode | Description |
| Functional Test | The ffbtest verifies both the single- (SFB) and double-buffered
(DBZ) fast frame buffer boards. |
| Stress Mode | Stress mode exercises the frame buffer as much as possible. The Random Test generator, constructed as part of the verification effort, is used. Starting from a known seed, random primitives with random attributes are generated. The primitives are checked to ensure that they were rendered in the same way as on a known good system. The test is repeated ten times, with each random picture overlaying the previous one. Stress is mode is not available on FFB2+ boards. |
ffbtest Command Line Syntax
-
/opt/SUNWvts/bin/ffbtest standard_arguments -o dev=device_name, S=subtest_number,F=#_of_subtest_loops,B=#_of_test_loops,P=test_pattern
-
TABLE 15-3 ffbtest
| Argument | Explanation |
| dev=device_name | device_name is the relative path name of the device being tested
with respect to /dev/fbs; The default is ffb0. |
-
TABLE 15-3 ffbtest
| Argument | Explanation (Continued) |
| S=subtest_number | 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=0x3 runs both test 1 and test 2; n=0x180 runs both test 0x080 and test 0x0100. Note that you do not need the leading zeros.
n - 0x00001 3DRAM
n - 0x00002 3DRAM Logic
n - 0x00004 RAMDAC
n - 0x00008 Rendering Pipeline n - 0x00010 FastFill/Vertical Scroll n - 0x00020 Pixel Processor n - 0x00040 Picking
n - 0x00080 Arbitration
n - 0x00100 Stereo
More than one test can be selected by ORing subtest numbers. For example: n = 0x00009 selects 3DRAM and Rendering Pipeline tests. A hex number must be preceded by 0x, decimal numbers are also acceptable.
|
| F=#_of_subtest_loops | Specifies the number of times to repeat each subtest; the default is 1. |
| B=#_of_test_loops | Specifies the number of times to repeat a test loop before passing; the default is 1. |
| P=test_pattern | 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. |
ffbtest Error Messages
- Errors returned by ffbtest 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 FFB.
-
TABLE 15-4 ffbtest
| Error Message | Probable Cause(s) | Recommended Action |
| 6000 3DRAM Memory error in string Plane | Faulty 3DRAM, or possibly host memory error during gcopy operation. | If the problem persists, contact your authorized Sun service provider. |
| 6002 3DRAM Memory error in string Plane | Faulty 3DRAM, or possibly host memory error during gcopy operation. | If the problem persists, contact your authorized Sun service provider. |
| 6004 3DRAM Memory error in string Plane | Faulty 3DRAM, or possibly host memory error during gcopy operation. | If the problem persists, contact your authorized Sun service provider. |
| 6006 3DRAM Memory error in Buffer A | Faulty 3DRAM, or possibly host memory error during gcopy operation. | If the problem persists, contact your authorized Sun service provider. |
| 6008 3DRAM Memory error in Buffer B | Faulty 3DRAM, or possibly host memory error during gcopy operation. | If the problem persists, contact your authorized Sun service provider. |
| 6010 3DRAM Memory error in Buffer C | 3DRAM Memory error in Buffer C. | If the problem persists, contact your authorized Sun service provider. |
| 6012 Misaligned raster. | Software error. | Reinstall software. If the problem persists, contact your authorized Sun service provider. |
| 6013 File Not Found. Could not open file string. | Software error | Reinstall software. If the problem persists, contact your authorized Sun service provider. |
6014 Could not open file string:
string. | Software error. | Reinstall software. If the
problem persists, contact your
authorized Sun service
provider. |
-
TABLE 15-4 ffbtest(Continued)
| Error Message | Probable Cause(s) | Recommended Action |
| 6015 Keyword not Found, line data | Software error, Suspect data file corruption. | Reinstall software. If the problem persists, contact your authorized Sun service provider. |
| 6016 string error. Miscompares, starting at string. | Faulty frame buffer. | If the problem persists, contact your authorized Sun service provider. |
| 6017 Picking test error. Got a pick hit with picking disabled. | Faulty frame buffer. | If the problem persists, contact your authorized Sun service provider. |
| 6018 Picking test error. Got a pick hit outside the picking area. | Faulty frame buffer. | If the problem persists, contact your authorized Sun service provider. |
| 6019 Picking test error. Should have detected a pick hit. | Faulty frame buffer. | If the problem persists, contact your authorized Sun service provider. |
| 6020 Out of memory | Software System Error. | Contact system administrator |
| 6021 string failed | Software error. | Check for existence and/or permissions on string. Also check for available space in tmp. Reinstall software or contact your system administrator. |
| 6022 string failed | Software error. | Check for existence and/or permissions on string. |
| 6023 fork1(2) failed | Software error. | Reinstall software or contact your system administrator. |
| 6024 execl(2) failed | Software error. | Reinstall software or contact your system administrator. |
| 6025 Unable to open string. | Software error. | Check device for existence and/or permissions on string. Reinstall software or contact your system administrator. |
| 6026 ioctl(2) failed trying to read CLUT. | hardware failure or software driver error. | Reinstall software first, if failure continues, see a system administrator or your authorized Sun service provider. |
-
TABLE 15-4 ffbtest(Continued)
| Error Message | Probable Cause(s) | Recommended Action |
| 6027 ioctl(2) failed trying to turn on FFB video. | hardware failure or software driver error. | Reinstall software first, if failure continues, see a system administrator or your authorized Sun service provider. |
| 6028 failed trying to post CLUT. | hardware failure or software driver error. | Reinstall software first, if failure continues, see a system administrator or your authorized Sun service provider. |
| 6029 Miscompare found in Red channel of CLUT entry data. | Faulty frame buffer. | If the problem persists, contact your authorized Sun service provider. |
| 6030 Miscompare found in Green channel of CLUT entry data | Faulty frame buffer. | If the problem persists, contact your authorized Sun service provider. |
| 6031 Miscompare found in Blue channel of CLUT entry data | Faulty frame buffer. | If the problem persists, contact your authorized Sun service provider. |
| 6032 ioctl(2) failed trying to read WID LUT. | hardware failure or software driver error. | Reinstall software first, if failure continues, see a system administrator or your authorized Sun service provider. |
| 6033 ioctl(2) failed trying to post WID LUT | hardware failure or software driver error. | Reinstall software first, if failure continues, see a system administrator or your authorized Sun service provider. |
| 6034 failed trying to get RAMDAC signature analysis. | hardware failure or software driver error. | Reinstall software first, if failure continues, see a system administrator or your authorized Sun service provider. |
| 6035 Miscompare found in WID LUT entry data | Faulty frame buffer | If the problem persists, contact your authorized Sun service provider. |
| 6036 RAMDAC test failed. The on-screen image is incorrect | Faulty frame buffer. | If the problem persists, contact your authorized Sun service provider. |
| 6037 sysinfo(2) failed getting hostname | Software error. | Make sure you are superuser. |
-
TABLE 15-4 ffbtest(Continued)
| Error Message | Probable Cause(s) | Recommended Action |
| 6038 can't acquire console semaphore | Software error. | Reinstall software or contact your system administrator. |
| 6039 Cannot gain control of mouse: string | Software error. | Reinstall software or contact your system administrator. |
| 6040 Cannot gain control of keyboard: string | Software error | Reinstall software or contact your system administrator. |
| 6046 ioctl(2) failed trying to get current video mode. | Possibly hardware failure, likely software driver error. | Reinstall software first, if failure continues, see a system administrator or your authorized Sun service provider. |
| 6047 ioctl(2) failed trying to set current video mode | Possibly hardware failure, likely software driver error. | Reinstall software first, if failure continues, see a system administrator or your authorized Sun service provider. |
| 6048 ioctl(2) failed trying to get FFB system info | Possibly hardware failure, likely software driver error. | Reinstall software first, if failure continues, see a system administrator or your authorized Sun service provider. |
| 6049 ioctl(2) failed trying to go into Diagnostic mode | Possibly hardware failure, likely software driver error. | Reinstall software first, if failure continues, see a system administrator or your authorized Sun service provider. |
| 6050 mmap(2) failed: string | Software system error. | Reinstall software or contact your system administrator. |
| 6051 munmap(2) failed: string | Software system error. | Reinstall software or contact your system administrator. |
| 6052 close(2) failed: string | Software system error. | Reinstall software or contact your system administrator. |
| 6053 DGA error grabbing window on screen data | Software error. | Reinstall software or contact your system administrator. |
| 6054 DGA error getting window from token on screen data | Software error. | Reinstall software or contact your system administrator. |
| 6055 failed trying to read Transparent Overlay registers | Possibly hardware failure, likely software driver error. | Reinstall software first, if failure continues, see a system administrator or your authorized Sun service provider. |
-
TABLE 15-4 ffbtest(Continued)
| Error Message | Probable Cause(s) | Recommended Action |
| 6056 ioctl(2) failed trying to post Transparent Overlay registers | Possibly hardware failure, likely software driver error. | Reinstall software first, if failure continues, see a system administrator or your authorized Sun service provider. |
| 6057 failed trying to post cursor | Possibly hardware failure, likely software driver error. | Reinstall software first, if failure continues, see a system administrator or your authorized Sun service provider. |
| 6058 ioctl(2) failed trying to read cursor | Possibly hardware failure, likely software driver error. | Reinstall software first, if failure continues, see a system administrator or your authorized Sun service provider. |
| 6059 No FFB device found on display 0 | The environmental variable DISPLAY is set wrong or the display being used is not using an FFB. | Set the variable to a display that has the FFB plugged into it. |
| 6060 There is an inconsistency with the version of the X Window System | Software error. | Contact your system administrator |
| 6061 stat(2) failed trying to get info about Device Under Test | Software error. | Reinstall software or contact your system administrator. |
| 6062 stat(2) failed trying to get info about screen 0:data | Software error. | Reinstall software or contact your system administrator. |
| 6063 Can not access X Windows | Software error. | Try running xhost(1) or contact your system administrator. |
| 6064 wait(2) failed: string | Software error. | Reinstall software or contact your system administrator. |
| 6065 signal(2) failed: string | Reinstall software or contact your system administrator. | Reinstall software or contact your system administrator. |
| 6066 thr_kill(2) failed | Software error. | Reinstall software or contact your system administrator. |
| 6067 thr_join(2) failed: string | Software error. | Reinstall software or contact your system administrator. |
-
TABLE 15-4 ffbtest(Continued)
| Error Message | Probable Cause(s) | Recommended Action |
| 6071 get signatures | operator error. | To get signatures, run ffbtest from the command line |
| 6072 Stereo image incorrect | Stereo image incorrect. | If the problem persists, contact your authorized Sun service provider. |
| 6075 System LWP limit exceeded | Software error. | Reinstall software or contact your system administrator. |
| 6076 Error data creating thread | Software error. | Reinstall software or contact your system administrator. |
| 6104 Error in getting the length of the file. string | Software error. | If the problem persists, contact your authorized Sun service provider. |
| 6105 Stencil test failed string | Faulty 3DRAM. | If the problem persists, contact your authorized Sun service provider. |
| 6106 Passin test failed string | Faulty 3DRAM. | If the problem persists, contact your authorized Sun service provider. |
| 6107 Blend2 test failed string | Faulty 3DRAM. | If the problem persists, contact your authorized Sun service provider. |
| 6115 3DRAM Memory error testing string | Faulty 3DRAM, or possibly GCopy error. | If the problem persists, contact your authorized Sun service provider. |
| 6116 string error: 3DRAM Memory error testing string | Faulty 3DRAM, or possibly GCopy FFB to Memory error. | If the problem persists, contact your authorized Sun service provider. |
| 6117 string error: 3DRAM Memory error testing string | Faulty 3DRAM, or possibly GCopy Memory to FFB error. | If the problem persists, contact your authorized Sun service provider. |
| 6208 ioctl(2) failed trying to post Overlay WID LUT. | Possibly hardware failure, likely software driver error. | Reinstall software first, if failure continues, see a system administrator or your authorized Sun service provider. |
| 6209 ioctl(2) failed trying to post Primary WID LUT | Possibly hardware failure, likely software driver error. | Reinstall software first, if failure continues, see a system administrator or your authorized Sun service provider. |
-
TABLE 15-4 ffbtest(Continued)
| Error Message | Probable Cause(s) | Recommended Action |
| 6210 Miscompare found in Overlay WID LUT entry data | Faulty frame buffer. | If the problem persists, contact your authorized Sun service provider. |
| 6211 Miscompare found in Primary WID LUT entry data | Faulty frame buffer. | If the problem persists, contact your authorized Sun service provider. |
| 6212 ioctl(2) failed trying to read CLUT # data | Possibly hardware failure, likely software driver error. | Reinstall software first, if failure continues, see a system administrator or your authorized Sun service provider. |
| 6213 ioctl(2) failed trying to post CLUT # data | Possibly hardware failure, likely software driver error. | Reinstall software first, if failure continues, see a system administrator or your authorized Sun service provider. |
| 6214 Miscompare found in Red channel of CLUT # data in entry data | Faulty frame buffer. | If the problem persists, contact your authorized Sun service provider. |
| 6215 Miscompare found in Green channel of CLUT # data in entry data | Faulty frame buffer. | If the problem persists, contact your authorized Sun service provider. |
| 6216 Miscompare found in Blue channel of CLUT # data in entry data | Faulty frame buffer. | If the problem persists, contact your authorized Sun service provider. |
| 6217 RAMDAC test failed. The on-screen image in sep 4 mode is incorrect. | Faulty frame buffer. | If the problem persists, contact your authorized Sun service provider. |
| 6218 RAMDAC test failed. The on-screen image in sep 8 mode is incorrect. | Faulty frame buffer. | If the problem persists, contact your authorized Sun service provider. |
| 6219 RAMDAC test failed. The on-screen image in combined mode is incorrect. | Faulty frame buffer. | If the problem persists, contact your authorized Sun service provider. |
| 6220 ioctl(2) failed trying to read Overlay WID LUT | Possibly hardware failure, likely software driver error. | Reinstall software first, if failure continues, see a system administrator or your authorized Sun service provider. |
-
TABLE 15-4 ffbtest(Continued)
| Error Message | Probable Cause(s) | Recommended Action |
| 6221 ioctl(2) failed trying to read Primary WID LUT | Possibly hardware failure, likely software driver error. | Reinstall software first, if failure continues, see a system administrator or your authorized Sun service provider. |
|
|