How do you set the resolution for TGX and TGX+ framebuffers when they are used
as the second framebuffer on a system?
You have to set the resolution at boot time in the nvramrc. Here is a script
that will set up the nvramrc so that it initialises the resolution to
1280x1024 @ 76Hz.
Note: This script is modified from one in Sun document No: 802-5011-10 Platform
Notes: SMCC Frame Buffers, available in the Answerbook volume 'Solaris 2.5 on
Sun Hardware' - search for the string "TurboGXplus Frame Buffer".
#!/bin/sh
# Configure the entries for "cgsix@0" and "cgsix@1"
# to refer to each of your frame buffers.
# NOTE:
# The actual full device path/names should be determined using 'show-devs'
# which will vary from hw platform to hw platform.
# If you are NOT using the correct path to the device, this script will
# not work.
eeprom fcode-debug\?=true
eeprom nvramrc='probe-all
" /iommu/sbus/cgsix@0" select-dev
r1280x1024x76
" /iommu/sbus/cgsix@1" " set-resolution" execute-device-method drop
device-end
install-console
banner
'
eeprom use-nvramrc\?=true
The script presumes sun4m architecture; for sun4c change /iommu/sbus to /sbus
The other information you will need to run the script is which sbus slot the
second frame buffer card resides in - ie the one that will be used as the
second head. In this instance, it assumes a cgsix frame buffer in sbus slot 3.
The script has the disadvantage that it makes the second TGX+ the console frame
buffer. You may not want this; for example if you have a SS20SX or Ultra Creator
with an additional TGX+, you may wish to set the resolution of the TGX+ while
maintaining the SX or FFB as the console.
In which case, try this script instead. It should set the resolution of the
TGX+ to 1280x1024@76 while maintaining the default console.
#!/bin/sh
eeprom fcode-debug\?=true
eeprom nvramrc='probe-all
install-console
banner
: vsetup " 135000000,81128,76,32,64,288,1280,2,8,32,1024,COLOR,0OFFSET" ;
vsetup 4
" /sbus/cgsix@2" " override" execute-device-method drop
'
eeprom use-nvramrc\?=true
This is another alternate script that can be used to set up the resolution
of a second TGX+/cgsix framebuffer.
#!/bin/sh
#
# This is a script to set a TGX+ graphics card supporting
# the second monitor in a two-monitor configuration to
# a resolution of 1280x1024x67. Run the script in the
# Bourne shell and then reboot.
#
eeprom fcode-debug\?=true
eeprom nvramrc='probe-all
: vsetup1 " 117000000,71691,67,16,112,224,1280,2,8,33,1024,COLOR,0OFFSET" ;
vsetup1 4 " /sbus@1f,0/cgsix@2,0" " override" execute-device-method drop
device-end
install-console
banner
'
eeprom use-nvramrc\?=true
touch /reconfigure
Note: The number 4 in vsetup 4 refers to the sense code of the monitor. For
an incomplete list of sense codes, see below.
Again, please make sure that /sbus@1f,0/cgsix@2,0 is the correct full
pathname of the second framebuffer that comes up in show-devs or probe-all
from the <ok> prompt.
Here is the appropriate voodoo for several supported resolutions. Note also that
this will only work for the TGX or TGX+.
1024 x 768 at 60 Hz:
64125000,48286,60,16,128,160,1024,2,6,29,768,COLOR
1024 x 768 at 70 Hz:
74250000,56593,70,16,136,136,1024,2,6,32,768,COLOR
1024 x 768 at 77 Hz:
84375000,62040,77,32,128,176,1024,2,4,31,768,COLOR
1152 x 900 at 66 Hz:
94500000,61845,66,40,128,208,1152,2,4,31,900,COLOR
1152 x 900 at 76 Hz:
108000000,71808,76,32,128,192,1152,2,4,31,900,COLOR,0OFFSET
1280 x 1024 at 67 Hz:
117000000,71691,67,16,112,224,1280,2,8,33,1024,COLOR,0OFFSET
1280 x 1024 at 76 Hz:
135000000,81128,76,32,64,288,1280,2,8,32,1024,COLOR,0OFFSET
1600 x 1280 at 76 Hz:
216000000,101890,76,24,216,280,1600,2,8,50,1280,COLOR,0OFFSET
And this is what the numbers actually mean, taking 1280x1024@67 as an example:
117000000 Pixel frequency or dot clock (in Hz)
71691 Horizontal frequency (in Hz)
67 Vertical frequency (in Hz)
16 Horizontal Front Porch (in pixels)
112 Horizontal Sync Width (in pixels)
224 Horizontal Back Porch (in pixels )
1280 Horizontal Displayed pixels (in pixels)
2 Vertical Front Porch (in lines)
8 Vertical Sync Width (in lines)
33 Vertical Back Porch (in lines)
1024 Vertical Displayed lines (in lines)
COLOR Color monitor flag
0OFFSET No sync pedestal flag
Monitor sense codes (incomplete list), check FE Handbook for more information:
0 is denoted by a link (a 100 ohm resistor) to pin 4 (Ground, or Sense Return).
1 is denoted by the absence of a link - the pin is unconnected.
3 8 9 (pins)
2 1 0 (bits)
1 1 1 7 - No monitor connected
1 1 0 6 - Low cost 17"
1 0 1 5 - Sony 16"
1 0 0 4 - Sony GDM20 series (with built-in lead)
0 1 1 3 - BNC Adaptor, Hitachi 19", old Sony 16"
0 1 0 2 -
0 0 1 1 -
0 0 0 0