Syntax
Each modeline has ten parameters, beginning with a label for the resolution being specified. The second parameter specifies the rate of the pixel clock in megahertz. Then follow four numbers that together specify the x-resolution (width) and related parameters, and four numbers that specify the y-resolution (height).
Modeline syntax: pclk hdisp hsyncstart hsyncend htotal vdisp vsyncstart vsyncend vtotal Flags (optional): +HSync, -HSync, +VSync, -VSync, Interlace, DoubleScan, CSync, +CSync, -CSync Modeline "1600x1200" 155 1600 1656 1776 2048 1200 1202 1205 1263 # (Label) (clk) (x-resolution) (y-resolution) # | # (pixel clock in MHz)Or, the modeline can be split into multiple lines for greater clarity
Modeline "1600x1200" 155 1600 1656 1776 2048 1200 1202 1205 1263 The horizontal and vertical frequencies can be calculated by: Hfreq=pclk/htotal Vfreq=pclk/(htotal*vtotal) (field rate) For interlace mode, frame rate=field rate/2, otherwise frame rate=field rate.The numbers after the width and height are used to determine the front porch, sync pulse, and back porch timings. The resulting refresh rate or frame rate of the display can be determined by dividing the pixel clock frequency by the product of the horizontal and vertical field lengths. In this case, the display is operating at 155,000,000/(2048*1263)=59.92 Hz.
Optionally, extra parameters for controlling the polarity of the horizontal and vertical sync pulses can be added. There are also options for interlaced and doublescan modes. In most situations they will not be required.
Read more about this topic: XFree86 Modeline