Jump to content

Modeline wont work with new grapichs card.


hea
 Share

Recommended Posts

Hi!

 

Ive just replaced my ati rage128 with a nvidia gf4 mx440. I use my old XF86config-4 file with the usual mods.

 

Strange thing is that my old modeline (72 Hz V):

 

Modeline "1400x1050" 166.52 1400 1432 2064 2096 1050 1070 1082 1103

 

wont work, and after some seconds the 1280x1024 is chosen instead. I saw from the XF logfile that the message : 2064 - 1432 is greater than 512. OK, seems the setting are too high BUT why did it work with the old card?

 

Any ideas?

Link to comment
Share on other sites

NON-STANDARD MODES ON LCD DISPLAYS

 

Some users have had difficulty programming a 1400x1050 mode (the native

resolution of some laptop LCDs).  In version 4.0.3, XFree86 added several

1400x1050 modes to its database of default modes, but if you're using

an older version of XFree86, here is a modeline that you can use:

 

# -- 1400x1050 --

# 1400x1050 @ 60Hz, 65.8 kHz hsync

Modeline "1400x1050"  129  1400 1464 1656 1960

                        1050 1051 1054 1100 +HSync +VSync

__________________________________________________________________________

 

(app-l) APPENDIX L: PROGRAMMING MODES

__________________________________________________________________________

 

The NVIDIA Accelerated Linux Driver Set supports all standard VGA and VESA

modes, as well as most user-written custom mode lines; double-scan modes

are supported on all hardware.

 

In general, your display device (monitor/flat panel/television) will be

a greater constraint on what modes you can use than either your NVIDIA

GPU-based video board or the NVIDIA Accelerated Linux Driver Set.

 

To request one or more standard modes for use in X, you can simply add a

"Modes" line such as:

 

        Modes "1600x1200" "1024x768" "640x480"

 

in the appropriate Display subsection of your XF86Config file (please see

the XF86Config(4/5) man page for details).  The following documentation

is primarily of interest if you compose your own custom mode lines,

experiment with xvidtune(1), or are just interested in learning more.

Please note that this is neither an explanation nor a guide to the fine

art of crafting custom mode lines for XFree86.  We leave that, rather,

to documents such as the XFree86 Video Timings HOWTO (which can be found

at www.tldp.org).

 

 

DEPTH, BITS PER PIXEL, AND PITCH

 

While not directly a concern when programming modes, the bits used per

pixel is an issue when considering the maximum programmable resolution;

for this reason, it is worthwhile to address the confusion surrounding

the terms "depth" and "bits per pixel".  Depth is how many bits of

data are stored per pixel.  Supported depths are 8, 15, 16, and 24.

Most video hardware, however, stores pixel data in sizes of 8, 16, or

32 bits; this is the amount of memory allocated per pixel.  When you

specify your depth, X selects the bits per pixel (bpp) size in which to

store the data.  Below is a table of what bpp is used for each possible

depth:

 

        depth    bpp

        ===== =====

          8    8

      15      16

      16      16

      24      32

 

Lastly, the "pitch" is how many bytes in the linear frame buffer there are

between one pixel's data, and the data of the pixel immediately below.

You can think of this as the horizontal resolution multiplied by the

bytes per pixel (bits per pixel divided by 8).  In practice, the pitch may

be more than this product due to alignment constraints.

 

 

MAXIMUM RESOLUTIONS

 

The NVIDIA Accelerated Linux Driver Set and NVIDIA GPU-based video boards

support resolutions up to 2048x1536, though the maximum resolution

your system can support is also limited by the amount of video memory

(see USEFUL FORMULAS for details) and the maximum supported resolution

of your display device (monitor/flat panel/television).  Also note that

while use of a video overlay does not limit the maximum resolution or

refresh rate, video memory bandwidth used by a programmed mode does

effect the overlay quality.

HOW MODES ARE VALIDATED

 

During the PreInit phase of the X server, the NVIDIA X driver validates

all requested modes by doing the following:

 

  o Take the intersection of the HorizSync and VertRefresh ranges given

    by the user in the XF86Config with the ranges reported by the monitor

    in the EDID (Extended Display Identification Data); this behavior

    can be disabled by using the "IgnoreEDID" option in which case the

    X driver will blindly accept the HorizSync and VertRefresh ranges

    given by the user.

 

  o Call the xf86ValidateModes() helper function, which finds modes with

    the names the user specified in the XF86Config file, pruning

    out modes with invalid horizontal sync frequencies or vertical

    refresh rates, pixel clocks larger than the maximum pixel clock

    for the video card, or resolutions larger than the virtual

    screen size (if a virtual screen size was specified in the

    XF86Config file).  Several other constraints are applied; see

    xc/programs/Xserver/hw/xfree86/common/xf86Mode.c:xf86ValidateModes().

 

  o All modes returned from xf86ValidateModes() are then examined to make

    sure their resolutions are not larger than the largest mode reported

    by the monitor's EDID (this can be disabled with the "IgnoreEDID"

    option.  If the display is a TV, each mode is checked to make sure

    it has a resolution that is supported by the TV encoder (usually

    only 800x600 and 640x480 are supported by the encoder).

 

  o All modes are also tested to confirm that they fit within the

    hardware's memory bandwidth constraints.  This test can be disabled

    with the NoBandWidthTest XF86Config file option.

 

  o All remaining modes are then checked to make sure they pass the

    constraints described below in ADDITIONAL MODE CONSTRAINTS.

 

