C H A P T E R 6 |
PGX32 Graphics Accelerator |
This chapter describes how to change the display resolution on the PGX32 Graphics Accelerator.
You can use the GFXconfig menu-style interface utility any time to change screen resolutions. See the GFXconfig man page for a detailed description.
Note - gfx is the UNIX device name for the PGX32 Graphics Accelerator. |
To use GFXconfig to configure your PGX32 card, type:
# GFXconfig -i |
The PGX32 configuration window is displayed ( FIGURE 6-1 ).
TABLE 6-1 describes the PGX32 configuration window.
Sometimes it is convenient to configure the PGX32 card noninteractively. This method is especially useful when configuring many systems identically or when you know which configuration is appropriate for the system.
GFXconfig uses the same conventions as the m64config utility. m64config is used for all ATI-based graphics which includes the Sun Ultra 5 and Sun Ultra 10 motherboard graphics (both 8-bit and 24-bit systems) and PGX 8-bit PCI frame buffer. You can set all of the parameters that can be set using the interactive version by specifying the correct flag followed by a desired value. TABLE 6-2 describes these parameters.
Forces all windows to use 24-bit visuals. This may prohibit some 8-bit applications from working. |
|
Note - By default, the bit depth is set to 8/24 for resolutions of 1280 x 1024 and less, or 8 only for higher resolutions. |
To configure the resolution on the PGX32 to 1152 x 900 at 66, type:
# GFXconfig -res 1152x900x66 |
To verify the resolution prior to setting it permanently, add the word "try" after the resolution name. This option displays a test pattern on the screen until you press the Return key. Then you can accept or reject the resolution. For example:
# GFXconfig -res 1152x900x66 try -dev /dev/fbs/gfxp0 |
To set the resolution to 1024 x 768 at 60 with a single TrueColor visual (no 8-bit PseudoColor visual), type:
# GFXconfig -res 1024x768x60 -24only true |
To see the current settings for /dev/fbs/gfxp0 , type:
# GFXconfig -propt -dev /dev/gfx/gfxp0 |
Normally, the default screen resolution is sufficient for most users. However, you may need to change the default resolution if:
The general guidelines to follow when changing the default screen resolutions are:
The procedures for changing the screen resolution described in this chapter include:
If you are using a monitor with DDC2B/EDID protocol, the default resolution will be determined using the Auto-Detect feature. With this protocol, the GFX card first checks the Standard Timing Identifiers (taking the first one supported), then tries to match the Established Timings. Failing the above method, the card will default to 1152 x 900 x 66.
Note - The monitor must be turned on prior to booting the system in order for the PGX32 to communicate with it. |
The methods described in this appendix will override any information obtained via EDID.
It is possible to specify the screen resolution of PGX32 card via the output-device environment variable by using the format screen:rAxBxC , where: A is the desired horizontal resolution, B is the desired vertical resolution, and C is the desired refresh rate.
The system will check these values against an internal list of resolutions (see TABLE 6-3 ), and use the corresponding entry as the screen resolution.
For example, to use VESA1024 x 768 at 75 as the screen resolution, type the following at the ok prompt:
ok setenv output-device screen:r1024x768x75 ok reset |
Note - The new screen resolution will take effect following the reset, and will hold the resolution information until the output-device variable is changed manually. |
At the ok prompt in Boot PROM mode, the screen resolution can be easily set on the PGX32 cards by using one of the 34 preinstalled resolution modes. These resolution settings are identified by video modes 0-33 ( TABLE 6-3 ).
Note - Use video modes 0-25 to select a screen depth of 24 bits, or video modes 26-33 to select a screen depth of 8 bits. |
Note - See Using nvedit to Modify NVRAM for a description of nvedit commands. |
For example, to set the screen resolution to 1024 x 768 at 60Hz, video-mode 8, type:
ok nvedit 0: 8 value video-mode 1: <ctrl-c> ok nvstore ok setenv use-nvramrc? true ok reset |
Note - The last three commands enable the NVRAM. Without these lines, the changes you make with nvedit will be ignored. |
If all of the previously described methods fail for your configuration, it is possible to specify the exact timing numbers for a particular resolution. The last method for setting the screen resolution also uses nvedit . This method is more involved and requires knowledge of all timing parameters for the desired resolution. Therefore, this method is only meant for monitors whose resolutions are not available in the Video-Mode Method. See Using nvedit to Modify NVRAM for a description of nvedit commands.
Note - You should use this method only if the previous methods have been unsuccessful. |
For example, to set the screen resolution to 1280 x 1024 at 76 Hz:
ok nvedit 0: : video-timing " 1280, 384, 32, 64, \ 1024, 43, 3, 8, 135000000, 0" ; 1: <ctrl-c> ok nvstore ok setenv use-nvramrc? true ok reset |
Note - The syntax is very important. The spaces must be present exactly as they appear in the example. |
Note - The last three commands enable the NVRAM. Without these lines, the changes you make with nvedit will be ignored. |
Following is a brief description of the ten parameters used in this method.
Note - To obtain the timing parameters required to use this method, contact SunService at 1-800-USA-4SUN with your monitor requirements. |
To use the PGX32 software as the console device, use the procedures in the sections that follow.
To use the PGX32 card as the system console in an Sun Ultra 5 or Sun Ultra 10 system as the only frame buffer, first disable the 8-bit or 24-bit onboard graphics, that comes standard with these systems.
To disable the 8-bit or 24-bit graphics device built into the motherboard, type:
ok setenv pcib-probe-list 1,3 ok reset |
Once the system is reset, all console messages are directed to the PGX32 card.
To restore the motherboard 8-bit or 24-bit graphics device as the console for any reason, simply add it back to pcib-probe-list by typing:
ok setenv pcib-probe-list 1,2,3 ok reset |
If no other frame buffers are present in a Sun Ultra 30 or Sun Ultra 60, then the PGX32 card will be the console by default, provided that the board is in a valid probed PCI slot.
The PGX32 card can be made the console device when other secondary frame buffers are present in the system.
The Sun Ultra 5 and Sun Ultra 10 standard onboard graphics and PGX32 card(s) can only coexist in the system if the onboard graphics device is the console. Otherwise, the onboard graphics device must be disabled as described above in PGX32 Card as the Only Frame Buffer .
To configure the PGX32 card as the console when UPA frame buffers are in the system, the output-device variable in NVRAM must be changed to the actual path of the desired PGX32 cards. This path can best be determined by searching for the string TSI in the / tree at the ok prompt.
For example, to find the pci devices, type:
ok cd /pci@1f,4000 ok ls |
When you are in the correct location, you should see at least one entry containing the string TSI (that is, TSI,gfxp@# where # is a digit representing your PGX32 slot location).
Use this entry as the console device for your desired PGX32 card. For example, if the path is /pcid@1f,4000 (as shown above) to the device TSI,gfxp@# , type:
ok setenv output-device /pci@1f,4000/TSI,gfxp@# ok reset |
Once the system is reset, all console messages will be directed to that PGX32 card.
To restore the default graphics device as the console for any reason, simply set the output-device variable back to its default value of the screen. To do this, type:
ok setenv output-device screen ok reset |
To make the PGX32 the console device when other PCI frame buffers are present in the system, it may be necessary to change the pcia-probe-list to probe the PGX32 slot before that of the secondary frame buffer (in addition to the changes described above in PGX32 Card as the Only Frame Buffer )
Determine the slot numbers that correspond to these frame buffers, then ensure that the PGX32 slot number precedes that of the secondary frame buffer in the pcia-probe-list .
For example, if the PGX32 is located in slot 3, and the secondary frame buffer is located in slot 1, then update the pcia-probe-list so that slot 3 is probed before slot 1. A possible configuration is:
ok setenv pcia-probe-list 3,2,1,4 ok reset |
Once the system is reset, all console messages will be directed to the PGX32 card.
This section describes how to start the OpenWindows environment, Common Desktop Environment (CDE), and the X Display Manager on the PGX32 card.
The following sections describe how to start the OpenWindows environment as a console or with multiple PGX32 cards. The PGX32 device name is gfxp# .
If the PGX32 card is the console, type:
# openwin |
To start the OpenWindows environment on two PGX32 devices, gfxp0 and gfxp1 , type:
# openwin -dev /dev/fbs/gfxp0 -dev /dev/fbs/gfxp1 |
Note - In the above example, the gfxp device numbers are 0 and 1. These may be different in your configuration. Please check /dev/fbs/ or dmesg for correct device numbers. |
If you have installed CDE and would like CDE to appear on the PGX32 display, you need to modify your /etc/dt/config/Xservers file. If the PGX32 card is the console device, you do not need to modify the Xservers file.
The following sample Xservers.gfx file assumes that the Product Name card is the only frame buffer on which to start CDE:
:0 Local Local_uid@console root /usr/openwin/bin/Xsun \ :0 -dev /dev/fbs/gfxp0 -nobanner |
Note - If for some reason the name of your PGX32 device is something other than gfxp0, you need to substitute the correct name in the file. |
You can add any other desired command line arguments to the end of this line. For example, you can start CDE on multiple displays.
To do this, list each display device following the convention above.
The following example configuration displays CDE on the display named /dev/fbs/gfxp0 and uses the device named /dev/fbs/m640 (the built-in graphics device on the Sun Ultra 5 and Sun Ultra 10 systems) as a secondary frame buffer.
:0 Local Local_uid@console root /usr/openwin/bin/Xsun \ :0 -dev /dev/fbs/gfxp0 -dev /dev/fbs/m640 |
The PGX32 card also supports the X display manager ( xdm ). A simple configuration file is provided as /usr/openwin/lib/X11/xdm/Xservers .
If you had an Xservers file already in place, the PGX32 software installation will have saved it as /usr/openwin/lib/X11/xdm/Xservers.nogfx .
By default, the installation will have added the following line, which assumes that the Product Name is the only frame buffer on which to start xdm :
:0 Local Local /usr/openwin/lib/xdm/StartOW \ :0 -dev /dev/fbs/gfxp0 |
You can add any other desired command line arguments to the end of this line. For example, you can start xdm on multiple displays.
To do this, list each display device following the convention above.
The following example configuration displays xdm on the display named /dev/fbs/gfxp0 and uses the device named /dev/fbs/m640 (the built-in graphics device on the Sun Ultra 5 and Sun Ultra 10 systems) as a secondary frame buffer:
:0 Local Local_uid@console root /usr/openwin/bin/Xsun \ :0 -dev /dev/fbs/gfxp0 -dev /dev/fbs/m640 |
To edit the NVRAM, begin the nvedit editor at the ok prompt:
ok nvedit |
See Video Timing Method for using the nvedit editor. There are several key sequences that you must use to edit the variables in NVRAM:
The changes will take effect only if they are stored using the nvstore command, entered at the ok prompt. Once the changes are stored, the NVRAM must be enabled before the system will execute it. This is done by setting the environment variable use-nvramrc? to true .
Copyright © 2002, Sun Microsystems, Inc. All rights reserved.