%% %% getstart.tex -- Flight Gear documentation: Installation and Getting Started %% Chapter file %% %% Written by Michael Basler % Bernhard Buckel, starting September 1998. %% %% Copyright (C) 1999 Michael Basler (pmb@knUUt.de) %% & Bernhard Buckel (buckel@wmad95.mathematik.uni-wuerzburg.de) %% %% This program is free software; you can redistribute it and/or %% modify it under the terms of the GNU General Public License as %% published by the Free Software Foundation; either version 2 of the %% License, or (at your option) any later version. %% %% This program is distributed in the hope that it will be useful, but %% WITHOUT ANY WARRANTY; without even the implied warranty of %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU %% General Public License for more details. %% %% You should have received a copy of the GNU General Public License %% along with this program; if not, write to the Free Software %% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. %% %% $Id: getstart.tex,v 0.12 1999/03/07 michael %% (Log is kept at end of this file) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Getting the engine: Installing \Index{OpenGL} \Index{graphics drivers}\label{opengl}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \markboth{\thechapter.\hspace*{1mm} GETTING THE ENGINE}{\thesection\hspace*{1mm} 3DFX UNDER LINUX} \FlightGear's graphics engine is based on a \Index{graphics library} called \Index{OpenGL}. Its primary advantage is it's platform independence, i.\,e., programs written with \Index{OpenGL} support can be compiled and executed on several platforms, given the proper drivers having been installed in advance. Thus, independent of if you want to run the binaries only or if you want to compile the program yourself you must install some sort of \Index{OpenGL} support for your \Index{video card}. Naturally, you can skip this chapter in case you already did (maybe for Quake or some other game). Unfortunately, there are so many graphics boards, graphics chips and drivers that we are unable to provide a complete description for all systems at present, but we hope to be able to extend that section with the help of others soon. To give beginners a hand, we just describe what we did to install drivers on our systems. By any means, should you try getting hardware \Index{OpenGL} drivers for your system, which is exemplary described in sections \ref{3dfxlinux} to \ref{3DFXwin98}, resp. If you are unable to locate any such drivers you can try software support\index{OpenGL!software support} as detailed under \ref{softrend}. \section{\Index{3DFX} under \Index{Linux}\label{3dfxlinux}} %%Bernhard, 21.02.1999 An excellent place to search for documentation about Linux and 3D accelerators is the {\it Linux 3Dfx HOWTO} at \web{http://www.gamers.org/dEngine/xf3D/howto/3Dfx-HOWTO.html}. It describes all the following steps in an in-depth fashion and should be your first aid in case something goes wrong with your 3D setup. %% The \Index{3DFX} graphics card is a quite popular one (We tested the \Index{Voodoo}1 to work). At first, you need the \Index{GLIDE} library installed. Grab it at: \href{http://www.3dfx.com/software/download_glidel.html}{http://www.3dfx.com/software/download\_glidel.html} \noindent and install it. %%Bernhard 21.02.1999%% Be careful, you need different Glide libraries for the different types of VooDoos (I, II, Banshee). %% There is even an install script included that will do things for you. The canonical place for \Index{GLIDE} is \texttt{/usr/local/glide}, if you prefer another location, you'll have to edit the Makefile for \FlightGear by hand. Be sure to read and understand the file \texttt{/usr/local/glide/README}. Next, you need to install the \Index{MESA} library version 3.0 (or later). Grab it at \web{ftp://iris.ssec.wisc.edu/pub/Mesa}, \noindent unpack it and run \texttt{make linux-glide} \noindent in the Mesa directory. Follow the instructions in the \texttt{README} file, take a close look at \texttt{README.3DFX} and play with the demo programs. Besides these, you need the \Index{GLUT} library version 3.7 (or greater, aka GameGLUT) installed. Grab it at: \web{http://reality.sgi.com/opengl/glut3/glut3.html}. \noindent Note: Glut-3.7 is included with Mesa 3.0 so if you've already grabbed the latest version of mesa, you should have everything you need. Finally, some more notes on the behavior of \Index{Voodoo} boards: Your card comes packaged with a \Index{loop-through-cable}. If you have only one monitor, then the Voodoo will take it over when used. This means that all the applications on your desktop will continue running but you'll only see the \FlightGear screen. If your window manager uses a focus-follows-mouse policy, don't move the mouse. If you lose the focus, there's no way to shut down \FlightGear graciously! Better solution: Use two monitors, one for your desktop, connect the other one to your accelerator. You'll then get a window on your desktop which manages all keyboard events and you're still able to see your desktop. Running \FlightGear under Linux using a 3DFX accelerator board is somewhat tricky. Most of the boards behavior is controlled by environment variables.\index{environment variable} The two most important are: \begin{itemize} \item{\texttt{MESA\_GLX\_FX}}: When set to \texttt{f} rendering will be in fullscreen mode, %%Bernhard 21.2.99 \texttt{w} will perform rendering in a window at a significant speed penalty. %% \item {\texttt{FX\_GLIDE\_NO\_SPLASH}}: When set to \texttt{1} the rotating 3DFX logo won't appear. For a description of all environment variables\index{environment variable} for VooDooI/II have a look at \href{http://www.bahnhof.se/~engstrom/e_3dfxvars.htm}{http://www.bahnhof.se/\~{}engstrom/e\_3dfxvars.htm}. \end{itemize} This completes preparing your \Index{3DFX} equipped Linux PC for running \FlightGear\hspace{-2mm}. %%B.B 21.2.99 Now proceed and install the support files as described later in this document. %% \section{Rendition Chipset\index{Rendition chipset} under \Index{Windows 98/NT}\label{renditionwin}} This section serves as an example for installing \Index{OpenGL} drivers under \Index{Windows 98/NT}. The \Index{Rendition 2100 chipset} is, for instance, part of the \Index{Diamond Stealth II} card performing especially well in somewhat weaker machines. Diamond itself does not provide any \Index{OpenGL} driver support for that board. However, Rendition, who make the graphics chip, do. Go to their Web site and grab the latest \Index{OpenGL} \Index{Windows drivers} from \web{http://www.rendition.com/download.html} \noindent Follow the description in \texttt{readme.txt}. We recommend making the drivers the default ones by copying them to \texttt{$\backslash$windows$\backslash$system} (which avoids the hassle of not being sure which driver actually runs). With this step you're already done. According to our experience, so-called \Index{mini-OpenGL} drivers provided by some manufacturers for making Quake playable do not provide the level of OpenGL support required by {\FlightGear}. At least, Rendition's \Index{mini-OpenGL} driver definitely does not. \section{RIVA TNT Chipset\index{RIVA TNT chipset} under \Index{Windows 98/NT}\label{rivatnt}} Because of its high performance, the RIVA TNT is one of the most popular chipsets today. The \Index{Diamond Viper 550}, ELSA Erazor-2, \Index{Creative Graphics Blaster}, and more cards are equipped with this chip. At least the default Viper 550 drivers are known to us having native built-in OpenGL support making any add-on OpenGL drivers obsolete. Similar things should apply to the other RIVA TNT based cards. In any case, NVIDIA's reference drivers being available from \web{http://www.nvidia.com/} \noindent do the job as well. \section{3DFX chip based boards\index{3DFX chip} under \Index{Windows 98/NT}\label{3DFXwin98}} The \Index{3DXF} based 3D add-on or 2D/3D boards are perhaps the most popular ones today at all. \Index{3DFX} made Beta OpenGL Windows 98 drivers available on their Website at \web{http://www.3dfx.com}. \noindent From the main page go to \texttt{Develop 3DFX} and further to \texttt{SDKs and Demos} and grab them there. First, make sure you have the file \texttt{glu32.dll} either under \texttt{$\backslash$Windows$\backslash$System} or elsewhere in your path. If not, install the MS OpenGL kit \texttt{opengl95} available from Microsoft or elsewhere on the net. (Which by itself only provides software rendering.) Next, locate the file \texttt{3dfxopengl.dll}. in the 3DFX driver package, rename it to \texttt{opengl32.dll} and copy it into \texttt{$\backslash$Windows$\backslash$System} overwriting the file with the same name installed from the MS kit. This should get you going. \section{\Index{OpenGL} software rendering\index{OpenGL!software rendering} under Windows 98/NT\label{softrend}} If you have an accelerated 3D card, it is highly recommended you install hardware \Index{OpenGL} drivers for your specific card. However, in case you are really unable to find such drivers and want to try \FlightGear despite this you can install SGI software \Index{OpenGL} rendering. For this purpose, get the file \texttt{sgi-opengl2.exe} from \web{http://www.flightgear.org/Downloads/}. \noindent This is a \Index{Windows 98/NT} self extracting installation program. Install it by double-clicking in Windows explorer. The package includes some demo games you may wish to try by invoking them from the Start menu. %% Revision 0.00 1998/09/08 michael %% Initial revision for version 0.53. %% incl. Linux stuff from b buckel %% Revision 0.01 1998/09/20 michael %% several extensions and corrections %% revision 0.10 1998/10/01 michael %% added 3dfx stuff from b. buckel %% final proofreading for release %% revision 0.11 1998/11/01 michael %% Remark on mini-OpenGL drivers %% revision 0.12 1999/03/07 bernhard %% Complete rewrite of 3DFX/Linux part %% revision 0.12 1999/03/07 michael %% Added Riva TNT Win95 %% Added 3DFX Win95