Download the latest nvidia driver from http://www.nvidia.com make sure your system doesn't have X running and execute the installer. The installer will ask you some simple questions and then install the driver, if this installation fails then the nvidia linux forums normally have a solution to the problem. http://www.nvnews.net/vbulletin/forumdisplay.php?f=14
Drivers pre 8000 series
Edit your /etc/X11/( XF86Config | xorg.conf ) and in the Device section set the following;
Section "Device" Identifier "Videocard0" Driver "nvidia" VendorName "nVidia" Option "TVStandard" "PAL-I" Option "ConnectedMonitor" "TV" Option "NoLogo" "True" Option "RenderAccel" "True" BoardName "NVIDIA GeForce FX 5200" EndSection
That should now start in TV-Out mode aslong as your resolution is set to 800x600 (or other TV Out capable display modes)
Drivers post 8000 series
There is no need to specify TV out options with the 8000 series drivers, if the TV is connected it will be auto-detected. Also you can specify modes upto 1024x768 with 8000 series drivers, (tested with 8756)
Also for Side Band Addressing and Fast Writes add the following to your /etc/( modules.conf | modprobe.conf )
options nvidia NVreg_EnableAGPSBA=1 NVreg_EnableAGPFW=1
Lifted from the nVidia linux readme...
The "TVStandard" option should be added to your screen section; valid values are:
"PAL-B" : used in Belgium, Denmark, Finland, Germany, Guinea, Hong Kong, India, Indonesia, Italy, Malaysia, The Netherlands, Norway, Portugal, Singapore, Spain, Sweden, and Switzerland "PAL-D" : used in China and North Korea "PAL-G" : used in Denmark, Finland, Germany, Italy, Malaysia, The Netherlands, Norway, Portugal, Spain, Sweden, and Switzerland "PAL-H" : used in Belgium "PAL-I" : used in Hong Kong, United Kingdom and South Africa "PAL-K1" : used in Guinea "PAL-M" : used in Brazil "PAL-N" : used in France, Paraguay, and Uruguay "PAL-NC" : used in Argentina "NTSC-J" : used in Japan "NTSC-M" : used in Canada, Chile, Colombia, Costa Rica, Ecuador, Haiti, Honduras, Mexico, Panama, Puerto Rico, South Korea, Taiwan, United States of America, and Venezuela
Overscan
When setting up my FX 5200 card I noticed that the TVOverScan Option in my XF86Config was ignored. However when playing with the nvidia-settings tool I had control over OverScan, but somehow it did not save OverScan settings in the .nvidia-settings-rc.
By adding the following line to my .nvidia-settings-rc I fixed the Overscan problem:
0/TVOverScan[TV-0]=11
This option allows values of 0-20
My .xsession file to load settings at xstart:
# load nvidia settings if [ -x /usr/bin/nvidia-settings -a -r $HOME/.nvidia-settings-rc ]; then /usr/bin/nvidia-settings --load-config-only &> /dev/null & fi /usr/bin/X11/xmodmap ~/.Xmodmap exec freevo
The part in XF86Config-4:
Section "Device" Identifier "Generic Video Card" Driver "nvidia" Option "nologo" "true" Option "NvAGP" "2" Option "TwinView" "True" Option "TwinViewOrientation" "Clone" Option "ConnectedMonitor" "CRT, TV" Option "MetaModes" "800x600,800x600;640x480,640x480" Option "TVStandard" "PAL-B" Option "TVOutFormat" "COMPOSITE" Option "SecondMonitorHorizSync" "30-50" Option "SecondMonitorVertRefresh" "60" EndSection
My setup: 2.6.8 kernel with nvidia-kernel module
Hardware accelerated playback
nVidia GeForce 4 (and the CLE266 chipset on Via Epia boards) support hardware accelerated playback of MPEG 1/2 streams, e.g. DVDs (not divX and stuff like that). From nVidia's readme file for the 1.0-6629 drivers:
(app-p) APPENDIX P: XVMC SUPPORT __________________________________________________________________________ This release includes support for the X-Video Motion Compensation (XvMC) version 1.0 API on GeForce4 and GeForce FX products only. There is a static library "libXvMCNVIDIA.a" and a dynamic one "libXvMCNVIDIA_dynamic.so" which is suitable for dlopening. GeForce4 MX and GeForce FX products support both XvMC's "IDCT" and "motion-compensation" levels of acceleration. GeForce4 Ti products only support the motion-compensation level. AI44 and IA44 subpictures are supported. 4:2:0 Surfaces up to 2032x2032 are supported. libXvMCNVIDIA observes the XVMC_DEBUG environment variable and will provide some debug output to stderr when set to an appropriate integer value. '0' disables debug output. '1' enables debug output for failure conditions. '2' or higher enables output of warning messages.
Both mplayer and xine support xvmc. This makes it almost possible to play DVDs 100% smooth on a Intel Celeron 566Mhz (xine uses around 70% cpu)
VESA framebuffer and TV-out
When you connect a nVidia card to a TV and try to enable a VESA frambuffer (to use bootsplash for example), you should have many problems. Don't try to enable the rivafb driver, it isn't compatible with the closed source nVidia driver (a warning message inform you when you install it). And more over, it seems that connecting a TV disable some possibilities of the VESA framebuffer. From my experience, I couldn't enable the VESA VGA framefuffer using the standards driver in current kernel (2.6.8). Here is a solution to activate it and to have a beautiful freevo splash screen ;). To obtain this, you have to patch your kernel.
First, you have to install a new version of vesa driver: vesafb-tng which is a new and more functional version of the vesafb linux driver. All you have to know about this driver is at: http://dev.gentoo.org/~spock/projects/vesafb-tng/
Download the appropriate patch and apply it to your kernel sources.
cd /usr/src/linux cat <path_to_patch_file>/<patch_file> | patch -p1
Then you should download the bootsplash patch if it's not included in your kernel sources. You can download it at http://www.bootsplash.de/files/. Install the appropriate patch as the previous one. At the same time install bootspash utilities (bootsplash package in many distro).
Then you should configure your kernel (make menuconfig). Here is the modifications you need to apply:
Code maturity level options ---> [*] Prompt for development and/or incomplete code/drivers Processor type and features ---> [*] MTRR (Memory Type Range Register) support Device Drivers ---> Block devices ---> <*> Loopback device support <*> RAM disk support (8192) Default RAM disk size [*] Initial RAM disk (initrd) support Graphics support ---> [*] Support for frame buffer devices [*] VESA VGA graphics support VESA driver type (vesafb-tng) ---> (640x480@60) VESA default mode Console display driver support ---> [*] Video mode selection support <*> Framebuffer Console support Bootsplash configuration ---> [*] Bootup splash screen
Build (make) and install (make install) your kernel.
Download a theme or use the freevo splash themes attached to this page (published in freevo-devel mailing list). Patch your initrd file to add the splash images.
splash -s -f /etc/bootsplash/themes/freevo/config/bootsplash-800x600.cfg >> /boot/initrd.splash
Configure your boot loader. Here is the modifications you should apply for lilo to your /etc/lilo.conf
image=/boot/vmlinuz-2.6.8 label=Splash-2.6.8 read-only initrd=/boot/initrd.splash append="video=vesafb:ypan,800x600-32@60 splash=silent"
Run lilo, reboot and enjoy with your freevo graphical startup !