Video-Ausgabe auf dem Computer-Monitor und/oder Fernseher

Im Dezember 2002, also noch weit vor meiner „VDR-Geburtsstunde“, nutzte ich meinen damaligen SuSE-Rechner, um am TV meine DVDs anzukucken.

Wie schon erwähnt, wollte ich meine DVDs nicht nur am PC-Monitor betrachten, sondern auch auf meinem Philips Fernseher, flimmerfrei mit 100Hz und in 16:9 sowie in Dolby Surround-Qualität und das dann auch noch bequem von meinem Fernsehsessel aus. Dazu hatte ich meinem Rechner eine Matrox GEFORCE 2 MX mit 64 MB verpasst. Somit war es mir möglich, den S-VHS Port der Graphikkarte zum „Lümmeln“ auf der Wohnzimmercouch oder den „VGA-Port“ für meinen 17„ Monitor zum Arbeiten zu verwenden.

Damit dies nun auch einfach möglich war, hatte ich mir die hierzu notwendigen Pakete direkt bei nVIDIA besorgt und installiert. Der eigentlich Clou bestand nun darin über eine modifizierte X86Config-Datei auszuwählen, wo die Ausgabe nun erfolgen sollte. So konnte ich z.B. durch den Aufruf von

startx -- -layout CRT

angeben, daß die Ausgabe auf dem Monitor erfolgen oder mit

startx -- -layout TV

der S-VHS Ausgang der Karte benutzt werden sollte.

Die von mir verwendete X86Config sah im Detail so aus:

##########################################################################
#									 #
#     Konfigurations-Script des LINUX-Servers im heimischen Netzwerk	 #
#                   am Netzwerkserver bei nausch.org			 #
#       Uebernahme und Modifikation des Beispielscriptes aus dem 	 #
#                         NVIDIA_GLX-1.0 Paket				 #
#                    18.12.2002 michael@nausch.org                       #
#									 #
##########################################################################

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/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/misc/sgi"
  FontPath  	"/usr/X11R6/lib/X11/fonts/xtest"
  ModulePath  	"/usr/X11R6/lib/modules"
  RgbPath  	"/usr/X11R6/lib/X11/rgb"
EndSection

##########################################################################
#                Definition der sog. Server flags			 #
##########################################################################

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 <Crtl><Alt><BS> server abort sequence
    # This allows clients to receive this key event.
    #DontZap

    # Uncomment this to disable the <Crtl><Alt><KP_+>/<KP_-> mode switching
    # sequences.  This allows clients to receive these key events.
    #DontZoom

    # This  allows  the  server  to start up even if the
    # mouse device can't be opened/initialised.
    AllowMouseOpenFail

EndSection


##########################################################################
#           Definition der Eingabegeraete (Maus und Tastatur)		 #
##########################################################################

#
# Tastatur-Definitionen
#
Section "InputDevice"
    Identifier	"Keyboard1"
    Driver	"Keyboard"
    Option	"AutoRepeat" "250 30"
    Option	"Protocol"   "Standard"
    Option	"XkbRules"   "xfree86"
    Option	"XkbModel"   "pc104"
    Option 	"XkbLayout"  "de"
    Option 	"XkbVariant" "nodeadkeys"
EndSection


#
# Zeiger-Definition (Maus)
#
Section "InputDevice"
    Identifier  "Mouse1"
    Driver      "mouse"
    Option      "Device"	"/dev/psaux"
    Option	"InputFashion"	"Mouse"
    Option	"Name"		"Autodetection"
    Option	"Protocol"	"ps/2"
    Option	"Vendor"	"Sysp"
EndSection


##########################################################################
#                         Modul-Definitionen				 #
##########################################################################

Section "Module"
    Load        "dbe"
    Load	"glx"
    Load	"speedo"
    Load        "extmod"
    Load	"type1"
    Load	"freetype"
EndSection


##########################################################################
#                          Monitor-Definition				 #
##########################################################################

Section "Monitor"
    Identifier	"MyMonitor"
    VendorName	"PHILIPS"
    ModelName	"BUSINESS 107MB"
    HorizSync	27-86
    VertRefresh	50-160
EndSection


##########################################################################
#                      Graphik-Karten-Definitionen			 #
##########################################################################

#
# Graphik-Karten-Definition fuer die nvidia AGP-Karte (CRT-Modus)
#
Section "Device"
    Identifier "NV-CRT"
    VendorName "nvidia"
    Driver	"nvidia"
    BusID       "PCI:01:00:0"
EndSection


#
# Graphik-Karten-Definition fuer die nvidia AGP-Karte (TV-Modus)
#
Section "Device"
    Identifier	"NV-TV"
    VendorName	"nvidia"
    Driver	"nvidia"
    BusID       "PCI:01:00:0"
