############################################################ # # My XF86Config # # The goal here is to present a variety of options for your # XF86Config designed around the proprietary nvidia driver. # This config is broken down into "layouts". You don't # need all the layouts listed here. You only need one. I # provide multiple layouts because I find it easier to deal # with them. You can either make your default layout the first # one in the config, or choose one with the -layout argument: # # startx -- -layout OnlyTV # # or, to start another X on display :1, do: # # startx -- :1 -layout TwinViewTV # # where the argument is the layout identifier in the layout # section. # # I group the Device, Screen, and Layout together and name # them the same. This is to try to illustrate how simple # all this really is. # # !!!!!!!!!!!!!!!!!!!!!!!!!!! # # A note regarding Xinerama and Nvidia's "TwinView": # # The proprietary Nvidia driver sets up the Xinerama extension # automatically when you use TwinView. This means that Xinerama # aware applications, such as mplayer, will be aware of the # presence of Xinerama. There is NO NEED to add Xinerama manually, # ordinarily done like this: # # Section "ServerFlags" # Option "Xinerama" "true" # EndSection # # or: # # startx -- +xinerama # # IF YOU SEE ANY OF THESE TWO EXAMPLES IN ANY HOWTO OR SAMPLE # CONFIG, REMOVE THEM! THEY WILL CAUSE TWINVIEW TO NOT WORK # CORRECTLY!! # # !!!!!!!!!!!!!!!!!!!!!!!!!!! # # Lastly, this config, even though it works _as is_ _for me_, # probably will NOT work _as is_ for you. This is intended # as a guide to help you make YOUR XF86Config. Specifically, # people's monitors differ, as does support for their AGP # chipsets. This is where there'll be the most variance. # ############################################################ ############################################################ # # Common stuff shared by everything in the config # ############################################################ Section "Module" Load "dbe" Load "record" Load "extmod" Load "type1" Load "freetype" Load "glx" Load "v4l" EndSection Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "unix/:-1" ModulePath "/usr/X11R6/lib/modules" EndSection Section "InputDevice" Identifier "Keyboard1" Driver "Keyboard" Option "AutoRepeat" "250 30" Option "XkbRules" "xfree86" Option "XkbModel" "microsoft" Option "XkbLayout" "us" EndSection Section "InputDevice" Identifier "Mouse1" Driver "mouse" Option "Buttons" "7" Option "Protocol" "ExplorerPS/2" Option "Device" "/dev/input/mice" Option "Resolution" "300" Option "ZAxisMapping" "6 7" EndSection ############################################################ # # The main monitor section. I have this here because this is # shared by most of the layouts. I also include all the mode- # lines I use here too. Note that the modelines used by my # second monitor are here too. All they need to know is the # name of the modeline in order to use them, where the name # is "1280x1024_s", in this example. Read my modeline howto # for more information. (http://www.sh.nu/nvidia/modeline_howto.html) # ############################################################ Section "Monitor" Identifier "ViewSonic P810" HorizSync 30-110 # You can't just make these values up. You should get them from VertRefresh 50-180 # your monitor's manual (or search google for you monitor's specs) # 100 Hz Modeline "1280x1024_v" 190.96 1280 1376 1520 1760 1024 1025 1028 1085 -HSync +Vsync # 80 Hz Modeline "1280x1024_s" 149.57 1280 1376 1512 1744 1024 1025 1028 1072 -HSync +Vsync # 100 Hz Modeline "800x600_v" 68.18 800 848 936 1072 600 601 604 636 -HSync +Vsync # 100 Hz Modeline "1024x768_v" 113.31 1024 1096 1208 1392 768 769 772 814 -HSync +Vsync Option "DPMS" EndSection ############################################################ # # The layouts begin here. They are grouped by Device, Screen, # and Layout. Again, all you need is one of these groups. # ############################################################ ############################################################ # # Main layout - Twinview on both monitors at 1280x1024 # ############################################################ Section "Device" Identifier "TwinView" VendorName "nvidia" Driver "nvidia" BusID "PCI:1:0:0" Option "DPMS" Option "TwinView" Option "IgnoreEDID" "1" Option "RenderAccel" "1" Option "CursorShadow" "1" Option "NvAGP" "1" Option "DigitalVibrance" "2" Option "ConnectedMonitor" "crt,crt" Option "TwinViewOrientation" "RightOf" Option "SecondMonitorHorizSync" "38-86" Option "SecondMonitorVertRefresh" "48-150" Option "MetaModes" "1280x1024_v,1280x1024_s;1280x1024_v,NULL;1024x768_v,NULL;800x600_v,NULL" EndSection Section "Screen" Identifier "TwinView" Device "TwinView" Monitor "ViewSonic P810" DefaultDepth 24 Subsection "Display" Depth 24 EndSubsection EndSection Section "ServerLayout" Identifier "TwinView" Screen "TwinView" InputDevice "Mouse1" "CorePointer" InputDevice "Keyboard1" "CoreKeyboard" Option "blank time" "10" Option "off time" "20" EndSection ############################################################ # # Main TV Layout - Twinview with monitor at 1280x1024 and # TV at 800x600 # ############################################################ Section "Device" Identifier "TwinViewTV" VendorName "nvidia" Driver "nvidia" BusID "PCI:1:0:0" Option "DPMS" Option "TwinView" Option "IgnoreEDID" "1" Option "UseEdidFreqs" "0" Option "HWCursor" "0" Option "NvAGP" "2" Option "SecondMonitorHorizSync" "30-50" Option "SecondMonitorVertRefresh" "60" Option "TwinViewOrientation" "LeftOf" Option "MetaModes" "1280x1024_v,800x600" Option "TVOutFormat" "COMPOSITE" Option "TVStandard" "NTSC-M" Option "ConnectedMonitor" "crt,TV" EndSection Section "Screen" Identifier "TwinViewTV" Device "TwinViewTV" Monitor "ViewSonic P810" DefaultDepth 24 Subsection "Display" Depth 24 EndSubsection EndSection Section "ServerLayout" Identifier "TwinViewTV" Screen "TwinViewTV" InputDevice "Mouse1" "CorePointer" InputDevice "Keyboard1" "CoreKeyboard" Option "blank time" "10" Option "off time" "20" EndSection ############################################################ # # Only the TV, at 800x600. Note the extra Monitor section, # since we're not using twinview here. This layout will work # for non-twinview capable cards. # ############################################################ Section "Monitor" Identifier "TV" HorizSync 30-50 VertRefresh 60 Option "DPMS" EndSection Section "Device" Identifier "OnlyTV" VendorName "nvidia" Driver "nvidia" BusID "PCI:1:0:0" Option "DPMS" Option "IgnoreEDID" "1" Option "UseEdidFreqs" "0" Option "HWCursor" "0" Option "NvAGP" "2" Option "ConnectedMonitor" "tv" EndSection Section "Screen" Identifier "OnlyTV" Device "OnlyTV" Monitor "TV" DefaultDepth 24 Subsection "Display" Depth 24 Modes "800x600" EndSubsection EndSection Section "ServerLayout" Identifier "OnlyTV" Screen "OnlyTV" InputDevice "Mouse1" "CorePointer" InputDevice "Keyboard1" "CoreKeyboard" Option "blank time" "10" Option "off time" "20" EndSection ############################################################ # # Twinview with TV and Monitor cloned at 640x480 # ############################################################ Section "Device" Identifier "TwinViewTV2" VendorName "nvidia" Driver "nvidia" BusID "PCI:1:0:0" Option "TwinView" Option "DMPS" Option "IgnoreEDID" "1" Option "UseEdidFreqs" "0" Option "HWCursor" "0" Option "NvAGP" "2" Option "SecondMonitorHorizSync" "30-50" Option "SecondMonitorVertRefresh" "60" Option "TwinViewOrientation" "Clone" Option "MetaModes" "640x480,640x480" Option "TVOutFormat" "COMPOSITE" Option "TVStandard" "NTSC-M" Option "ConnectedMonitor" "crt,TV" EndSection Section "Screen" Identifier "TwinViewTV2" Device "TwinViewTV2" Monitor "ViewSonic P810" DefaultDepth 24 Subsection "Display" Depth 24 EndSubsection EndSection Section "ServerLayout" Identifier "TwinViewTV2" Screen "TwinViewTV2" InputDevice "Mouse1" "CorePointer" InputDevice "Keyboard1" "CoreKeyboard" EndSection ############################################################ # # Twinview with TV and Monitor cloned at 800x600 # ############################################################ Section "Device" Identifier "TwinViewTV3" VendorName "nvidia" Driver "nvidia" BusID "PCI:1:0:0" Option "TwinView" Option "DMPS" Option "IgnoreEDID" "1" Option "UseEdidFreqs" "0" Option "HWCursor" "0" Option "NvAGP" "2" Option "SecondMonitorHorizSync" "30-50" Option "SecondMonitorVertRefresh" "60" Option "TwinViewOrientation" "Clone" Option "MetaModes" "800x600,800x600" Option "TVOutFormat" "COMPOSITE" Option "TVStandard" "NTSC-M" Option "ConnectedMonitor" "crt,TV" EndSection Section "Screen" Identifier "TwinViewTV3" Device "TwinViewTV3" Monitor "ViewSonic P810" DefaultDepth 24 Subsection "Display" Depth 24 EndSubsection EndSection Section "ServerLayout" Identifier "TwinViewTV3" Screen "TwinViewTV3" InputDevice "Mouse1" "CorePointer" InputDevice "Keyboard1" "CoreKeyboard" EndSection ############################################################ # # Main monitor at 640x480 with no Twinview, for use with nvtv # ############################################################ Section "Device" Identifier "NVTV" VendorName "nvidia" Driver "nvidia" BusID "PCI:1:0:0" Option "DMPS" Option "IgnoreEDID" "1" Option "UseEdidFreqs" "0" Option "HWCursor" "0" Option "NvAGP" "2" EndSection Section "Screen" Identifier "NVTV" Device "NVTV" Monitor "ViewSonic P810" DefaultDepth 24 Subsection "Display" Depth 24 Modes "640x480" EndSubsection EndSection Section "ServerLayout" Identifier "NVTV" Screen "NVTV" InputDevice "Mouse1" "CorePointer" InputDevice "Keyboard1" "CoreKeyboard" EndSection ############################################################ # # Separate displays on the same card at 1280x1024, using # modelines and new monitor sections in this group, just # to keep things clear # ############################################################ Section "Monitor" Identifier "Dual1" HorizSync 30-110 VertRefresh 50-180 # 100 Hz Modeline "1280x1024_v" 190.96 1280 1376 1520 1760 1024 1025 1028 1085 -HSync +Vsync Option "DPMS" EndSection Section "Monitor" Identifier "Dual2" HorizSync 38-86 VertRefresh 48-150 # 80 Hz Modeline "1280x1024_s" 149.57 1280 1376 1512 1744 1024 1025 1028 1072 -HSync +Vsync Option "DPMS" EndSection Section "Device" Identifier "Dual1" Driver "nvidia" BusID "PCI:1:0:0" Option "NODDC" "1" Screen 0 EndSection Section "Device" Identifier "Dual2" Driver "nvidia" BusID "PCI:1:0:0" Option "NODDC" "1" Screen 1 EndSection Section "Screen" Identifier "Dual1" Device "Dual1" Monitor "Dual1" DefaultDepth 24 Subsection "Display" Depth 24 Modes "1280x1024_v" EndSubsection EndSection Section "Screen" Identifier "Dual2" Device "Dual2" Monitor "Dual2" DefaultDepth 24 Subsection "Display" Depth 24 Modes "1280x1024_s" EndSubsection EndSection Section "ServerLayout" Identifier "Dual" Screen 0 "Dual1" Screen 1 "Dual2" rightOf "Dual1" InputDevice "Mouse1" "CorePointer" InputDevice "Keyboard1" "CoreKeyboard" EndSection ############################################################ # # Fallback to the nv driver with main monitor at 1280x1024 # ############################################################ Section "Device" Identifier "NV" VendorName "NV" Driver "nv" BusID "PCI:1:0:0" Option "DPMS" EndSection Section "Screen" Identifier "NV" Device "NV" Monitor "ViewSonic P810" DefaultDepth 24 Subsection "Display" Depth 24 Modes "1280x1024" "1024x768" "800x600" "640x480" EndSubsection EndSection Section "ServerLayout" Identifier "NV" Screen "NV" InputDevice "Mouse1" "CorePointer" InputDevice "Keyboard1" "CoreKeyboard" Option "blank time" "10" Option "off time" "20" EndSection