I should note that if you use Nvidia AGP (Advanced Graphics Processor) cards, you need to compile a special driver to match your kernel. This means that you need to install kernel sources first if they are not already installed.
Hardware
The hardware requirements are fairly basic.
- Your Linux system with X Windows running
- 2 x NVidia GeForce4 card with 64MB RAM and TV Out from NVidia
- Optionally an RF Modulator (so you can act as a TV Studio!).
- A wider mouse pad would seem appropriate with all that extra screen width to traverse!
Software
- Linux - installed with X Windows configured for single screen.
- Linux kernel sources. These are needed to compile your card drivers.
- Graphics card driver for Linux from this site (also provides instructions)
- The XF86Config-4 sample file provided in the Code section below will help in setting all this up. Comments have been included to jfurther explain the settings.
Ideas
- Watch your DVDs on one screen while coding on the other.
- Use the "Video Out" capabilities of your card to show videos, presentations or alarm status on a TV channel in your home. Note that the configuration settings for this are included in the code section below (it works great but you have to dedicate that card to either normal monitor mode or TV Out mode).
- Why not put another card into your and have 3 screens for a wrap around effect?
- Add a dedicated TV output card for time shifting TV programs and on demand movies. Hard disk is cheap these days, with 80GB for less that $150 and this will hold about 10 DVDs.
- .
- .
- You tell me.
+ Code (click to reveal code).
Sample /etc/X11/CF86Config-4 file:
##########################################################################
# XF86Config file for NVIDIA XFree86 drivers.
#
# Customised by Geoff Collett 30/10/2003 after installing two GeForce4 64MB cards with TV Out
# One card is in the AGP port (special) and drives the Plazma display.
# The other card is in a PCI slot.
# Both cards are 64MB GeForce 4 MX440-8X from Nvidia. (MVGA-NVG18A 64MB W/TV)
# Get the driver from /rpm/NVIDAREADME.txt and from http://www.nvidia.com
# Note that the driver is linked for the current kernel and will need
# to be re-linked if a new kernel is installed using
# See dual head doco at http://www.linuxanswers.net/index.php?cmd=howto&key=dual-head-xinerama
# The on-board video device is automatically disabled when an AGP card
# is installed and hence will not function. (uses i810 driver for Intel 82815 CGC)
#
# To make changes to this file:
# - edit /etc/inittab and comment out last line (x:5:respawn:/etc/X11/prefdm -nodaemon)
# to stop X from starting on each reboot
# - or init 3 to go to a non-GUI run level
# - edit /etc/X11/XF86Config-4 (try settings and startx)
# - or copy it to another file like X.gmc then start X using "X -xf86config X.gmc"
# - Device is linked to Monitor by Screen.
# - ServerLayout joins all bits
#
# Refer to the XF86Config(4/5) man page for details about the format of
# this file.
# Note that the on board video device is disabled when an AGP card is inserted
#
# Switch resolutions using Ctrl-Alt-- or +
#
# Comment out the last line of /etc/inittab to disable X on restart.
# Use lspci to determine details of installed cards.
##########################################################################
Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
FontPath "unix/:7100"
EndSection
##########################################################################
# Server flags section.
##########################################################################
Section "ServerFlags"
# This allows the server to start up even if the
# mouse device can't be opened/initialised.
AllowMouseOpenFail
EndSection
##########################################################################
# Input devices
##########################################################################
#
# Keyboard section
#
Section "InputDevice"
Identifier "Keyboard1"
Driver "Keyboard"
# Repeat each 250 ms at 30 repeats per sec
Option "AutoRepeat" "250 30"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
EndSection
#
# Pointer section
#
Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/mouse"
Option "Emulate3Buttons" "off"
Option "ZAxisMapping" "4 5"
EndSection
##########################################################################
# Module section
##########################################################################
Section "Module"
Load "dbe"
Load "dri"
Load "glx"
Load "v4l"
Load "extmod"
Load "type1"
Load "freetype"
EndSection
##########################################################################
# Monitor section
##########################################################################
Section "Monitor"
Identifier "Samsung151BM"
VendorName "SAMSUNG"
ModelName "SyncMaster 151BM"
# be sure to replace these values with values appropriate for your
# monitor!
HorizSync 30-61
VertRefresh 55-75
# 3840x2400 @ 12Hz for IBM's T221 FlatPanel
Modeline "3840x2400" 148.0 3840 3944 4328 4816 2400 2401 2404 2418
EndSection
Section "Monitor"
Identifier "Studioworks76i"
VendorName "LG"
ModelName "Studioworks 76i"
# be sure to replace these values with values appropriate for your
# monitor!
HorizSync 30-61
VertRefresh 55-75
# 3840x2400 @ 12Hz for IBM's T221 FlatPanel
Modeline "3840x2400" 148.0 3840 3944 4328 4816 2400 2401 2404 2418
EndSection
##########################################################################
# Graphics device section(s)
##########################################################################
Section "Device"
# This is the GeForce4 card with TV Out
Identifier "NV AGP"
VendorName "nvidia"
Driver "nvidia"
# update this with the PCI id of your card. Consult the output
# of the 'lspci' command. The BusID is usually optional when
# only using one graphics card.
BusID "PCI:02:00:0"
# Attempt to use AGP support
#Option "NvAGP" "3"
Option "NoLogo" "TRUE"
#Option "RenderAccel" "TRUE"
EndSection
Section "Device"
# This is the GeForce4 card with TV Out
Identifier "NV AGP PCI"
VendorName "nvidia"
Driver "nvidia"
# update this with the PCI id of your card. Consult the output
# of the 'lspci' command. The BusID is usually optional when
# only using one graphics card.
BusID "PCI:01:13:0"
# Attempt to use AGP support
#Option "NvAGP" "3"
Option "NoLogo" "TRUE"
#Option "RenderAccel" "TRUE"
EndSection
##########################################################################
# Screen sections
##########################################################################
#
# screen section for an nvidia AGP card
#
Section "Screen"
Identifier "Screen AGP"
Device "NV AGP"
Monitor "Samsung151BM"
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
# TV Out related option settings
Option "TVStandard" "PAL-B"
#Option "ConnectedMonitor" "TV"
Option "TVOutFormat" "COMPOSITE"
EndSection
#
# screen section for the studioworks monitor on the
# PCI_AGP device
#
Section "Screen"
Identifier "Screen PCI_AGP"
Device "NV AGP PCI"
Monitor "Studioworks76i"
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
# TV Out related option settings
# To change, edit this file and then do the following:
# >ps -ef | grep X
# >kill 12345 (ie the process ID)
# Then log back in.
Option "TVStandard" "PAL-B"
#Option "ConnectedMonitor" "TV"
Option "TVOutFormat" "COMPOSITE"
EndSection
##########################################################################
# ServerLayout sections
# Used to associate screens
# (invoke using the '-layout' option of 'startx'.
##########################################################################
#
# PCI_AGP + agp
#
Section "ServerLayout"
Identifier "Both"
Screen "Screen AGP"
Screen "Screen PCI_AGP" LeftOf "Screen AGP"
InputDevice "Mouse1" "CorePointer"
InputDevice "Keyboard1" "CoreKeyboard"
Option "BlankTime" "5"
EndSection
# The following is required to have X understand dual displays
# Do not use this for dual port Nvidia GeForce cards
Section "ServerFlags"
Option "Xinerama" "true"
EndSection
Click here to check out the list of other projects.
You may also like to click here to check out the list of Artificial Intelligence projects.
If you would like to get any further information on this
or any of the other projects shown on this web site, please send an email to
Acacia Lateral Technologies.
or place a comment in our Guest Book
You might also like to submit your idea to our Free Ideas page
for the benefit of other like-minded soles.