First of all, the OpenGL drivers for the Nvidia cards currently require a system with Linux kernel 2.2.12 or later. If you don't have it, then you will have to upgrade your system's Linux kernel and that is the topic of other HOWTOs! But nevertheless, the first step would be do download a new kernel at:
XFree86 4.0 or later, preferably 4.0.2 as of this writing, is also required. Its installation will be covered later.
Software packages.
XFree86 4.0.2.
XFree86 comes in three files:
X402src-1.tgz
X402src-2.tgz
X402src-3.tgz
doctools-1.2.tgz
Doctools is something it uses to prepare the X documentation.
Includes glX, the OpenGL X interface functions. Each window system (MS Windows, X etc) has to provide the platform-specific interfaces between OpenGL and the window system to provide for mapping a GL rendering context to a window system window.
XFree86 comes with only the glX man pages. If you want a full set of OpenGL man pages, you have to get them yourself.
mangl.tar.Z
manglu.tar.Z
manglx.tar.Z (don't need this one)
ftp://ftp.sgi.com/sgi/opengl/doc/
These man pages are in a format ready to be unpacked into the XFree86 source distributions, see below.
MesaLib-3.4.tar.gz
MesaDemos-3.4.tar.gz
http://mesa3d.sourceforge.net/
Mesa provides the foundation for the 3d support included in XFree86, which comes only with the libGL OpenGL core library component. To enable hardware accelerated performance, many 3d hardware manufacturers provide a drop-in replacement for Mesa's standard software-only libGL rendering library. For this document, we are only interested in NVIDIA's libGL drop-in replacement library.
MesaLib provides a software OpenGL implementation consisting of libGL. It also provides libGLU (GL Utility). libGLU is a library built on top of libGL to provide some higher-level functions for applications. OpenGL itself, libGL, is considered a low-level library. GLU is a standard part of most OpenGL installations and many programs make use of it.
MesaDemos provides many OpenGL demo programs and, more importantly, the GL Utility Toolkit (libglut) library. GLUT provides a window system independent interface between OpenGL and any supported window system. For instance, on the X Window System, it hides the details of using glX functions to setup a window. Programmers can write code once and can compile it to work on MS Windows or X, etc provided that a GLUT library is available on the target platform. Like libGLU, libglut is a standard part of most OpenGL installations and is required by many programs even though it is not packaged with XFree86.
While GLUT is bundled with MesaDemos, it is also available as a separate package from its original project website:
glut-3.7.tar.gz glut_data-3.7.tar.gz
http://reality.sgi.com/mjk/glut3/
You may use *either* the GLUT included with MesaDemos (preferred and easier) or the GLUT from its project website. Don't install both! Its recommended at this time to go with the GLUT packaged with MesaDemos, but instructions on how to install the other GLUT are still provided in the next section as an option. Note that MesaDemos does not include the glut manpages, so you may want to download the project GLUT package just to install its manpages.
qt-x11-2.2.3.tar.gz or later version
Qt is a cross-platform GUI library that makes it easy to create X applications with standard GUI elements (widgets) like menubars, scollbars, dropdown lists, checkboxes, buttons, multiple document interface, and many other GUI things. Using Qt, a program can be compiled for both MS Windows and X without changing any code. Its a very popular GUI library and is used to create the core libraries of KDE (http://www.kde.org/).
Qt has functions (previously as an extension in $QTDIR/extensions/opengl) for OpenGL that provides for creating OpenGL rendering contexts in Qt windows. This provides some alternative to both GLUT and using the glX functions directly, plus the added benefit of full access to the excellent qt widgets and cross-platform portability.
This is useful if you want to compile or develop programs based on Qt (e.g., KDE2 and its apps).
NVIDIA_kernel-0.9-6.tar.gz
NVIDIA_GLX-0.9-6.tar.gz
Note that XFree86 4.0.1, and later, is required with 0.9-6. If you have XFree86 4.0.0, then you'll have to download the older 0.9-4 version.
Tip: See the updated faq at Nvidia.com while you are downloading. It may have some important information not in this HOWTO.
These make a kernel driver: /lib/modules/2.2.16/video/NVdriver and libGL.so and libGLcore.so files that go into /usr/lib/ to replace and Mesa ones that might be in there. libGL.so is OpenGL. These files are Nvidia's own hardware accelerated OpenGL implementation.
The following files are available at http://www.blackdown.org/:
j2sdk-1.2.2-FCS-linux-i386-glibc-2.1.3.tar.bz2
java3d1_2-FCS-linux-i386-sdk.tar.bz2
JavaPlugIn-1.2.2-FCS-linux-i386-glibc-2.1.3.run
Note that to install these Java files, your system needs to have glibc 2.1.3 or better. To check your version of glibc:
ls -l /lib/libc* |
Java2 1.3.0 FCS can also be used and it includes the JavaPlugin. If you use it, you don't have to get JavaPlugin-1.2.2-FCS. Installation of this Plugin is different and you'll have to see it's docs. Installation of Java2 1.3.0 itself, and Java3D, is the same as with Java2 1.2.2.
The Java 3D media extension contains many 3D demo programs/applets and takes advantage of the OpenGL hardware acceleration on the system. The Java 3D API uses the OpenGL API or, on Windows, the DirectX/3D API internally. The demos run as normal java applications and also as applets inside netscape (4.7x) via the Java PlugIn!