Frequently Asked Questions about the usage of fbset This document tries to answer questions a user might have when installing and using fbset. Please make sure you read this before sending questions or bug reports to the maintainers. If you have any questions you think should be answered in this document, please let me know. Hartmut Koptein ^L ============================================================================== 1.1. How to set my matrox graphicboard for the framebuffer and with lilo? 1.2. How to do this with other graphic cards? 1.3. Is a /etc/X11/XF86Config file for framebuffer available? 2.1. What is the difference between the old XF86Config and the one for fb? ^L ============================================================================== 1.1. How to set my matrox graphicboard for the framebuffer and with lilo? {HK} Put this line into the /etc/lilo.conf: (some examples) append="video=matrox:xres:1152,yres:864,pixclock:10869,left:56,right:106,upper:20,lower:1,hslen:160,vslen:10,depth:8" append="video=matrox:vesa:279,fv:85" append="video=matrox:xres:1280,yres:1024,pixclock:7124,left:184,right:12,upper:30,lower:3,hslen:160,vslen:3,sync:3,depth:8" 1.2. How to do this with other graphic cards? {HK} Look at /usr/share/doc/fbset/examples/fb.modes.ATI for say 1024x768 This gives: mode "1024x768-75" # D: 78.75 MHz, H: 60.023 kHz, V: 75.03 Hz geometry 1024 768 1024 768 8 timings 12699 176 16 28 1 96 3 hsync high vsync high endmode To compare this for the lilo append line we have append="video=XXXXXX:xres:1024,yres:768,pixclock:12699,left:176,right:16,upper:28,lower:1,hslen:96,vslen:3,sync:3,depth:8" The frame buffer device uses the following fields: - screen resolution is xres:1024 yres:768 - pixclock: pixel clock in ps (pico seconds) 12699 - left_margin: time from sync to picture 176 - right_margin: time from picture to sync 16 - upper_margin: time from sync to picture 28 - lower_margin: time from picture to sync 1 - hsync_len: length of horizontal sync 96 - vsync_len: length of vertical sync 3 1.3. Is a /etc/X11/XF86Config file for framebuffer available? {HK} Use this as an example: # $XFree86: xc/programs/Xserver/hw/xfree86/XF86Conf.cpp,v 3.21 1996/01/31 11:46:37 dawes Exp $ # # Copyright (c) 1994 by The XFree86 Project, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF # OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. # # Except as contained in this notice, the name of the XFree86 Project shall # not be used in advertising or otherwise to promote the sale, use or other # dealings in this Software without prior written authorization from the # XFree86 Project. # # $XConsortium: XF86Conf.cpp /main/16 1996/01/31 10:03:57 kaleb $ # ********************************************************************** # Refer to the XF86Config(4/5) man page for details about the format of # this file. This man page is installed as /usr/X11R6/man/man5/XF86Config.5x # ********************************************************************** # ********************************************************************** # Files section. This allows default font and rgb paths to be set # ********************************************************************** Section "Files" # The location of the RGB database. Note, this is the name of the # file minus the extension (like ".txt" or ".db"). There is normally # no need to change the default. RgbPath "/usr/X11R6/lib/X11/rgb" # Multiple FontPath entries are allowed (which are concatenated together), # as well as specifying multiple comma-separated entries in one FontPath # command (or a combination of both methods) FontPath "/usr/X11R6/lib/X11/fonts/misc/" # FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled" # FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled" FontPath "/usr/lib/ghostscript/fonts/" FontPath "/usr/X11R6/lib/X11/fonts/Type1/" FontPath "/usr/X11R6/lib/X11/fonts/Speedo/" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" FontPath "/usr/X11R6/lib/X11/fonts/100dpi/" FontPath "/usr/X11R6/lib/X11/fonts/sharefont/" EndSection # ********************************************************************** # Server flags section. # ********************************************************************** Section "ServerFlags" # Uncomment this to cause a core dump at the spot where a signal is # received. This may leave the console in an unusable state, but may # provide a better stack trace in the core dump to aid in debugging # NoTrapSignals # Uncomment this to disable the server abort sequence # This allows clients to receive this key event. # DontZap # Uncomment this to disable the / mode switching # sequences. This allows clients to receive these key events. # DontZoom # Uncomment this to disable tuning with the xvidtune client. With # it the client can still run and fetch card and monitor attributes, # but it will not be allowed to change them. If it tries it will # receive a protocol error. # DisableVidModeExtension # Uncomment this to enable the use of a non-local xvidtune client. # AllowNonLocalXvidtune EndSection # ********************************************************************** # Input devices # ********************************************************************** # ********************************************************************** # Keyboard section # ********************************************************************** Section "Keyboard" Protocol "Standard" # when using XQUEUE, comment out the above line, and uncomment the # following line # Protocol "Xqueue" AutoRepeat 500 5 # Let the server do the NumLock processing. This should only be required # when using pre-R6 clients # ServerNumLock # Specifiy which keyboard LEDs can be user-controlled (eg, with xset(1)) # Xleds 1 2 3 # To set the LeftAlt to Meta, RightAlt key to ModeShift, # RightCtl key to Compose, and ScrollLock key to ModeLock: # LeftAlt Meta # RightAlt ModeShift # RightCtl Compose # ScrollLock ModeLock # To disable the XKEYBOARD extension, uncomment XkbDisable. XkbDisable # To use the default map in ProjectRoot keymap/xfree86, uncomment # XkbKeymap. To use one of the alternate maps in keymap/xfree86 # uncomment and modify the XkbKeymap line, e.g.: # XkbKeymap "keymap/xfree86(us_microsoft)" # To tailor a combination not already in keymap/xfree86 modify # keymap/xfree86 or uncomment and modify the other lines as # desired. One way to get a german layout on a 101 key keyboard # is to modify the XkbSymbols line, e.g.: # XkbSymbols "symbols/us(pc101)+de" XkbKeymap "keymap/xfree86" Xkbkeycodes "keycodes/xfree86" XkbTypes "types/default" XkbCompat "compat/default" XkbSymbols "symbols/de(pc102)" XkbGeometry "geometry/pc" EndSection # ********************************************************************** # Pointer section # ********************************************************************** Section "Pointer" Protocol "PS/2" Device "/dev/mouse" # When using XQUEUE, comment out the above two lines, and uncomment # the following line. # Protocol "Xqueue" # Baudrate and SampleRate are only for some Logitech mice # BaudRate 9600 # SampleRate 150 # Emulate3Buttons is an option for 2-button Microsoft mice # Emulate3Timeout is the timeout in milliseconds (default is 50ms) # Emulate3Buttons # Emulate3Timeout 50 # ChordMiddle is an option for some 3-button Logitech mice # ChordMiddle EndSection # ********************************************************************** # Xinput section -- this is optional and is required only if you # are using extended input devices. This is for example only. Refer # to the XF86Config man page for a description of the options. # ********************************************************************** # # Section "Xinput" # SubSection "WacomStylus" # Port "/dev/ttyS1" # DeviceName "Wacom" # EndSubSection # SubSection "WacomCursor" # EndSubSection # SubSection "WacomEraser" # EndSubSection # # SubSection "Elographics" # Port "/dev/ttyS1" # DeviceName "Elo" # MinimumXPosition 300 # MaximumXPosition 3500 # MinimumYPosition 300 # MaximumYPosition 3500 # Screen 0 # UntouchDelay 10 # ReportDelay 10 # EndSubSection # # SubSection "Joystick" # Port "/dev/joy0" # DeviceName "Joystick" # TimeOut 10 # MinimumXPosition 100 # MaximumXPosition 1300 # MinimumYPosition 100 # MaximumYPosition 1100 # # CenterX 700 # # CenterY 600 # Delta 20 # EndSubSection # EndSection # ********************************************************************** # Monitor section # ********************************************************************** # Any number of monitor sections may be present Section "Monitor" Identifier "Panasonic PanaSync/Pro5" VendorName "Panasonic" ModelName "PanaSync/Pro5" # HorizSync is in kHz unless units are specified. # HorizSync may be a comma separated list of discrete values, or a # comma separated list of ranges of values. # NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S # USER MANUAL FOR THE CORRECT NUMBERS. # HorizSync 31.5 # typical for a single frequency fixed-sync monitor # HorizSync 15-40 # multisync # HorizSync 30-64 # multisync # HorizSync 31.5, 35.2 # multiple fixed sync frequencies # HorizSync 15-25, 30-50 # multiple ranges of sync frequencies HorizSync 31-84 # VertRefresh is in Hz unless units are specified. # VertRefresh may be a comma separated list of discrete values, or a # comma separated list of ranges of values. # NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S # USER MANUAL FOR THE CORRECT NUMBERS. # VertRefresh 60 # typical for a single frequency fixed-sync monitor # VertRefresh 50-100 # multisync # VertRefresh 60, 65 # multiple fixed sync frequencies # VertRefresh 40-50, 80-100 # multiple ranges of sync frequencies VertRefresh 50-90 # Modes can be specified in two formats. A compact one-line format, or # a multi-line format. ModeLine "640x480" 30.438 640 704 768 832 480 512 514 546 -HSync -VSync ModeLine "800x600" 49.553 800 864 928 992 600 632 634 666 -HSync -VSync ModeLine "832x624" 52.995 832 896 960 1024 624 656 658 690 -HSync -VSync #ModeLine "1024x768" 76.064 1024 1088 1152 1216 768 800 802 834 -HSync -VSync ModeLine "1024x768" 99.801 1024 1024 1120 1312 768 789 804 845 -HSync -VSync ModeLine "1152x870" 94.358 1152 1216 1280 1344 870 902 904 936 -HSync -VSync ModeLine "1152x900" 130.000 1152 1320 1360 1620 900 901 905 943 +HSync +VSync ModeLine "1280x960" 125.645 1280 1312 1456 1680 960 961 964 1000 -HSync -VSync ModeLine "1280x1024" 144.551 1280 1352 1496 1632 1024 1025 1028 1059 +HSync +VSync ModeLine "1280x1024" 155.000 1280 1384 1528 1688 1024 1025 1028 1066 +HSync +VSync EndSection # ********************************************************************** # Server for the Linux Frame Buffer Device # ********************************************************************** Section "Device" Identifier "Linux Frame Buffer Device" # option "no_accel" EndSection Section "Screen" Driver "fbdev" Device "Linux Frame Buffer Device" Monitor "Panasonic PanaSync/Pro5" DefaultColorDepth 16 SubSection "Display" Modes "1280x960" "1152x900" "1024x768" "800x600" "640x480" Depth 8 Virtual 1280 960 EndSubSection SubSection "Display" Depth 15 Modes "1280x960" "1152x900" "1024x768" "800x600" "640x480" Virtual 1280 960 EndSubSection SubSection "Display" Depth 16 Modes "1280x960" "1152x900" "1024x768" "800x600" "640x480" Virtual 1280 960 EndSubSection SubSection "Display" Depth 24 Modes "1280x960" "1152x900" "1024x768" "800x600" "640x480" Virtual 1280 960 EndSubSection SubSection "Display" Depth 32 Modes "1152x900" "1024x768" "800x600" "640x480" Virtual 1152 900 EndSubSection EndSection 2.1. What is the difference between the old XF86Config and the one for fb? {HK} There aren't many differences, all fonts, kbd, mice and monitor settings are the same. But you have choices. For fbdev you don't need a modeline, you can use the same resolution as on the consoles, setable with fbset (Modes "default"). # ********************************************************************** # Server for the Linux Frame Buffer Device # ********************************************************************** Section "Device" Identifier "Linux Frame Buffer Device" # option "no_accel" EndSection # ********************************************************************** # Screen/Display section # ********************************************************************** Section "Screen" Driver "fbdev" Device "Linux Frame Buffer Device" Monitor "Panasonic PanaSync/Pro5" DefaultColorDepth 16 SubSection "Display" Modes "default" EndSubsection EndSection With modelines, it is the same as without fbdev. But then you should check your modeline with fbset --xfree86. This shows you the 'xf86' modeline from the fbdev settings. Here some examples (don't use it without checking your setup first): ModeLine "640x480" 30.438 640 704 768 832 480 512 514 546 -HSync -VSync ModeLine "800x600" 49.553 800 864 928 992 600 632 634 666 -HSync -VSync ModeLine "832x624" 52.995 832 896 960 1024 624 656 658 690 -HSync -VSync #ModeLine "1024x768" 76.064 1024 1088 1152 1216 768 800 802 834 -HSync -VSync ModeLine "1024x768" 99.801 1024 1024 1120 1312 768 789 804 845 -HSync -VSync ModeLine "1152x870" 94.358 1152 1216 1280 1344 870 902 904 936 -HSync -VSync ModeLine "1152x900" 130.000 1152 1320 1360 1620 900 901 905 943 +HSync +VSync ModeLine "1280x960" 125.645 1280 1312 1456 1680 960 961 964 1000 -HSync -VSync ModeLine "1280x1024" 144.551 1280 1352 1496 1632 1024 1025 1028 1059 +HSync +VSync ModeLine "1280x1024" 155.000 1280 1384 1528 1688 1024 1025 1028 1066 +HSync +VSync 2.2 I have an valid XF86Config file, but no /etc/fb.modes file. Any hints? {HK} Sure. :-) With an available and correct /etc/X11/XF86Config file (an old setup) you can use the /usr/sbin/modeline2fb to convert the modelines into /etc/fb.modes to to use it with fbset. Or you put the fb.modes.ATI (/usr/share/doc/fbset/examples) into /etc/ as fb.modes (perms root.root 644). The timings are very compatible with other graphicboards then ATI. ^L ============================================================================== Answers were given by: {HK} Hartmut Koptein,