old-www/HOWTO/Nvidia-OpenGL-Configuration/instnvidia.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"
>&#13; 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"
>&#13; # 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"
>&#13; 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"
>&#13; 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
>