# # 3/27/2001 # Markus Ammer # # Dell Inspiron 7000 and external CRT. # P2 300Mhz # # built in ATI 3D RAGE LT PRO # SuSE Linux 7.1 # Kernel 2.2.18 / 2.4.0 # 4.0.2 # # ATI # internal # internal # AGP # 4MB # 16bpp = 65536 colors # 1024 x 768 # 15" # TFT # EIZO # F77 # 30-110 kHz # 50-150 Hz # Different XF86Config's for internal TFT / external CRT use. High quality CRT monitor output. # # #---------------------------------------------------------------------- ### ### These are the /etc/X11/XF86Config files for ### (a) Laptop with builtin TFT. It has been created from SAX2 without ### any problem (SAX2 started up with 1024/768 mode, settings had ### only to be confirmed). ### (b) External CRT connected to my laptop. This configuration needes ### some things doing by hand. See below. ### Things to keep in mind when creating an XF86Config for external CRT: 1) What happens if a CRT-monitor is connected to a laptop? BIOS and hardware detect whether there is an external CRT. Depending on BIOS settings (CRT only, TFT only, both) one or both displays are used. This can be changed at runtime with Fn-F8 keys (Dell) which toggle through (Caution: Use only in text/graphic modes both support!). 2) Supported display modes on Dell I7k: CRT only: TFT is switched off, CRT is driven "as usual" (text and graphics modes as with a usual graphics card, high resolution and high refresh rates are possible). TFT only: CRT is switched off, text and graphic modes are adopted to the TFT hardware (i.e. smoothed characters in text mode). The only reasonable graphics mode is the one equivalent to the screen-resolution (i.e. 1024x768 on Dell Inspiron 7000). Refresh rate is not an issue on TFT. TFT+CRT: like TFT only, but the CRT gets a "copy" of the TFT signal so both show the same picture. This is rather poor on the CRT. 3) So we want distinct configurations for TFT only and CRT only. This allows a CRT configuration with a higher quality (higher resolution and/or higher refresh rates as possible with TFT). 4) The TFT-only X-Server configuration is not a problem. There is much information about XFree on laptops available. And SAX2 (from SuSE with XFree 4.0) configured my DELL Inspiron 7000 automatically. It even started up with 1024x768 mode, settings had only to be confirmed. 5) SAX2 can be used to create a CRT configuration as well. Best thing is to start with a working XF86Config (make a copy!) and to modify it with SAX2. (without -f option, so it does no hardware detection). 6) SAX2 gives you no option to make a "external crt" definition. This must be included in XF86Config by hand. In section "Device" of your XF86Config add following line: Option "crt_screen" This will force the usage of the external CRT and is definitely necessary. Otherwise you will (try to) drive your TFT with unhealthy timings. About driver options see http://www.xfree86.org/4.0/ati.html. SAX2 will not delete your line, maybe it will put it on a different line within "Section Device". 7) Within SAX2 choose your CRT type. This will fill the hsync and vsync fields. But CAUTION: The hsync and vsync values are minimum/maximum ranges. Clearly no CRT does its maximum refresh rate with its maximum resolution! So change the maxmimum vertical sync rate (i.e. "redrawings" per second) and limit it to a reasonable value. For example, if you know your monitor supports the maximum resolution you want up to 90Hz take 90 as maximum vertical sync rate. SAX2 will use this value to calculate the modelines. Since several monitor timings depends on each other the real vsync rate may be somewhat below your maximum value. 8) This text is not primarily intended to discuss SAX2. Play around a little bit to see what it does with your colour/resolution/sync values when it creates the XF86Config file (Section "Screen" and section "Modes"). AND: Don't try start the X-Server at the end of SAX2! Save your configuration and exit. This lets you examine the newly created XF86Config file and lets you make a copy ("last known good") for restart purposes. Type "Startx" when you think you are ready. SAX2 has an "advanced" (!?) option to calculate the modelines. Does it work without enabling it? 9) The XF86Config files below are just samples (I work with). Maybe there will be some fine tuning later (mouse control, third button emulation). 10) And at last: What to do with two config-files? Of course a graphical login (init level 5) is not possible since we must gain control over the X-Server configuration before it starts up. At the moment I log in on the text console and then start my GUI with "startx -- -cf86config TFT" or "startx -- -cf86config CRT". The configurations are held in /etc/X11/TFT and /etc/X11/CRT. There is a project SCHEMES to deal with changing laptop configurations (with dockings stations, varying network options, etc.). This may be useful for some "automatic" configuration. TROUBLESHOOTING: 1) There seems to be a problem with PCI hardware detection with Kernel 2.4.0. (error messages like "cannot open /prcoc/bus/pci/06/00.0"). Boot with Kernel 2.2.18 for hardware configuration. Later you can go back to 2.4.0. This is also true for other installations (for ex: soundcard with alsaconf-tool). 2) SAX2 (which is a GUI so it starts as a X-Server) and XFree86 have very informative log-files. Look at /var/log/SaX.log and /var/log/XFree86...log. 3) If your monitor supports VESA DDC this will be written to the X-Server logfile. Example: (II) ATI(0): VESA VBE DDC supported (II) ATI(0): VESA VBE DDC Level 2 (II) ATI(0): VESA VBE DDC transfer in appr. 2 sec. (II) ATI(0): VESA VBE DDC read successfully (II) ATI(0): Manufacturer: EIZ Model: 1006 Serial#: 926122007 (II) ATI(0): Year: 1997 Week: 1 ... Don't get confused about "supported VESA modes". Your monitor may support higher refresh rates. 4) If the X-Server fails it may result from an empty mode-"pool". The X-Server examines all modes (default and user) and drops those who are not supported by the graphics card and/or the monitor. If no one is left a message will be written to the logfile. Example (successful): (II) ATI(0): Monitor[0]: Using hsync range of 30.00-110.00 kHz (II) ATI(0): Monitor[0]: Using vrefresh range of 50.00-90.00 Hz (II) ATI(0): Maximum clock: 200.00 MHz (WW) ATI(0): Default mode "1600x1200" deleted (bad mode clock/interlace/doublescan) (WW) ATI(0): Default mode "1600x1200" deleted (bad mode clock/interlace/doublescan) (WW) ATI(0): Default mode "1792x1344" deleted (insufficient memory for mode) (WW) ATI(0): Default mode "1792x1344" deleted (insufficient memory for mode) ... (--) ATI(0): Virtual size is 1280x1024 (pitch 1280) (**) ATI(0): Mode "1280x1024": 153.3 MHz, 88.3 kHz, 82.6 Hz (**) ATI(0): Mode "1024x768": 91.8 MHz, 65.6 kHz, 81.8 Hz (--) ATI(0): Display dimensions: (39, 29) cm (--) ATI(0): DPI set to (83, 89) 5) It may be somewhat confusing when a connected CRT reports VESA DDC modes but the X-Server deletes these or similar modes. It is the graphics card which prevents them! So: Don't forget the option "crt_screen" (see above). It is necessary for the ATI card to supoort higher modes. ============================== CUT HERE ==================== ### (a) Laptop builtin TFT use. This has been created from SAX2 without ### any problem (SAX2 started up with 1024/768 mode, settings had ### only to be confirmed). #--------# # »» SaX generated XFree86 config file «« # Copyright (c) 2000 SuSE GmbH Nuernberg, All rights reserved. # # Version: 4.1 # Contact: Marcus Schaefer , 2000 # # this file has been created from SaX version 4.1 # Please do not edit this file, changes may be lost the # next time using SaX # Section "Files" FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/local" FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/Type1" FontPath "/usr/X11R6/lib/X11/fonts/URW" FontPath "/usr/X11R6/lib/X11/fonts/Speedo" FontPath "/usr/X11R6/lib/X11/fonts/misc" FontPath "/usr/X11R6/lib/X11/fonts/75dpi" FontPath "/usr/X11R6/lib/X11/fonts/100dpi" FontPath "/usr/X11R6/lib/X11/fonts/PEX" FontPath "/usr/X11R6/lib/X11/fonts/cyrillic" FontPath "/usr/X11R6/lib/X11/fonts/latin2/misc" FontPath "/usr/X11R6/lib/X11/fonts/latin2/75dpi" FontPath "/usr/X11R6/lib/X11/fonts/latin2/100dpi" FontPath "/usr/X11R6/lib/X11/fonts/latin2/Type1" FontPath "/usr/X11R6/lib/X11/fonts/latin7/75dpi" FontPath "/usr/X11R6/lib/X11/fonts/kwintv" FontPath "/usr/X11R6/lib/X11/fonts/truetype" FontPath "/usr/X11R6/lib/X11/fonts/uni" FontPath "/usr/X11R6/lib/X11/fonts/CID" FontPath "/usr/X11R6/lib/X11/fonts/baekmuk" FontPath "/usr/X11R6/lib/X11/fonts/japanese" FontPath "/usr/X11R6/lib/X11/fonts/ucs/misc" FontPath "/usr/X11R6/lib/X11/fonts/ucs/75dpi" FontPath "/usr/X11R6/lib/X11/fonts/ucs/100dpi" FontPath "/usr/X11R6/lib/X11/fonts/hellas/misc" FontPath "/usr/X11R6/lib/X11/fonts/hellas/75dpi" FontPath "/usr/X11R6/lib/X11/fonts/hellas/100dpi" FontPath "/usr/X11R6/lib/X11/fonts/hellas/Type1" FontPath "/usr/X11R6/lib/X11/fonts/xtest" ModulePath "/usr/X11R6/lib/modules" RgbPath "/usr/X11R6/lib/X11/rgb" EndSection Section "Module" Load "freetype" Load "speedo" Load "type1" Load "extmod" Load "dbe" EndSection Section "ServerFlags" Option "AllowMouseOpenFail" EndSection Section "InputDevice" Driver "Keyboard" Identifier "Keyboard[0]" Option "Protocol" "Standard" Option "XkbLayout" "de" Option "XkbModel" "pc104" Option "XkbRules" "xfree86" Option "XkbVariant" "nodeadkeys" EndSection Section "InputDevice" Driver "mouse" Identifier "Mouse[1]" Option "Device" "/dev/pointer0" Option "Emulate3Buttons" "on" Option "Emulate3Timeout" "50" Option "InputFashion" "Mouse" Option "Name" "Autodetection" Option "Protocol" "ps/2" Option "Vendor" "Sysp" EndSection Section "Monitor" HorizSync 15-62 Identifier "Monitor[0]" ModelName "DDC-Probed" VendorName "DDC-Probed" VertRefresh 30-70 UseModes "Modes[0]" EndSection Section "Modes" Identifier "Modes[0]" Modeline "1024x768" 71.39 1024 1040 1216 1400 768 768 777 802 EndSection Section "Device" BoardName "Mach64" Driver "ati" Identifier "Device[0]" VendorName "ATI" EndSection Section "Screen" DefaultDepth 16 SubSection "Display" Depth 15 Modes "1024x768" EndSubSection SubSection "Display" Depth 16 Modes "1024x768" EndSubSection SubSection "Display" Depth 24 Modes "1024x768" EndSubSection SubSection "Display" Depth 32 Modes "1024x768" EndSubSection SubSection "Display" Depth 8 Modes "1024x768" EndSubSection Device "Device[0]" Identifier "Screen[0]" Monitor "Monitor[0]" EndSection Section "ServerLayout" Identifier "Layout[all]" InputDevice "Keyboard[0]" "CoreKeyboard" InputDevice "Mouse[1]" "CorePointer" Screen "Screen[0]" EndSection Section "DRI" Group "video" Mode 0660 EndSection ============================== CUT HERE ==================== ### (b) External CRT connected to my laptop. This configuration needes ### some things doing by hand. See above. #--------# # »» SaX generated XFree86 config file «« # Copyright (c) 2000 SuSE GmbH Nuernberg, All rights reserved. # # Version: 4.1 # Contact: Marcus Schaefer , 2000 # # this file has been created from SaX version 4.1 # Please do not edit this file, changes may be lost the # next time using SaX # # ! NO, SEE ABOVE ! # Section "Files" FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/local" FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/Type1" FontPath "/usr/X11R6/lib/X11/fonts/URW" FontPath "/usr/X11R6/lib/X11/fonts/Speedo" FontPath "/usr/X11R6/lib/X11/fonts/misc" FontPath "/usr/X11R6/lib/X11/fonts/75dpi" FontPath "/usr/X11R6/lib/X11/fonts/100dpi" FontPath "/usr/X11R6/lib/X11/fonts/PEX" FontPath "/usr/X11R6/lib/X11/fonts/cyrillic" FontPath "/usr/X11R6/lib/X11/fonts/latin2/misc" FontPath "/usr/X11R6/lib/X11/fonts/latin2/75dpi" FontPath "/usr/X11R6/lib/X11/fonts/latin2/100dpi" FontPath "/usr/X11R6/lib/X11/fonts/latin2/Type1" FontPath "/usr/X11R6/lib/X11/fonts/latin7/75dpi" FontPath "/usr/X11R6/lib/X11/fonts/kwintv" FontPath "/usr/X11R6/lib/X11/fonts/truetype" FontPath "/usr/X11R6/lib/X11/fonts/uni" FontPath "/usr/X11R6/lib/X11/fonts/CID" FontPath "/usr/X11R6/lib/X11/fonts/baekmuk" FontPath "/usr/X11R6/lib/X11/fonts/japanese" FontPath "/usr/X11R6/lib/X11/fonts/ucs/misc" FontPath "/usr/X11R6/lib/X11/fonts/ucs/75dpi" FontPath "/usr/X11R6/lib/X11/fonts/ucs/100dpi" FontPath "/usr/X11R6/lib/X11/fonts/hellas/misc" FontPath "/usr/X11R6/lib/X11/fonts/hellas/75dpi" FontPath "/usr/X11R6/lib/X11/fonts/hellas/100dpi" FontPath "/usr/X11R6/lib/X11/fonts/hellas/Type1" FontPath "/usr/X11R6/lib/X11/fonts/xtest" ModulePath "/usr/X11R6/lib/modules" RgbPath "/usr/X11R6/lib/X11/rgb" EndSection Section "ServerFlags" EndSection Section "Module" Load "type1" Load "speedo" Load "extmod" Load "freetype" EndSection Section "InputDevice" Driver "Keyboard" Identifier "Keyboard[0]" Option "Protocol" "Standard" Option "XkbLayout" "de" Option "XkbModel" "pc104" Option "XkbRules" "xfree86" Option "XkbVariant" "nodeadkeys" EndSection Section "InputDevice" Driver "mouse" Identifier "Mouse[1]" Option "Device" "/dev/pointer0" Option "Emulate3Buttons" "on" Option "Emulate3Timeout" "50" Option "InputFashion" "Mouse" Option "Name" "Autodetection" Option "Protocol" "ps/2" Option "Vendor" "Sysp" EndSection Section "Monitor" HorizSync 30-110 Identifier "Monitor[0]" ModelName "F77" VendorName "EIZO" VertRefresh 50-90 UseModes "Modes[0]" EndSection Section "Modes" Identifier "Modes[0]" Modeline "1024x768" 61.19 1024 1040 1216 1400 768 768 775 802 Modeline "1024x768" 71.39 1024 1040 1216 1400 768 768 776 802 Modeline "1024x768" 81.59 1024 1040 1216 1400 768 768 777 802 Modeline "1024x768" 91.79 1024 1040 1216 1400 768 768 778 802 Modeline "1280x1024" 102.24 1280 1296 1552 1736 1024 1024 1033 1070 Modeline "1280x1024" 119.28 1280 1296 1552 1736 1024 1024 1035 1070 Modeline "1280x1024" 136.31 1280 1296 1552 1736 1024 1024 1036 1070 Modeline "1280x1024" 153.35 1280 1296 1552 1736 1024 1024 1039 1070 EndSection Section "Screen" DefaultDepth 16 SubSection "Display" Depth 15 Modes "1024x768" EndSubSection SubSection "Display" Depth 16 Modes "1280x1024" "1024x768" EndSubSection SubSection "Display" Depth 24 Modes "1280x1024" EndSubSection SubSection "Display" Depth 32 Modes "1024x768" EndSubSection SubSection "Display" Depth 8 Modes "1024x768" EndSubSection Device "Device[0]" Identifier "Screen[0]" Monitor "Monitor[0]" EndSection Section "Device" BoardName "Rage 3D LT Pro AGP" Driver "ati" Identifier "Device[0]" Option "crt_screen" Screen 0 VendorName "ATI" EndSection Section "ServerLayout" Identifier "Layout[all]" InputDevice "Keyboard[0]" "CoreKeyboard" InputDevice "Mouse[1]" "CorePointer" Option "Xinerama" "off" Screen "Screen[0]" EndSection Section "DRI" Group "video" Mode 0660 EndSection