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