The last three steps are also done when each mode is programmed, to

catch potentially invalid modes submitted by the XF86VidModeExtension

(eg xvidtune(1)).  For TwinView, the above validation is done for the

modes requested for each display device.

 

 

ADDITIONAL MODE CONSTRAINTS

 

Below is a list of additional constraints on a mode's parameters that

must be met.  In some cases these are specific to particular chips.

 

  o The horizontal resolution (HR) must be a multiple of 8 and be less

    than or equal to the value in the table below.

  o The horizontal blanking width (the maximum of the horizontal frame

    length and the horizontal sync end minus the minimum of the horizontal

    resolution and the horizontal sync start (max(HFL,HSE) - min(HR,HSS))

    must be a multiple of 8 and be less than or equal to the value in

    the table below.

  o The horizontal sync start (HSS) must be a multiple of 8 and be less

    than or equal to the value in the table below.

  o The horizontal sync width (the horizontal sync end minus the

    horizontal sync start (HSE - HSS)) must be a multiple of 8 and be

    less than or equal to the value in the table below.

  o The horizontal frame length (HFL) must be a multiple of 8, must be

    greater than or equal to 40, and must be less than or equal to the

    value in the table below.

  o The vertical resolution (VR) must be less than or equal to the

    value in the table below.

  o The vertical blanking width (the maximum of the vertical frame length

    and the vertical sync end minus the minimum of the vertical resolution

    and the vertical sync start (max(VFL,VSE) - min(VR,VSS)) must be

    less than or equal to the value in the table below.

  o The vertical sync start (VSS) must be less than or equal to the

    value in the table below.

  o The vertical sync width (the vertical sync end minus the vertical sync

    start (VSE - VSS)) must be less than or equal to the value in the

    table below.

  o The vertical frame length (VFL) must be greater than or equal to 2 and

    less than or equal to the value in the table below.

 

    Maximum DAC Values

    ------------------

 

          | GeForce/TNT Geforce2 & 3 Geforce4 or newer

    ______|_______________________________________________

          |

    HR    | 4096          4096        8192

    HBW | 1016          1016        2040

    HSS | 4088          4088        8224

    HSW | 256        256            512

    HFL | 4128          4128        8224

    VR    | 2048          4096        8192

    VBW | 128        128            256

    VSS | 2047          4095        8192

    VSW | 16            16          16

    VFL | 2049          4097        8192

 

 

Here is an example mode line demonstrating the use of each abbreviation

used above:

 

# Custom Mode line for the SGI 1600SW Flatpanel

#        name        PCLK  HR HSS  HSE  HFL  VR VSS  VSE  VFL

 

Modeline "sgi1600x1024" 106.9 1600 1632 1656 1672 1024 1027 1030 1067

 

 

ENSURING IDENTICAL MODETIMINGS

 

Some functionality, such as Active Stereo with TwinView, requires

control over exactly what mode timings are used.  There are several

ways to accomplish that:

 

    o If you only want to make sure that both display devices use

      the same modes, you only need to make sure that both display

      devices use the same HorizSync and VertRefresh values when

      performing mode validation; this would be done by making sure the

      HorizSync and SecondMonitorHorizSync match, and that the VertRefresh

      and the SecondMonitorVertRefresh match.

 

    o A more explicit approach is to specify the modeline you wish

      to use (using one of the modeline generators available),

      and using a unique name.  For example, if you wanted to use

      1024x768 at 120 Hz on each monitor in TwinView with active

      stereo, you might add something like:

 

        # 1024x768 @ 120.00 Hz (GTF) hsync: 98.76 kHz; pclk: 139.05 MHz

        Modeline "1024x768_120"  139.05  1024 1104 1216 1408  768 769 772 823  -HSync +Vsync

 

      In the monitor section of your XF86Config file, and then in

      the Screen section of your XF86Config file, specify a MetaMode

      like this:

 

        Option "MetaModes" "1024x768_120, 1024x768_120"

 

SEE ALSO:

 

    An XFree86 modeline generator, conforming to the GTF Standard is

    available here:

 

        http://gtf.sourceforge.net/

 

    For additional modeline generators, try searching for "modeline"

    on freshmeat.net.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...