diff options
author | Adam Jackson <[email protected]> | 2011-06-29 10:48:43 -0400 |
---|---|---|
committer | Adam Jackson <[email protected]> | 2011-09-06 16:23:50 -0400 |
commit | f6f2f59818f2d70190f21de2f16ab6f617fa982a (patch) | |
tree | 80d1b416a274982ab62ecd5faac6e30d71d8c73a /docs/README.3DFX | |
parent | f4dd0991719ef3e2606920c5100b372181c60899 (diff) |
Drop documentation references for deleted backends
Signed-off-by: Adam Jackson <[email protected]>
Diffstat (limited to 'docs/README.3DFX')
-rw-r--r-- | docs/README.3DFX | 830 |
1 files changed, 0 insertions, 830 deletions
diff --git a/docs/README.3DFX b/docs/README.3DFX deleted file mode 100644 index 7feda6f33f7..00000000000 --- a/docs/README.3DFX +++ /dev/null @@ -1,830 +0,0 @@ - - 3Dfx Glide device driver - - - -Requirements: -------------- - -A Voodoo-based videocard/accelerator -DOS (with DJGPP), Windows9x/2k (with MinGW), Linux -Glide3x library for your OS - -http://sourceforge.net/projects/glide/ - - - -How to compile: ---------------- - -DJGPP: - Place the Glide3 SDK in the top Mesa directory: - $(MESA)/glide3/include/ - 3dfx.h, g3ext.h, glide.h, glidesys.h, glideutl.h, sst1vid.h - $(MESA)/glide3/lib/ - libgld3x.a, libgld3i.a, glide3x.dxe - Type: - make -f Makefile.DJ X86=1 FX=1 - Look into the makefile for further information. - -MinGW: - Place the Glide3 SDK in the top Mesa directory: - $(MESA)/glide3/include/ - 3dfx.h, g3ext.h, glide.h, glidesys.h, glideutl.h, sst1vid.h - $(MESA)/glide3/lib/ - libglide3x.a, glide3x.dll - Type: - make -f Makefile.mgw X86=1 FX=1 - Look into the makefile for further information. - -Linux: - Place the Glide3 SDK in /usr/local/glide - /usr/local/glide/include/ - 3dfx.h, g3ext.h, glide.h, glidesys.h, glideutl.h, sst1vid.h - /usr/local/glide/lib/ - libglide3x.a, libglide3x.so - Type: - make linux-glide - or - make linux-x86-glide - - - -Compilation defines: --------------------- - -FX_DEBUG - enable driver debug code -FX_TRAP_GLIDE - enable Glide trace code -FX_PACKEDCOLOR - use packed color in vertex structure -FX_TC_NAPALM - map GL_COMPRESSED_RGB[A] to FXT1. Works with VSA100-based cards only. -FX_COMPRESS_S3TC_AS_FXT1_HACK - map S3TC to FXT1 -FX_RESCALE_BIG_TEXURES_HACK - fake textures larger than HW can support - (see MESA_FX_MAXLOD environment variable) - - - -Environment variables: ----------------------- - -The following environment variables affect MesaFX. Those that affect Glide -only, are beyond the scope of this section. Entries that don't have a "Value" -field, can have any value whatsoever - ex: set MESA_FX_IGNORE_CMBEXT=y - -"Note" (*) means that the environment variable affects Glide, too; also, if -the var is not found in the environment, it is searched in windoze registry. -"Note" (!) means that the environment variable is not working as expected; -may have undefined effects, might have effects only at Glide level or might -not have any effect whatsoever. Caveat emptor! Those are to be revised soon. - -It is recommended to leave the envvars alone, so that Mesa/Glide will run with -default values. Use them only when you experience crashes or strange behavior. - -FX_GLIDE_NUM_TMU - OS: all - HW: dual-TMU cards (Voodoo2, Avenger, Napalm) - Desc: force single-TMU - Note: (*) - Value: "1" -FX_GLIDE_SWAPPENDINGCOUNT - OS: all - HW: all - Desc: max # of buffers allowed to build up - Note: (*) (!) - Value: "0", "1", "2", "3", "4", "5" or "6" -FX_GLIDE_SWAPINTERVAL - OS: all - HW: all - Desc: number of vertical retraces to wait before swapping - Note: (*) (!) works only at Glide-level? -SSTH3_SLI_AA_CONFIGURATION - OS: all - HW: VSA100-based cards - Desc: SLI/AA setup - Note: (*) (!) works only at Glide-level? - Value: - 1, 2, 4 chip cards - "0" - SLI & AA disable - "1" - SLI disabled, 2 sample AA enabled - 2, 4 chip cards - "2" - 2-way SLI enabled, AA disabled - "3" - 2-way SLI enabled, 2 sample AA enabled - "4" - SLI disabled, 4 sample AA enabled - 4 chip cards - "5" - 4-way SLI enabled, AA disabled - "6" - 4-way SLI enabled, 2 sample AA enabled - "7" - 2-way SLI enabled, 4 sample AA enabled - "8" - SLI disabled, 8 sample AA enabled -SST_DUALHEAD - OS: win32 - HW: ? - Desc: ? - Note: (!) disabled? -MESA_FX_NO_SIGNALS - OS: linux - HW: all - Desc: avoid installing signals - Note: (!) untested! -MESA_FX_INFO - OS: all - HW: all - Desc: verbose to stderr - Value: any; special value "r" to redirect stderr to MESA.LOG -MESA_FX_NOSNAP - OS: all - HW: Voodoo1, Rush, Banshee - Desc: do not snap vertices inside Mesa - Note: to be used with Glide3x that snaps vertices internally -MESA_FX_POINTCAST - OS: all - HW: dual-TMU cards (some Voodoo1, Voodoo2, Avenger, Napalm) - Desc: try to use pointcast palette - Note: may give adverse effects on UMA cards (Avenger, Napalm) -MESA_FX_IGNORE_PALEXT - OS: all - HW: all - Desc: disable 6666 palette -MESA_FX_IGNORE_PIXEXT - OS: all - HW: Napalm - Desc: force 565 16bpp mode (traditional Voodoo, no 32/15bpp) -MESA_FX_IGNORE_TEXFMT - OS: all - HW: Napalm - Desc: disable 32bit textures -MESA_FX_IGNORE_CMBEXT - OS: all - HW: Napalm - Desc: disable Napalm combiners (color/alpha/texture) - Note: this option allows dual-TMU cards perform single-pass - trilinear, but some advanced (multi)texturing modes - won't work (GL_EXT_texture_env_combine) -MESA_FX_IGNORE_MIREXT - OS: all - HW: all - Desc: disable mirror extension -MESA_FX_IGNORE_TEXUMA - OS: all - HW: all - Desc: disable UMA -MESA_FX_IGNORE_TEXUS2 - OS: all - HW: all - Desc: disable Texus2 -MESA_FX_MAXLOD - OS: all - HW: non VSA-100 cards - Desc: enable large texture support using SW rescaling - Value: - "9" - 512x512 textures - "10" - 1024x1024 textures - "11" - 2048x2048 textures -MESA_FX_ALLOW_VP - OS: all - HW: all - Desc: allow vertex program extensions -MESA_GLX_FX - OS: linux - HW: Voodoo1, Rush, Voodoo2 - Desc: display mode - Note: (!) experimental - Value: - "w" - windowed mode - "f" - fullscreen mode - "d" - disable glide driver - OS: win32 - HW: Rush, Banshee, Avenger, Napalm - Desc: display mode - Note: (!) experimental - Value: - "w" - windowed mode - - - -Contact: --------- - -Daniel Borca <dborca 'at' users 'dot' sourceforge 'dot' net> -Hiroshi Morii <koolsmoky 'at' users 'dot' sourceforge 'dot' net> - - - -WARNING! The info below this line is outdated (yet some of it useful). WARNING! -******************************************************************************* - - - -Info for Mesa 4.1 ------------------ - -The 3dfx Glide driver in Mesa is disabled by default. Not too many people -use this driver anymore and at some point down the road it will be dropped. - -To use/enable the Glide driver either do this: - -'./configure --with-glide=DIR' Where DIR is the location of Glide, like - /usr/ or /usr/local - -OR - -'make linux-x86-glide' If using the old-style Makefile system. - -The rest of this file hasn't changed since Mesa 3.3. Some of it's out of -date, but some is still valid. - - - -What do you need ? ------------------- - - - A PC with a 3Dfx Voodoo1/2 Graphics or Voodoo Rush based board - (Pure3D, Monster 3D, R3D, Obsidian, Stingray 128/3D, etc.). - The Quantum3D Obsidian3D-2 X-24 requires some special env. setting - under Linux (more information in the "Useful Glide Environment - Variables"); - - - The 3Dfx Glide library 2.3 or later for your OS (the 2.4 works fine). - The Voodoo2 requires the Glide library 2.51. The Glide 3.1 is not - compatible with the Glide 2.x so it doesn't work with the current - version of the driver; - - - A compiler supported by the Glide library (Micro$oft VC++ (tested), - Watcom (tested), GCC for Linux (tested), etc.); - - - It's nice to have two monitors - one for your normal graphics - card and one for your 3Dfx card. If something goes wrong with - an application using the 3Dfx hardware you can still see your - normal screen in order to recover. - - - -Tested on: ----------- - Windows 95 - David Bucciarelli - Windows NT - Henri Fousse - MS-DOS - Linux - Daryll Strauss, Brian Paul, David Bucciarelli - FreeBSD - BeOS - Duncan Wilcox - MacOS - Fazekas Miklos - - -What is able to do ? --------------------- - - - It is able accelerate points, lines and polygon with flat - shading, gouraud shading, Z-buffer, texture mapping, blending, fog and - antialiasing (when possible). There is also the support for rendering - in a window with a slow trick for the Voodoo Graphics (available only - for Linux) and at full speed with the Voodoo Rush chipset. - Under Linux is also possible to switch on-the-fly between the fullscreen - and in-window rendering hack. - There is also the support for using more than one Voodoo Graphics in the - some application/PC (you can create one context for each board and use - multiple video outputs for driving monitors, videoprojectors or HMDs). - The driver is able to fallback to pure software rendering when afeature - isn't supported by the Voodoo hardware (however software rendering is - very slow compared to hardware supported rendering) - - - -How to compile: ---------------- - -Linux: ------- - Here are the basic steps for using the 3Dfx hardware with Mesa - on Linux: - - - You'll need the Glide library and headers. Mesa expects: - /usr/local/glide/include/*.h // all the Glide headers - /usr/local/glide/lib/libglide2x.so - - If your Glide libraries and headers are in a different directory - you'll have to modify the Mesa-config and mklib.glide files. - - - Unpack the MesaLib-3.1.tar.gz and MesaDemos-3.1.tar.gz archives; - - - If you're going to use a newer Mesa/Glide driver than v0.27 then - unpack the new driver archive over the Mesa directory. - - - In the Mesa-3.1 directory type "make linux-glide" - - - Compilation _should_ finish without errors; - - - Set your LD_LIBRARY_PATH environment variable so that the - libglide2x.so and Mesa library files can be found. For example: - setenv LD_LIBRARY_PATH "/usr/local/glide/lib:/SOMEDIR/Mesa-3.1/lib" - - - You'll have to run Glide-based programs as root or set the suid - bit on executables; - - - Try a demo: - cd gdemos - su - setenv MESA_GLX_FX f - ./gears (hit ESC to exit) - - - You can find the demos especially designed for the Voodoo driver in - in the Mesa-3.1/3Dfx/demos directory (type "make" in order to compile - everything). - -MacOS: ------- - Check the WEB page at http://valerie.inf.elte.hu/~boga/Mesa.html - -MS Windows: ------------ - - For the MSVC++: - - The glide2x.lib have to be in the default MSVC++ lib directory; - - - The Glide headers have to be in the default MSVC++ include directory; - - - You must have the vcvars32.bat script in your PATH; - - - Go to the directory Mesa-3.1 and run the mesafx.bat; - - - The script will compile everything (Mesa-3.1/lib/OpenGL32.{lib,dll}, - Mesa-3.1/lib/GLU32.{lib,dll}, Mesa-3.1/lib/GLUT32.{lib,dll} and - Voodoo demos); - - - At the end, you will be in the Mesa-3.1/3Dfx/demos directory; - - - Try some demo (fire.exe, teapot.exe, etc.) in order to check if - everything is OK (you can use Alt-Tab or Ctrl-F9 to switch between - the Voodoo screen and the windows desktop); - - - Remember to copy the Mesa OpenGL32.dll, GLU32.dll and GLUT32.dll in the - some directory were you run your Mesa based applications. - - - I think that you can easy change the Makefile.fx files in order - to work with other kind of compilers; - - - To discover how open the 3Dfx screen, read the sources under - the Mesa-3.1/3Dfx/demos directory. You can use the GLUT library or - the Diego Picciani's wgl emulator. - - NOTE: the MSVC++ 5.0 optimizer is really buggy. Also if you install the - SP3, you could have some problem (you can disable optimization in order - solve these kind of problems). - - -Doing more with Mesa & Linux Glide: ------------------------------------ - - The MESA_GLX_FX environment variable can be used to coax most - GLX-based programs into using Glide (and the __GLUT library - is GLX-based__). - - Full-screen 3Dfx rendering: - --------------------------- - - 1. Set the MESA_GLX_FX variable to "fullscreen": - - ksh: - export MESA_GLX_FX = "fullscreen" - csh: - setenv MESA_GLX_FX fullscreen - - 2. As root, run a GLX-based program (any GLUT demo on Linux). - - 3. Be careful: once the 3Dfx screen appears you won't be able - to see the GLUT windows on your X display. This can make using - the mouse tricky! One solution is to hook up your 3Dfx card to - a second monitor. If you can do this then set these env vars - first: - - setenv SST_VGA_PASS 1 - setenv SST_NOSHUTDOWN - - or for the Voodoo2: - - setenv SSTV2_VGA_PASS 1 - setenv SSTV2_NOSHUTDOWN - - Rendering into an X window with the help of the Voodoo hardware: - ---------------------------------------------------------------- - - 1. Start your X server in 16 bpp mode (XFree86: startx -- -bpp 16) - in order to have the best performance and the best visual - quality. However you can use any visual depth supported by X. - - 2. Set the following environment variables: - export MESA_GLX_FX="window" # to enable window rendering - export SST_VGA_PASS=1 # to stop video signal switching - export SST_NOSHUTDOWN=1 # to stop video signal switching - OR - setenv MESA_GLX_FX window - setenv SST_VGA_PASS 1 - setenv SST_NOSHUTDOWN 1 - - (the Voodoo2 requires to use "SSTV2_" instead "SST_"). - - 3. As root, try running a GLX-based program - - How does it work? We use the 3Dfx hardware to do rendering then - copy the image from the 3Dfx frame buffer into an X window when - the SwapBuffers() function is called. The problem with this - idea is it's slow. The image must be copied from the 3Dfx frame - buffer to main memory then copied into the X window (and when the X - visual depth doesn't match the Voodoo framebufffer bit per pixel, it - is required also a pixel format translation). - - NOTE: the in-window rendering feature only works with double-buffering. - - - On the fly switching between in window rendering and full screen rendering - -------------------------------------------------------------------------- - - The Mesa 2.6 has introduced the capability of switching - on-the-fly between the fullscreen/fullspeed rendering and the in-window - hack and vice versa. The on-the-fly switching requires a direct support - by the application but it is really easy to add. You have to start - your X server in 16 bpp mode and to add the following lines to your - application: - - #if defined(FX) && define(XMESA) - #include <GL/xmesa.h> - - static int fullscreen=1; - #endif - - ... - - /* In the GLUT keyboard event callback */ - - #if defined(FX) && !define(WIN32) - case ' ': - fullscreen=(!fullscreen); - XMesaSetFXmode(fullscreen ? XMESA_FX_FULLSCREEN : XMESA_FX_WINDOW); - break; - #endif - ... - - See the 3Dfx/demos/tunnel.c program - for an example. You have to set the -DXMESA flag in the Makefile's COPTS - to enable it. - - Rendering into an X window with the X11 software driver: - -------------------------------------------------------- - - Set the MESA_GLX_FX variable to "disable" your GLX-based program will use - the X11 software driver (the 3Dfx hardware isn't used at all). - - - -Useful Glide Environment Variables: ------------------------------------ - - - To disable the 3Dfx logo, set the FX_GLIDE_NO_SPLASH variable. - - - To disable video signal switching: - setenv SST_VGA_PASS 1 - setenv SST_NOSHUTDOWN - or for the Voodoo2: - setenv SSTV2_VGA_PASS 1 - setenv SSTV2_NOSHUTDOWN - - - To set the default screen refresh rate: - setenv SST_SCREENREFRESH=75 - - the supported values are 60, 70, 72, 75, 80, 85, 90, 100, 120. - - - To force the Mesa library to swap buffers as fast as possible, - without any vertical blanking synchronization (useful for benchmarks): - setenv FX_GLIDE_SWAPINTERVAL 0 - setenv SST_SWAP_EN_WAIT_ON_VIDSYNC 0 - - - You can slight improve the performances of your Voodoo1 board with - the following env. var.: - setenv SST_FASTMEM 1 - setenv SST_PCIRD 1 - setenv SST_GRXCLK 57 - - (don't use this setting with the Quantum3D 100SB or with any other - SLI configuration: it will hang everything !). - The following setting can be used with the Voodoo2: - setenv SSTV2_FASTMEM_RAS_READS=1 - setenv SSTV2_FASTPCIRD=1 - setenv SSTV2_GRXCLK=95 - - - The Quantum3D Obsidian3D-2 X-24 requires some special env. setting - in order to work under Linux: - - export SSTV2_FT_CLKDEL=5 - export SSTV2_TF0_CLKDEL=7 - export SSTV2_TF1_CLKDEL=7 - export SSTV2_TF2_CLKDEL=7 - export SSTV2_SLIM_VIN_CLKDEL=3 - export SSTV2_SLIM_VOUT_CLKDEL=2 - export SSTV2_SLIS_VIN_CLKDEL=3 - export SSTV2_SLIS_VOUT_CLKDEL=2 - - (Thanks to Phil Ross for this trick). - - - - -The Mesa/Voodoo Environment Variables: --------------------------------------- - - - Only for Windows/Voodoo Rush users, if you define the - env. var. MESA_WGL_FX: - export MESA_WGL_FX=fullscreen - you will get fullscreen rendering; - - - Only for Windows/Voodoo Rush users, if you define the - env. var. MESA_WGL_FX: - export MESA_WGL_FX=window - you will get window rendering (default value); - - - Only for Linux users, you can find more informations about - the env. var. MESA_GLX_FX in the "Doing more with Mesa & Linux Glide" - section; - - - If you define the env. var. MESA_FX_SWAP_PENDING: - export MESA_FX_SWAP_PENDING=4 - you will able to set the maximum number of swapbuffers - commands in the Voodoo FIFO after a swapbuffer (default value: 2); - - - If you define the env. var. MESA_FX_INFO: - export MESA_FX_INFO=1 - you will get some useful statistic. - - - If you define the env. var. MESA_FX_NO_SIGNALS: - export MESA_FX_NO_SIGNALS=1 - Mesa/FX will not install atexit() or signal() handlers. - - - -Know BUGS and Problems: ------------------------ - - - fog doesn't work in the right way when using the glDepthRange() function; - - - Maximum texture size: 256x256 (this is an hardware limit); - - - Texture border aren't yet supported; - - - A GL_BLEND in a glTexEnv() is not supported (it is an hardware limit); - - - Use the glBindTexture extension (standard in OpenGL 1.1) for texture - mapping (the old way: glTexImage inside a display list, download - the texture map each time that you call the display list !!!); - - - Stencil buffer and Accumulation buffer are emulated in software (they are not - directly supported by the Hardware); - - - Color index mode not implemented (this is an hardware limit); - - - Thre is an know bug in the Linux Glide library so the in-window-rendering hack - and any other operations that requires to read the Voodoo frame buffer - (like the accumulation buffer support) doesn't work on Voodoo SLI cards. - - - The driver switch to pure software (_slow_) rendering when: - - - Stencil enabled; - - Using the Accumulation buffer; - - Blend enabled and blend equation != GL_FUNC_ADD_EXT; - - Color logic operation enabled and color logic operation != GL_COPY; - - Using GL_SEPARATE_SPECULAR_COLOR; - - The four values of glColorMask() aren't the some; - - Texture 1D or 3D enabled; - - Texture function is GL_BLEND; - - Using the Multitexture extension with Voodoo cards with only one TMU; - - Using the Multitexture extension with Voodoo cards with more than - one TMU, and texture function isn't GL_MODULATE; - - Point size is != 1.0 or point params vector != (1.0,0.0,0.0); - - Line width != 1.0 or using stipple lines. - - Using polygon offset or stipple polygons; - - NOTE: this is list is not yet complete. - - -Hints and Special Features: ---------------------------- - - - Under Linux and with a Voodoo Graphics board, you can use - XMesaSetFXmode(XMESA_FX_FULLSCREEN or XMESA_FX_WINDOW) in order to - switch on the fly between fullscreen rendering and the in-window-rendering - hack. - - - The driver is able to use all the texture memory available: 2/4MB on - Voodoo1 boards and 8MB (!) on high-end Voodoo1 and Voodoo2 boards. - - - Trilinear filtering is fully supported on Voodoo boards with two TMUs - (high-end Voodoo1 boards and Voodoo2 boards). When only one TMU is - available the driver fallback to bilinear filter also if you ask - for trilinear filtering. - - - The Voodoo driver support multiple Voodoo Graphics boards in the - some PC. Using this feature, you can write applications that use - multiple monitors, videoprojectors or HMDs for the output. See - Mesa-3.1/3Dfx/demos/tunnel2.c for an example of how setup one - context for each board. - - - The v0.19 introduces a new powerful texture memory manager: the - texture memory is used as a cache of the set of all defined texture - maps. You can now define several MBs of texture maps also with a 2MB - of texture memory (the texture memory manager will do automatically - all the swap out/swap in - texture memory work). The new texture memory manager has also - solved a lot of other bugs/no specs compliance/problems - related to the texture memory usage. - - - Use triangles and quads strip: they are a LOT faster than sparse - triangles and quads. - - - The Voodoo driver supports the GL_EXT_paletted_texture. it works - only with GL_COLOR_INDEX8_EXT, GL_RGBA palettes and the alpha value - is ignored because this is a limitation of the current Glide - version and of the Voodoo hardware. See Mesa-3.1/3Dfx/demos/paltex.c for - a demo of this extension. - - - The Voodoo driver directly supports 3Dfx Global Palette extension. - It was written for GLQuake and I think that it isn't a good idea - to use this extension for any other purpose (it is a trick). See - Mesa-3.1/3Dfx/demos/glbpaltex.c for a demo of this extension. - - - The Voodoo driver chooses the screen resolution according to the - requested window size. If you open a 640x480 window, you will get - a 640x480 screen resolution, if you open a 800x600 window, you - will get a 800x600 screen resolution, etc. - Most GLUT demos support the '-geometry' option, so you can choose - the screen resolution: 'tunnel -geometry 800x600'. - Clearly, you Voodoo board must have enough framebuffer RAM (otherwise - the window creation will fail). - - - The glGetString(GL_RENDERER) returns more information - about the hardware configuration: "Mesa Glide <version> - <Voodoo_Graphics|Voodoo_Rush|UNKNOWN> <num> CARD/<num> FB/ - <num> TM/<num> TMU/<NOSLI|SLI>" - where: <num> CARD is the card used for the current context, - <num> FB is the number of MB for the framebuffer, - <num> TM is the number of MB for the texture memory, - <num> TMU is the number of TMU. You can try to run - Mesa/demos/glinfo in order to have an example of the output. - -Did you find a lot BUGs and problems ? Good, send me an email. - - - -FAQ: ----- - -For a complete FAQ check the Bernd Kreimeier's Linux 3Dfx HOWTO -available at http://www.gamers.org/dEngine/xf3D (it includes also -a lot of informations not strictly related to Linux, so it can be -useful also if you don't use Linux) - -1. What is 3Dfx? - -3Dfx Interactive, Inc. is the company which builds the VooDoo 3-D graphics -chipset (and others) used in popular PC cards such as the Diamond Monster 3D -and the Orchid Righteous 3D (more informations at http://www.3dfx.com). - - -2. What is Glide? - -Glide is a "thin" programming interface for the 3Dfx hardware. It was -originally written for Windows/Intel but has been ported to Linux/Intel -by Daryll Strauss. - -3Dfx, Inc. should be applauded for allowing the Linux version of Glide -to be written. - -You can directly program with the Glide library if you wish. You can -obtain Glide from the "Developer" section of the 3Dfx website: www.3dfx.com -There's a Linux/Glide newsgroup at news://news.3dfx.com/3dfx.glide.linux - - -3. What is fxmesa? - -"fxmesa" is the name of the Mesa device driver for the 3Dfx Glide library. -It was written by David Bucciarelli and others. It works on both Linux -and Windows. Basically, it allows you to write and run OpenGL-style programs -on the 3Dfx hardware. - - -4. What is GLQuake? - -Quake is a very popular game from id software, Inc. See www.idsoftware.com -GLQuake is a version of Quake written for OpenGL. There is now a Linux -version of GLQuake with works with the Mesa/3Dfx/Glide combo. - -Here's what you need to run GLQuake on Linux: - PC with 100MHz Pentium or better - a 3Dfx-based card - Mesa 3.1 libraries: libMesaGL.so libMesaGLU.so - Glide 2.4 libraries: libglide2x.so libtexus.so - GLQuake for Linux. - -Also, the windows version of GLQuake works fine with the Mesa OpenGL32.dll, -you have only to copy the Mesa-3.1/lib/OpenGL32.dll in the GLQuake directory -in order to test 'MesaQuake'. - - -5. What is GLUT? - -GLUT is Mark Kilgard's OpenGL Utility Toolkit. It provides an API for -writing portable OpenGL programs with support for multiple windows, pop- -up menus, event handling, etc. - -Check the Mark's home page for more informations (http://reality.sgi.com/mjk_asd). - -Every OpenGL programmer should check out GLUT. - -GLUT on Linux uses GLX. - - -6. What is GLX? - -GLX is the OpenGL extension to the X Window System. I defines both a -programming API (glX*() functions) and a network protocol. Mesa implements -an emulation of GLX on Linux. A real GLX implementation would requires -hooks into the X server. The 3Dfx hardware can be used with GLX-based -programs via the MESA_GLX_FX environment variable. - - -7. Is the Voodoo driver able to use the 4Mb texture memory of -the Pure3D boards ? - -Yes, the Voodoo driver v0.20 includes the support for Voodoo -Graphics boards with more than 2Mb of texture memory. - - -8. Do the Voodoo driver support the Voodoo Rush under Windows ? - -Yes, Diego Picciani has developed the support for the Voodoo -Rush but David Bucciarelli has a Pure3D and a Monster3D and Brian Paul -has a Monster3D, so the new versions of the Mesa/Voodoo sometime are -not tested with the Voodoo Rush. - - -9. Do the Voodoo driver support the Voodoo Rush under Linux ? - -No because the Linux Glide doesn't (yet) support the Voodoo Rush. - - -10. Can I sell my Mesa/Voodoo based software and include -a binary copy of the Mesa in order to make the software -working out of the box ? - -Yes. - - -11. Which is the best make target for compiling the Mesa for -Linux GLQuake ('make linux-glide', 'make linux-386-glide', etc.) ? - -'make linux-386-opt-glide' for Voodoo1 and 'make linux-386-opt-V2-glide' -for Voodoo2 boards because it doesn't include the '-fPIC' -option (4-5% faster). - - -12. Can I use a Mesa compiled with a 'make linux-386-opt-V2-glide' -for my applications/programs/demos ? - -Yes, there is only one constrain: you can't run two Mesa applications -at the some time. This isn't a big issue with the today Voodoo Graphics. - - -Thanks to: ----------- - -Henri Fousse (he has written several parts of the v0.15 and the old GLUT - emulator for Win); - -Diego Picciani (he has developed all the Voodoo Rush support and the wgl - emulator); - -Daryll Strauss (for the Linux Glide and the first Linux support); - -Brian Paul (of course); - -Dave 'Zoid' Kirsch (for the Linux GLQuake and Linux Quake2test/Q2 ports) - -Bernd Kreimeier (for the Linux 3Dfx HOWTO and for pushing companies to offer - a better Linux support) - -3Dfx and Quantum3D (for actively supporting Linux) - -The most update places where find Mesa VooDoo driver related informations are -the Mesa mailing list and my driver WEB page -(http://www-hmw.caribel.pisa.it/fxmesa/index.shtml) - - -David Bucciarelli ([email protected]) - -Humanware s.r.l. -Via XXIV Maggio 62 -Pisa, Italy -Tel./Fax +39-50-554108 -email: [email protected] -www: www-hmw.caribel.pisa.it |