#    Option 	"IgnoreEDID"
#    Option	"TwinView"
    Option	"SecondMonitorHorizSync"	"30-50"
    Option	"SecondMonitorVertRefresh"	"60"
    Option	"TVStandard"			"PAL-B"
    Option 	"ConnectedMonitor"		"TV"
#    Option	"MetaModes"	"800x600, 800x600"
EndSection


#
# Graphikkarten-Definition fuer die nvidia AGP-Karte (TwinView-Modus)
#
Section "Device"
    Identifier "NV-TwinView"
    VendorName "nvidia"
    Driver	"nvidia"
    BusID       "PCI:01:00:0"
    Option 	"IgnoreEDID"
    Option	"TwinView"
    Option	"SecondMonitorHorizSync"	"30-50"
    Option	"SecondMonitorVertRefresh"	"60"
    Option	"TVStandard"			"PAL-B"
    Option 	"ConnectedMonitor"		"CRT,TV"
    Option	"TwinViewOrientation"	"LeftOff"
    Option	"MetaModes"	"800x600, 800x600"
EndSection

##########################################################################
#                     Bildschirm-Definitionen				 #
##########################################################################

#
# Bildschirm-Definitionen fuer die nvidia AGP-Karte (CRT-Modus)
#
Section "Screen"
    Identifier "Screen CRT"
    Device "NV-CRT"
    Monitor "MyMonitor"
    DefaultColorDepth 24
    Subsection "Display"
        Depth       8
        Modes       "1280x1024" "1024x768" "800x600" "640x400"
    EndSubsection
    Subsection "Display"
        Depth       16
        Modes       "1280x1024" "1024x768" "800x600" "640x480"
    EndSubsection
    Subsection "Display"
        Depth       24
        Modes       "1280x1024" "1024x768" "800x600" "640x480"
    EndSubsection
EndSection

#
# Bildschirm-Definitionen fuer die nvidia AGP-Karte (TV-Modus)
#
Section "Screen"
    Identifier "Screen TV"
    Device "NV-TV"
    Monitor "MyMonitor"
    DefaultColorDepth 24
    Subsection "Display"
        Depth       8
        Modes       "800x600" "640x400"
    EndSubsection
    Subsection "Display"
        Depth       16
        Modes       "800x600" "640x480"
    EndSubsection
    Subsection "Display"
        Depth       24
        Modes       "800x600" "640x480"
    EndSubsection
EndSection

#
# Bildschirm-Definitionen fuer die nvidia AGP-Karte (TwinView-Modus)
#
Section "Screen"
    Identifier "Screen CRT+TV"
    Device "NV-Twinview"
    Monitor "MyMonitor"
    DefaultColorDepth 24
    Subsection "Display"
        Depth       8
        Modes       "1280x1024" "1024x768" "800x600" "640x400"
    EndSubsection
    Subsection "Display"
        Depth       16
        Modes       "1280x1024" "1024x768" "800x600" "640x480"
    EndSubsection
    Subsection "Display"
        Depth       24
        Modes       "1280x1024" "1024x768" "800x600" "640x480"
    EndSubsection
EndSection

##########################################################################
# ServerLayout Definitionen						 #
# (z.B. startx -- -layout CRT       zum Starten des "nur" CRT"   - Modus #
#  bzw. startx -- -layout TV        zum Starten des "nur" TV     - Modus #
#  bzw. startx -- -layout CRT+TV    zum Starten im "halbe-halbe" - Modus #
#                       also. linke Haelfte am CRT, rechte Haelfte am TV #
##########################################################################

#
# Ausgabe nur auf dem CRT
#
Section "ServerLayout"
    Identifier  "CRT"
    Screen      "Screen CRT"
    InputDevice "Mouse1" "CorePointer"
    InputDevice "Keyboard1" "CoreKeyboard"
    Option 	"Xinerama" 	"off"
EndSection

#
# Ausgabe nur auf dem TV
#
Section "ServerLayout"
    Identifier  "TV"
    Screen      "Screen TV"
    InputDevice "Mouse1" "CorePointer"
    InputDevice "Keyboard1" "CoreKeyboard"
    Option 	"Xinerama" 	"off"
EndSection

#
# Ausgabe via TwinView auf CRT und TV "halbe-halbe"
#
Section "ServerLayout"
    Identifier  "CRT+TV"
    Screen      "Screen CRT+TV"
    InputDevice "Mouse1" "CorePointer"
    InputDevice "Keyboard1" "CoreKeyboard"
    Option 	"Xinerama" 	"off"
EndSection