Nvidia support

Bill Fink yellowdog-general@lists.terrasoftsolutions.com
Wed May 15 23:47:01 2002


HOWTO For Setting Up Accelerated X using NVIDIA Graphics Cards on YDL
---------------------------------------------------------------------

1.  Get a very recent Linux kernel.  I recommend the 2.4.19-pre8-ben0
    kernel.

2.  Either make sure that the kernel is built *WITHOUT* CONFIG_FB_RIVA
    support, or make sure that the "novideo" option is used in your
    /etc/yaboot.conf file (which causes video=ofonly to be passed as a
    boot argument to the kernel).  This causes the console video system
    to use the OpenFirmware video (OFFB).

3.  Make sure you have a recent XFree86 4.2 suite of RPMs, such as
    XFree86-4.2.0-0.6.24a (or more recent).

4.  Initially, set the "initdefault" level in /etc/inittab to:

    id:3:initdefault:

    so that the system does not start a graphical login.

5.  Login to the console as root, and run Xconfigurator, which will
    generate an /etc/X11/XF86Config-4 file.  Select the desired screen
    resolution and color depth when you run Xconfigurator.  Afterward,
    edit the /etc/X11/XF86Config-4 file, and change the "Driver" entry
    in the Section "Device" to "nv" (including the quote characters).
    This is what activates the X acceleration.  The accelerated "nv"
    X driver can not currently coexist with the accelerated "riva"
    console video driver, and that is why you must use the OpenFirmware
    console video (which is not accelerated).

6.  Test the accelerated "nv" X driver by running /etc/X11/X.  If all
    goes well, you should get a grey screen with an X mouse cursor which
    you should be able to move around the screen.  Switch back to virtual
    terminal 1 by entering <Control-Alt-F1> and kill X by typing
    <Control-C>.

7.  If you've gotten this far, you now need to make sure that the system
    doesn't mess with your /etc/X11/XF86Config-4 file.  First, disable
    Xautoconfig in all run levels by:

    chkconfig --level 0123456 Xautoconfig off

8.  Similarly, you need to comment out the following lines in the
    /etc/rc.d/rc.sysinit file:

    #if [ -x /usr/X11R6/bin/Xautoconfig4 ]; then
    #  OFFB=`cat /proc/fb |grep -i 'offb'`
    #  if [ ! -z "$OFFB" ]; then
    #    action "Configuring X11: " /usr/X11R6/bin/Xautoconfig4
    #  fi
    #fi

    Otherwise, since you will be using the OpenFirmware video (OFFB)
    during booting, Xautoconfig4 would be run by the rc.sysinit script,
    which would wipe out the /etc/X11/XF86Config-4 file you just created.

9.  *DO NOT* run Xconfigurator a second time without rebooting your
    system first.  This is because a failed initial attempt may cause
    problems with subsequent attempts, which might otherwise work fine.
    So if you want to try a different screen resolution or color depth,
    reboot the system first to get a clean system and X environment.
    There is also a known nasty bug with the accelerated "nv" X driver,
    that if you run the X server a second time, X will go into the weeds
    and cause the system to hang.

10. If you want to have a graphical login, and since I believe there are
    problems with the KDE Display Manager (kdm), I recommend running the
    Gnome Display Manager (gdm), even if you are using KDE (this is what
    I do).  To accomplish this, just put the following single line in
    your /etc/sysconfig/desktop file:

    DESKTOP=GNOME

11. If you did the above, but you want a KDE desktop environment by
    default, just do the following:

    cd /etc/X11/gdm/Sessions
    mv Default Default.orig
    cp KDE Default

12. You can now change the "initdefault" level in /etc/inittab to:

    id:5:initdefault:

    so that the system comes up to runlevel 5, which will provide a
    graphical X environment.

13. At this point, you should be able to reboot your system and get a
    graphical login.

14. Because of the nasty accelerated "nv" X driver bug mentioned earlier,
    *DO NOT* logout of your KDE, Gnome, or other X desktop environment.
    Doing so will cause a new X server to be started, which will cause
    X to go into the weeds and hang your system.  Instead, either simply
    lock your screen or reboot the system (with the reboot command of
    course, which can be executed by a normal user).

I can only vouch for this procedure on the 867 MHz G4 with the
nVidia Corporation NV11 (GeForce2 MX) (rev 161) card, but it should
hopefully work equally well on other systems with NVIDIA cards.  I
am using it quite successfully for basic accelerated X with a screen
resolution of 1152x864 and a color depth of 24 (millions of colors).

The only glitch I've noticed so far (other than the logout problem)
is when playing DVDs with xine the video is rather choppy but I haven't
had time to investigate that much yet.  I also haven't tried 3D
acceleration yet (DRI) with the NVIDIA cards, since I haven't gotten
around to investigating if the "nv" X driver even supports 3D acceleration.

						-Bill