Do not rename 3dfxvgl.dll to opengl32.dll and place it in Windows\system directory. While that works, it also breaks the ICD mechanism in general. So software OpenGL, as well as any other primary OpenGL implementation, is lost if you try this. If your program is implicitly linked to the OpenGL32.dll, then you do have to rename the 3dfxvgl.dll to OpenGL32.dll, but put a renamed copy of 3dfxvgl.dll in the program’s working directory, not the Windows\system directory. To properly use 3dfxvgl.dll without renaming, you need to explicitly load it with LoadLibrary, and get the pointers to the gl functions within it by using GetProcAddress. Also, since the Voodoo 1 and 2 are secondary display devices, you do not need to set the pixel format the way you normally would. Instead you just have to make sure the primary display is set to 16 bit color, and to the resolution you want the secondary card to use. It appears that 3dfxvgl looks at the desktop settings to figure out what mode the secondary card should be placed in. Now this is from all my personal experiences but it has been a few years since I did this, so some details might be wrong or missing.
[This message has been edited by DFrey (edited 02-01-2001).]