Freevo

- User Documentation

# Hardware/Nvidia

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

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??)

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 and The United Kingdom
    "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 `TV` `Over` `Scan` Option in my `XF` `86` `Config` 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]=21

My `.xsession` file to load settings at xstart:

    #!/bin/bash
    # 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 `X` `F86` `Config-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 !

last edited 2005-06-14 10:47:53 by Peidor
current version: http://freevo.sourceforge.net/cgi-bin/doc/Hardware/Nvidia