2.2 Configuring LCD

All the following options belong to the LCD's Monitor section.

To light two LCD panels, add proper options to the LCD-2's Monitor section.

Basic Configuration

You may start from the basic options defined by Xorg.

Option       "Enable"                   "boolean"
Option       "Disable"                 "boolean"
Option       "Ignore"                    "boolean"
Option       "PreferredMode"    "string"
Option       "Position"                 "integer integer"
Option       "Rotate"                    "string"
Option       "LeftOf" ("RightOf", "Below", "Above")          "string"
Option       "MinClock"               "integer"
Option       "MaxClock"              "integer"

The following three options are exclusive, you can use only one or none. If none is set, X takes "enable" by default.

Option      "Enable"               "boolean" 
Option      "Disable"              "boolean" 
Option      "Ignore"                 "boolean"

Option "Enable" "boolean"

It means to light the LCD panel when starting X.

Option "Disable" "boolean"

It means not to light the LCD panel when starting X, but you could light it by the command "$ xrandr  --auto".

Option "Ignore" "boolean"

X will not create the output for the LCD panel. You could not light it dynamically by any means.

Option "PreferredMode" "string"

Set the display mode which would apply to the LCD panel, say "1024x768". Note that if the LCD is disabled, you may not add this option. Otherwise, it could be lighted when X starts up.

Option "Position" "integer integer"

Set the start posotion of the output. The integers represents the position by two coordinates (x,y). The default value is "0 0". This option takes effect when two display devices are enabled. It makes no difference if only one is enabled.

Option "Rotate" "string"

Rotate the output of the LCD. The valid string could be left, right, normal, inverted, and the corresponding rotation degree is 270, 90, 0, 180 (CW). The default value is normal. To enable HW rotation, get more information from Chapter 6. Configuring Hardware rotation

Option "LeftOf"      "string"
Option "RightOf"    "string"
Option "Below"      "string"
Option "Above"      "string"

Enable the extend mode. If this option is not set when two display devices are enabled, the display mode would be clone mode. The string after the operator is one of the display device you intend to light. However, it's forbidden to use this option when only one display device is enabled.

Option "MinClock"    "integer"
Option "MaxClock"   "integer"

Put constrains to the display device, in order to filter out some mode. Unit: Hz.

LCD related options

Besides the options mentioned above, the VIA accelerated Linux graphics driver implemented other options to fulfill special requirements.

Option "Type" "string"

This option specifies in which way the LCD panel is connected to the board. Valid types are External, Internal, HardWired, TTL. External means the LCD panel is connected via external transmitter, i.e. VT1636. Internal means the display device is connected via internal transmitter/encoder. HardWired is used when the display device is connected via VT1634 or VT1637. TTL is used when connecting TTL panel. The default type is Internal.

Option "DIPort" "string"

This option specifies which digital port is occupied by the LCD panel. Valid ports are DFP_HIGH, DFP_LOW, DFP_HIGHLOW, DVP0, DVP1. The default value is determined by the display device and the Type setting. Usually, if Type is set to External, the default value is DVP1.

Option "SerialPort" "hex number"

This option is used to set the port to sense the external transmitter/encoder. The valid values are 0x25, 0x26, 0x2C, 0x31, 0x3D. If this option is not set, the VIA driver will sense the ports following this sequence: 0x2c-> 0x31-> 0x25-> 0x3D-> 0x26.

Option "DDCPort" "hex number"

This option is used to set the port to obtain EDID. The valid values are 0x25, 0x26, 0x2C, 0x31, 0x3D. The value is usually the same as SerialPort's. Thus, this option need not be set in most cases.

Option "Center"

Display in the center of the LCD panel when current mode is smaller than native mode. Without this option, LCD display is expanding.

Option "PanelSize" "string"

Manually set the LCD panel's physical size, say 800x600. Legal values are listed in supported list. It is used to specify the LCD panel's size when the LCD panel doesn't have its EDID or has a broken EDID.

Option "DualChannel" "string"

This is an option to configure dual-channel LCD panel. The default value is related to the PanelSize settings. But you can use this option to override the default value. The valid values are "TRUE", "True", "true" or "FALSE", "False", "false".

Option "NoDithering" "boolean"

Dithering is a technique used in computer graphics to create the illusion of color depth in images with a limited color palette (color quantization). Some LCD panels apply this technique while other don't. If the LCD panel is not a dithering panel, set the value to be "True". Without this option, the VIA driver takes it a dithering panel by default.

Option "MSB" "boolean"

This option is relative to LVDS output bit order. Input data from graphic DI port to LVDS is LSB. If you use a MSB panel, set the value to be "True". LVDS will convert the data stream from LSB to MSB. The default order is LSB.

Option "FixOnIGA1" "boolean"

When light two LCD panels, set this option for one of them. There are two CRTCs in the current VIA chipsets: IGA1, IGA2. Only IGA2 has the ablility of scaling up. And LCD gets higher priority to use IGA2. So if this option is not set, LCD always uses IGA2. There would be a conflict when lighting two LCD panels.

Note that to avoid DI port conflicts, it's better to ignore the display devices which are not to be used.

You can get a complete sample in Appendix D. X Config Sample (Using the XRandR Extension).