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