4 Modelines

Contents of this section

When constructing a modeline for use with the Chips and Technologies driver you'll needed to considered several points

* 16/24 Bits Per Pixel

Chips later than the ct65540 are capable of supporting Hi-Color and True-Color modes. These are implemented in the current server. The clocks in the 6554x series of chips are internally divided by 2 for 16bpp and 3 for 24bpp, allowing one modeline to be used at all depths. The effect of this is that the maximum dot clock visible to the user is a half or a third of the value at 8bpp. The 6555x series of chips doesn't need to use additional clock cycles to display higher depths, and so the same modeline can be used at all depths, without needing to divide the clocks. Also 16/24 bpp modes will need 2 or 3 times respectively more video ram.

* Frame Acceleration

Many DSTN screens use frame acceleration to improve the performance of the screen. This can be done by using an external frame buffer, or incorporating the framebuffer at the top of video ram depending on the particular implementation. The Xserver assumes that the framebuffer, if used, will be at the top of video ram. The amount of ram required for the framebuffer will vary depending on the size of the screen, and will reduce the amount of video ram available to the modes. Typical values for the size of the framebuffer will be 57600 bytes (640x480 panel), 90000 bytes (800x600 panel) and 147456 bytes (1024x768 panel). For systems with external framebuffers the option "ext_fram_buf" can be used to make all the vram available to video memory.

* H/W Acceleration

The H/W cursor, and fill operations currently allocate 2kB of the video ram for there own use. If this is not available these functions will automatically be disabled.

* VESA like modes

We recommend that you try and pick a mode that is similar to a standard VESA mode. If you don't a suspend/resume or LCD/CRT switch might mess up the screen. This is a problem with the video BIOS not knowing about all the funny modes that might be selected.

* Dot Clock

For LCD screens, the lowest clock that gives acceptable contrast and flicker is usually the best one. This also gives more memory bandwidth for use in the drawing operations. Some users prefer to use clocks that are defined by their BIOS. This has the advantage that the BIOS will probably restore the clock they specified after a suspend/resume or LCD/CRT switch.

The ct655xx driver is capable of driving both a CRT and a flat panel display. Generally most modelines that work with CRT's will also work with the ct655xx driver. If the "use_modeline" or "fix_panel_size" options are not specified, only the clock, polarities, vertical and horizontal sizes are used in the mode calculations on an LCD. Hence a mode like

Modeline "640x480@8bpp"   21.000  640    0    0    0   480    0    0    0

will often be sufficient for a laptop screen. Just program the zeroed values above to those you would use for a CRT. It should also be noted that flat panels often prefer dot clocks that are much slower than CRT's. Below you'll find listed a set of modelines that are in use of a variety of machines. These can be used as starting points for new modelines.

Modeline "640x480@8bpp"   21.000  640  688  704  776   480  480  481  486
Tested on a Sharp PC3020, (640x480 DSTN, 65545A1, 512kByte)

Modeline "640x480@8bpp"   16.000  640  688  704  776   480  480  481  486
Modeline "640x480@16bpp"  16.000  640  688  704  776   480  480  481  486
Modeline "640x480@24bpp"  16.330  640  664  760  800   480  490  502  525
Tested on a Toshiba Satellite T2135CS (640x480 DSTN, 65545??, 1MByte)

Modeline "640x480@8bpp"   25.175  640  664  760  800   480  491  493  525
ModeLine "640x480@8bpp"   28.322  640  680  720  864   480  488  491  521
Modeline "640x480@16bpp"  38.000  640  648  668  808   480  490  502  525
Modeline "640x480@24bpp"  23.000  640  648  756  809   480  490  502  525
Tested on a Toshiba 400CDT, (640x480 TFT, 65546 1Mbyte)

Modeline "800x600@8bpp"   40.000  800  840  968 1056   600  601  605  628
Modeline "800x600@16bpp"  36.000  800  840  968 1056   600  601  605  628
Tested on a Sager Narval86 (800x600 DSTN, 65548, 1Mbyte)

Modeline "1024x768@8bpp"  65.000 1024 1032 1176 1344   768  771  777  806
Modeline "1024x768@16bpp" 65.000 1024 1032 1176 1344   768  771  777  806
Tested on a Toshiba 720CDT, (1024x768 TFT, 65550, 2Mbyte)

Note that there are some machines that are known to need the panel timings reprogrammed for use with XFree using the "use_modeline" option. One such machine is the "Prostar 8200" with a 640x480 TFT. For this machine a modeline that is known to work is

Modeline "640x480@8bpp"   25.175  640  672  728  816   480  489  501  526
Modeline "640x480@16bpp"  25.175  640  672  728  816   480  489  501  526
Tested on a Prostar 8200, (640x480, 65548, 1Mbyte)

Also there are some machines that are known to report the LCD panel size incorrectly. The correct panel size can be forced into registers from the modeline values using the "fix_panel_size" option. Two machines that are know to need this option are the HP OmniBook 5000CTS and the NEC Versa 4080 800x600 TFT machines. A modeline that is known to work with the OmniBook in conjunction with the "use_modeline" and "fix_panel_size" options is

Modeline "800x600@8bpp"   28.322  800  808  848  936   600  600  604  628
Tested on a HP OmniBook 5000CTS (800x600 TFT, 65548, 1Mbyte)

The NEC Versa 4080 just needs the "fix_panel_size" option.

Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter