Does the X Server Require Specific Monitor Drivers?

Support knowledgebase (wessels_monitordriver)
Applies to

SuSE Linux: Versions up to (including) 8.0

Situation

You want to configure the X Window graphical interface by means of SaX(2), but you cannot find your monitor in the relevant dialog.

Background

Usually, tube-type monitors do not require special support or even a driver in order to be accessed. The only data you need are the vertical and horizontal deflection frequencies, which can be found in the monitor's manual usually under the section Technical Data.

Select one of the common VESA models at the beginning of the selection list in Sax. Click on Experts and enter the frequency range taken from the manual in the dialog box. When doing this, please stick to the format instructions, i.e., the lower frequency first, then a hyphen, and finally the higher frequency. Horizontal frequencies are given in kHz and vertical frequencies in Hz.

Make sure you enter the right values, since errors at this point could lead to too high deflection frequencies. Even though modern monitors have protection functions against oversteering, your monitor could be damaged!

Please note that such configurations exceed the scope of our free of charge installation support. For queries on this subject, please refer to our Advanced Support Services or SuSE Support Services.

If your monitor is not listed, calculating the suitable modelines and then inserting them in the file /etc/X11/XF86Config is very easy under Linux. Proceed as described below for this purpose. Alternatively, you can load your Windows monitor drivers in SaX2.

VESA modelines

VESA modelines are standardized frequencies that can be displayed by virtually any monitor nowadays. The entry VESA is always the first in the manufacturer list in SaX(2)'s monitor list. The resolutions with the different frequencies can be selected on the right. We recommend you to check if addressing your monitor with one of these entries succeeds. The entry XGA1024x768@60Hz from the LCD is suitable for TFT/LC monitors.

Loading monitor drivers in SaX2

In order to use the drivers provided with your monitor, select the entry Monitor under SaX2 -> Desktop Settings -> Properties -> Monitor. Then insert the floppy-disk and confirm with OK. If the manufacturer has observed the standard format for "driver files", the information will be read from the floppy-disk and the frequencies for the monitor will be entered.

Some TFT/LC display models have to be addressed with 60 Hz. The easiest way to achieve an accurate access is with the option "Framebuffer Timing" in SaX2 -> Desktop Settings -> Properties -> Expert -> Algorythm Method -> Framebuffer Timing. By doing this, the X server will use the exact VESA framebuffer values to address the monitor. The only necessary condition is that the kernel has been started in framebuffer mode. Instructions on how to activate the framebuffer mode can be found under "Configure an unsupported graphic card using the framebuffer device" (http://sdb.suse.de/en/sdb/html/wessels_easy_fbdev.html).

Calculating modelines

These steps are only necessary if the standard VESA modelines lead to problems with your monitor or if you need specific frequencies (e.g. monitors with fixed frequencies). Boot your SuSE Linux system in runlevel 3 in order to deactivate the graphical interface (subsequent X). To do so, run the the following command as root on the console (CTRL+ALT+F1):


init 3

or add the number 3 when selecting Linux at the bootprompt:


linux 3

Modelines can be calculated through the command xmode. In order to create a complete modeline, you have to specify the horizontal and vertical resolution as well as the refresh rate. The command's syntax is:


xmode -x -y -r

Example: You want to calculate a modeline for 1024*768 with a refresh rate of 70 Hz. The command is therefore:


xmode -x 1024 -y 768 -r 70

The output is:


51
64
Modeline "1024x768" 71.39 1024 1040 1216 1400 768 768 776 802

The line


Modeline "1024x768" 71.39 1024 1040 1216 1400 768 768 776 802

will be entered in the file /etc/X11/XF86Config at the Section "Modes".

Entering the modeline in /etc/X11/XF86Config

  1. Open /etc/X11/XF86Config with an editor of your choice. (In our example mcedit.)

  2. 
    mcedit /etc/X11/XF86Config
    
    
  3. Search for the Section "Modes". If modelines have been already entered there, you can disable them by means of a #. Example:

  4. 
    Before:
    
    Section "Modes"
      Identifier   "Modes[0]"
      Modeline      "1024x768" 61.19 1024 1040 1216 1400 768 768 776 802
      Modeline      "1024x768" 71.39 1024 1040 1216 1400 768 768 776 802
      Modeline      "832x624" 40.44 832 848 968 1112 624 624 632 652
      Modeline      "832x624" 47.17 832 848 968 1112 624 624 632 652
      Modeline      "800x600" 37.44 800 816 928 1072 600 600 608 626
      Modeline      "800x600" 43.68 800 816 928 1072 600 600 608 626
      Modeline      "640x480" 23.96 640 656 720 864 480 480 488 501
      Modeline      "640x480" 27.96 640 656 720 864 480 480 488 501
      Modeline      "720x400" 22.46 720 736 824 1008 400 400 408 417
      Modeline      "720x400" 26.21 720 736 824 1008 400 400 408 417
    EndSection
    
    After:
    
    Section "Modes"
      Identifier   "Modes[0]"
    #  Modeline      "1024x768" 61.19 1024 1040 1216 1400 768 768 776 802
    #  Modeline      "1024x768" 71.39 1024 1040 1216 1400 768 768 776 802
    #  Modeline      "832x624" 40.44 832 848 968 1112 624 624 632 652
    #  Modeline      "832x624" 47.17 832 848 968 1112 624 624 632 652
    #  Modeline      "800x600" 37.44 800 816 928 1072 600 600 608 626
    #  Modeline      "800x600" 43.68 800 816 928 1072 600 600 608 626
    #  Modeline      "640x480" 23.96 640 656 720 864 480 480 488 501
    #  Modeline      "640x480" 27.96 640 656 720 864 480 480 488 501
    #  Modeline      "720x400" 22.46 720 736 824 1008 400 400 408 417
    #  Modeline      "720x400" 26.21 720 736 824 1008 400 400 408 417
    EndSection
    
    
  5. Enter now your modeline. To avoid any mistakes, use "Cut & Paste" to perform this step. Remember that the shift key has to be pressed in mcedit to make Cut&Paste work.

  6. 
    Section "Modes"
      Identifier   "Modes[0]"
    #  Modeline      "1024x768" 61.19 1024 1040 1216 1400 768 768 776 802
    #  Modeline      "1024x768" 71.39 1024 1040 1216 1400 768 768 776 802
    #  Modeline      "832x624" 40.44 832 848 968 1112 624 624 632 652
    #  Modeline      "832x624" 47.17 832 848 968 1112 624 624 632 652
    #  Modeline      "800x600" 37.44 800 816 928 1072 600 600 608 626
    #  Modeline      "800x600" 43.68 800 816 928 1072 600 600 608 626
    #  Modeline      "640x480" 23.96 640 656 720 864 480 480 488 501
    #  Modeline      "640x480" 27.96 640 656 720 864 480 480 488 501
    #  Modeline      "720x400" 22.46 720 736 824 1008 400 400 408 417
    #  Modeline      "720x400" 26.21 720 736 824 1008 400 400 408 417
    Modeline "1024x768" 71.39 1024 1040 1216 1400 768 768 776 802
    EndSection
    
    

    Use F2 to save the file, confirm with Enter, and exit the editor with F10. Then restart the X server or start it with startx.


Keywords: MONITOR, DRIVER, X, X11, MODELINES

Categories: XFree86 , X Server

SDB-wessels_monitordriver, Copyright SuSE Linux AG, Nürnberg, Germany - Version: 13. May 2002
SuSE Linux AG - Last generated: 30. Jul 2002 by glazzar (sdb_gen 1.40.0)