C H A P T E R  22

Sun XVR-2500 Graphics Accelerator Test (graphicstest)


graphicstest Description

graphicstest verifies the functionality of XVR-2500 frame buffers. Test accuracy is checked using direct image comparison against compressed images. Failed pixel locations are printed as error messages.



caution icon

Caution - Do not run any other application or screen saver program that uses the frame buffer's accelerator port while running graphicstest. This combination causes SunVTS to return incorrect errors.




graphicstest Test Requirements

To run graphicstest as super user, you must use the console device or start the desktop with the -ac option.



Note - The CDE desktop is an X client that prevents the X server from restarting after each graphicstest finishes testing the kfb device.



Disable all screen savers before testing any graphics device. To disable the Solaris screen saver, type the following at a UNIX prompt:


# xset s off

To turn Display Power Management off, type the following at a UNIX prompt:


# xset -dpms

The display resolution must be 1280x1024. To change resolution, go to a UNIX prompt and type:


# fbconfig -res 1280x1024x76

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


graphicstest Test Preparation

You must run graphicstest through the SunVTS user interface. The desktop must be running on the XVR-2500, and the desktop must be setup to run in 24-bit mode (the default depth for XVR-2500). Perform on of the following procedures prior to performing graphicstest to ensure that the test runs as smoothly as possible.


procedure icon  To Run graphicstest in a Desktop GUI

1. Turn Power Management off, if it is enabled. See graphicstest Test Requirements.

2. Verify that no other program is running that might modify the screen during the test.

3. Verify that you have permission to lock the X server. graphicstest is designed to lock the X server during testing to prevent screen changes.

4. Verify that the JDS login window is not displayed during testing.

5. For frame buffers other than kfb, verify that the desktop is running on one frame buffer only.

If a kfb device is in the platform, the desktop must not be run on any other non-kfb graphics devices in the system when performing SunVTS.



Note - To perform graphicstest on kfb frame buffers, the desktop must be running on each kfb device in the system.




graphicstest Options

To reach the following dialog box, right-click on the test name in the System Map and select Test Parameter Options. Because graphics test can test multiple types of frame buffers, the test name that is displayed will correspond to the particular frame buffer being tested. 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.

By default, all graphicstest options are enabled.



FIGURE 22-1 graphicstest kfb0 Test Parameter Options Dialog Box

 


TABLE 22-1 graphicstest kfb0 Options

Option

Description

Open test

Verifies that the graphics device can be correctly opened. First the device is opened with an open system call. Next the register and frame buffer regions are mapped into the virtual address space of the test process. Next a subset of the read/write resisters are written to and read back from to verify that the register region was correctly mapped. Next selected areas of the frame buffer are written to and read back from to see if the the frame buffer was correctly mapped.

This test takes very little time and no progress is displayed.

Memory test

Verifies that all the memory on the graphics card is working. The test opens the device, allocates all the device memory, and then writes to memory using DMA or programmed I/O. The test then reads back the values from memory and checks to see if the correct values were read back.

DMA test

Verifies that the DMA engine on the device is functioning. The test writes data to an area of the frame buffer using DMA, then reads back the same area using programmed I/O and checks if the values are correct. The second part of the test writes data into the frame buffer and reads it back using the DMA engine, checking to see if the correct values were read back.

Chip Test

Exercises the graphics chip on the board to see if it is functioning correctly. The chip test exercises the main data paths through the graphics chip. Commands are sent to the graphics board to initiate a graphics program. Once the program has run the results are read from the frame buffer to verify if they are correct.



graphicstest Test Modes

Due to the nature of graphic tests, reading data from, or writing data to the frame buffer during graphic tests disturbs user operation. For this reason, graphicstest is only available in Functional test mode.


TABLE 22-2 graphicstest Supported Test Modes

Test Mode

Description

Functional

Performs the entire set of tests offline.



graphicstest Command-Line Syntax

/opt/SUNWvts/bin/sparcv9/graphicstest standard_arguments -o dev=device_name open=Enable/Disable dma=Enable/Disable mem=Enable/Disable chip=Enable/Disable B=n F=n S=value


TABLE 22-3 graphicstest Command-Line Syntax

Argument

Description

dev=device-name

device_name is the relative path name of the device being tested with respect to /dev/fbs. There is no default.

open=Enable/Disable

Enables or disables the open test. The default value is Enable.

dma=Enable/Disable

Enables or disables the dma test. The default value is Enable.

mem=Enable/Disable

Enables or disables the memory test. The default value is Enable.

chip=Enable/Disable

Enables or disables the chip test. The default is Enable.

B=n

Defines the number of times to repeat each test loop. The default value is 1.

F=n

Defines the number of times to repeat each subtest. The default is one.

S=value

Sets a bit mask to select which subtests will be used.

  • Bit 1 - test open
  • Bit 2 - test dma
  • Bit 3 - test mem
  • Bit 4 - test chip

For example -o S=3 would run the open and dma tests only. The default is to run all tests.