499 lines
9.1 KiB
HTML
499 lines
9.1 KiB
HTML
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>Install Nvidia OpenGL drivers</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.63
|
|
"><LINK
|
|
REL="HOME"
|
|
TITLE="Nvidia OpenGL Configuration mini-HOWTO"
|
|
HREF="index.html"><LINK
|
|
REL="UP"
|
|
TITLE="Install Software"
|
|
HREF="install.html"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="Install Mesa"
|
|
HREF="instmesa.html"><LINK
|
|
REL="NEXT"
|
|
TITLE="Install Qt"
|
|
HREF="instqt.html"></HEAD
|
|
><BODY
|
|
CLASS="SECT1"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="NAVHEADER"
|
|
><TABLE
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TH
|
|
COLSPAN="3"
|
|
ALIGN="center"
|
|
>Nvidia OpenGL Configuration mini-HOWTO</TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="instmesa.html"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
>Chapter 3. Install Software</TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="instqt.html"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="INSTNVIDIA"
|
|
>3.4. Install Nvidia OpenGL drivers</A
|
|
></H1
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="INSTNVKERNEL"
|
|
>3.4.1. Install NVIDIA kernel driver package</A
|
|
></H2
|
|
><P
|
|
> First, unpack the kernel driver source.
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
> cd /usr/src
|
|
tar -xvzf NVIDIA_kernel-1.0-2314.tar.gz
|
|
tar -xvzf NVIDIA_GLX-1.0-2313.tar.gz
|
|
cd NVIDIA_kernel-1.0-2314
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
Now, before building and installing this kernel driver, it has some
|
|
AGP options that can affect performance. You shouldn't really attempt to use these
|
|
options during your first attempt at getting your card working and not unless
|
|
you are using a very recent 2.4 kernel and the lastest nvidia drivers.
|
|
</P
|
|
><P
|
|
> The Linux kernel source can be compiled with an AGP character
|
|
device that the Nvidia driver can use to get better performance. If your
|
|
kernel does not have the AGP driver for your motherboard chipset compiled in,
|
|
then the Nvidia kernel driver uses its own built-in AGP support if your
|
|
video card is an AGP card. If you want to experiment with the Linux
|
|
kernel AGP support, you should be able to rebuild and install your kernel
|
|
with the appropriate support:
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
> cd /usr/src/linux
|
|
make menuconfig
|
|
# Go to Character devices and put a * by /dev/agpgart support
|
|
# and also put a * by your motherboard chipset type.
|
|
# Go to the Processor type and features and put a * by
|
|
# MTTR support.
|
|
# Save the config.
|
|
make
|
|
make modules
|
|
make install
|
|
make modules_install
|
|
reboot
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
</P
|
|
><P
|
|
> Futher tweaking can be done to the file <TT
|
|
CLASS="FILENAME"
|
|
>os-registry.c</TT
|
|
>
|
|
in the NVIDIA kernel source. Looking though this file, you will see many
|
|
flag variables (they can be set to 0 or 1) to control options that affect
|
|
performance and stability! You should try your configuration with this
|
|
file unmodified first to see that your system works. If it does, you
|
|
can try these options. Among the options you can try here are:
|
|
</P
|
|
><P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
>Enabling AGP 4x on VIA chipsets (by default constrained to only 2x)</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>Enabling Side Band Addressing (your card needs to support this)</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>Enabling Fast Writes (IIRC, this must be enabled in your motherboard BIOS too)</P
|
|
></LI
|
|
></UL
|
|
><DIV
|
|
CLASS="TIP"
|
|
><P
|
|
></P
|
|
><TABLE
|
|
CLASS="TIP"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="25"
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><IMG
|
|
SRC="../images/tip.gif"
|
|
HSPACE="5"
|
|
ALT="Tip"></TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
><P
|
|
> If you experience problems starting X, see the files
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>TNT_USERS_README</TT
|
|
> and
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>M64_USERS_README</TT
|
|
>. These files
|
|
explain how to tweak the kernel driver. They were
|
|
written to fix problems with <SPAN
|
|
CLASS="PRODUCTNAME"
|
|
>TNT</SPAN
|
|
>
|
|
and <SPAN
|
|
CLASS="PRODUCTNAME"
|
|
>TNT2 M64</SPAN
|
|
> cards
|
|
but these tweaks are reported to help the
|
|
<SPAN
|
|
CLASS="PRODUCTNAME"
|
|
>GeForce2 MX</SPAN
|
|
>
|
|
also. Try bypassing the BIOS as explained in
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>M64_USERS_README</TT
|
|
>.
|
|
</P
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
><P
|
|
> After you have tweaked (or not tweaked) your Linux kernel and <TT
|
|
CLASS="FILENAME"
|
|
>os-registry.c</TT
|
|
>
|
|
file, you can build and install the kernel module.
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
> # The make command will build and install the driver:
|
|
make
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
After the driver is loaded, you can see the driver configuration with
|
|
<B
|
|
CLASS="COMMAND"
|
|
>cat /proc/nv/card0</B
|
|
>
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="INSTNVGLX"
|
|
>3.4.2. Install NVIDIA GLX package</A
|
|
></H2
|
|
><P
|
|
> Installing the Nvidia OpenGL library package is nothing too special.
|
|
First you need to clean up some old files.
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
> # delete the libGL.* files that come with XFree86 / Mesa ...
|
|
# the nvidia libGL.* should replace them
|
|
# The more recent Nvidia Makefile installer does this for you.
|
|
|
|
cd /usr/X11R6/lib
|
|
rm libGL.*
|
|
cd modules/extensions
|
|
rm libGL*
|
|
rm libglx*
|
|
cd /usr/lib
|
|
rm libGL.*
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
</P
|
|
><P
|
|
> With the conflicting old files gone, you can begin the installation.
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
> cd ..
|
|
cd NVIDIA_GLX-1.0-2313
|
|
make
|
|
ldconfig
|
|
|
|
# make might not install the C header files that come with
|
|
# the libraries in the NVIDIA_GLX package so, do this:
|
|
cd usr/include/GL
|
|
cp *.h /usr/include/GL
|
|
# usr/include/GL is a subdirectory in the NVIDIA_GLX package.
|
|
# /usr/include/GL should be a symlink to /usr/X11R6/include/GL
|
|
# so you could copy to there instead if you want.
|
|
|
|
# Make a basic XF86Config file using the "nv" driver:
|
|
cd /etc/X11
|
|
xf86config
|
|
# Follow the prompts and fill in the information xf86config asks for.
|
|
# Select the Nvidia GeForce or appropriate name.
|
|
# You can test X with this XF86Config file, or continue for OpenGL:
|
|
|
|
# You must edit XF86Config and set the following:
|
|
vi XF86Config
|
|
# Load "glx"
|
|
# Replace 'driver "nv"' with 'driver "nvidia"'
|
|
# Put "1600x1200" first (or your preferred screen resolution)
|
|
# Copy ttf fonts from Windows into a font directory and add a font path.
|
|
# Use ttmkfdir (check freshmeat.net) to a fonts.dir file.
|
|
# A good place to keep your own fonts is /usr/local/share/fonts ...
|
|
|
|
# Nvidia drivers do NOT use the dri module - don't load it.
|
|
|
|
# You may like to edit /etc/X11/xinit/xinitrc to have run "startkde"
|
|
# or "gnome-session" instead of twm.
|
|
|
|
# Note: /usr/include/GL should be a symlink to /usr/X11R6/include/GL
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
</P
|
|
><P
|
|
> Specifying "nvidia" for the driver in the <TT
|
|
CLASS="FILENAME"
|
|
>XF86Config</TT
|
|
>
|
|
makes that take effect each time you <B
|
|
CLASS="COMMAND"
|
|
>startx</B
|
|
>.
|
|
But the <TT
|
|
CLASS="FILENAME"
|
|
>NVdriver</TT
|
|
> kernel driver will have to be
|
|
loaded before you startx. It can be loaded with:
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
> # to load it
|
|
insmod NVdriver
|
|
# If you need to unload it:
|
|
rmmod NVdriver
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
You should not have to use <B
|
|
CLASS="COMMAND"
|
|
>insmod</B
|
|
> manually. The NVdriver installation
|
|
should have inserted a line into <TT
|
|
CLASS="FILENAME"
|
|
>/etc/modules.conf</TT
|
|
>
|
|
(or <TT
|
|
CLASS="FILENAME"
|
|
>conf.modules</TT
|
|
>) that looks something like:
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
> alias char-major-195 NVdriver
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
If this line is present, <TT
|
|
CLASS="FILENAME"
|
|
>NVdriver</TT
|
|
> is loaded automatically
|
|
when <B
|
|
CLASS="COMMAND"
|
|
>X</B
|
|
> is started.
|
|
You can check if its loaded using the command, <B
|
|
CLASS="COMMAND"
|
|
>lsmod</B
|
|
>.
|
|
</P
|
|
><P
|
|
> In my experience, your video system will become unstable if you compile,
|
|
load, and unload the NVdriver module. You should reboot your system
|
|
after rebuilding this module to help make sure your system doesn't
|
|
lock inside X. Its possible that your screen will go black and the keyboard
|
|
will become unresponsive after switching NVdriver. It is advisable to
|
|
always have another computer with telnet or ssh that you can use to
|
|
get into your Linux box to shut it down properly if this happens.
|
|
</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="instmesa.html"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="index.html"
|
|
>Home</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="instqt.html"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>Install Mesa</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="install.html"
|
|
>Up</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Install Qt</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |