dgVoodoo 2

From PCGamingWiki, the wiki about fixing PC games
dgVoodoo 2
dgVoodoo 2 cover
Developers
Dege
Release dates
Windows 2013

Key points

dgVoodoo 2 is a graphics wrapper that converts old graphics APIs to Direct3D 11 for use on Windows 7/8/10.
Fixes many compatibility and rendering issues when running old games on modern systems as well as enables various overrides and enhancements.
Enables the use of third-party tools, such as ReShade, to enhance or improve the gaming experience.

General information

Official website
Development and support forum

General information[edit]

API support[edit]

The following graphics API libraries are implemented[1]
  • Glide 2.11
  • Glide 2.54
  • Glide 3.1
  • Glide 3.1 Napalm
  • DirectX 1-7 (all versions of DirectDraw and Direct3D up to version 7)
  • Direct3D 8.1
  • Direct3D 9 (as of version 2.6)

Configuration file(s) location[edit]

System Location
Windows %APPDATA%\dgVoodoo\[Note 1]
<path-to-game>\dgVoodoo.conf

Installation[edit]

DirectX 1-8[edit]

Installation instructions[2]
  1. Download the latest version of dgVoodoo 2 and extract the archive.
  2. Open the MS\x86 folder and copy D3D8.dll, D3DImm.dll and DDraw.dll files.
  3. Paste the files into the game installation folder where the game executable is.
  4. Optional: Run the included dgVoodooCpl program and configure the settings.

DirectX 9[edit]

DirectX 9 support has been added in version 2.6 and is still very early in development compared to DirectX 1-8.
Installation instructions[2]
  1. Download the latest version of dgVoodoo 2 and extract the archive.
  2. For 32-bit games open the MS\x86 folder and copy the D3D9.dll file, for 64-bit games copy the one from MS\x64 folder.
  3. Paste the file into the game installation folder where the game executable is.
  4. Optional: Run the included dgVoodooCpl program and configure the settings.

Glide[edit]

Installation instructions[2]
  1. Download the latest version of dgVoodoo 2 and extract the archive.
  2. Open the 3Dfx\x86 folder and copy Glide.dll, Glide2x.dll and Glide3x.dll files.
  3. Paste the files into the game installation folder where the game executable is.
  4. Optional: Run the included dgVoodooCpl program and configure the settings.

Glide 3.1 Napalm[edit]

Napalm should only be used for Glide 3 games where the regular Glide 3 library is too slow.
Installation instructions[2]
  1. Download the latest version of dgVoodoo 2 and extract the archive.
  2. Open the 3Dfx\x86\Napalm folder and copy the Glide3x.dll file.
  3. Paste the files into the game installation folder where the game executable is.
  4. Optional: Run the included dgVoodooCpl program and configure the settings.

Glide QEmu (x64)[edit]

The QEmu versions of the Glide libraries are intended for usage only with the 64-bit QEmu multiplatform virtualization tool.
Installation instructions[2]
  1. Download the latest version of dgVoodoo 2 and extract the archive.
  2. Open the 3Dfx\x64(QEmu) folder and copy Glide.dll, Glide2x.dll and Glide3x.dll files.
  3. Paste the files into the game installation folder where the game executable is.
  4. Optional: Run the included dgVoodooCpl program and configure the settings.

Common Glide & DirectX graphics settings[edit]

The resolution and anti-aliasing options are relevant to both Glide and DirectX.

Display Resolution[edit]

See Widescreen resolution for relevant information.
See Scaling for information on scaling resolutions.
Forcing a specific resolution can break UI menus, graphical effects and much more.
Resolution Description
Unforced The application will control the resolution. This is the safest and the default option.
2x, 3x, 4x Dynamically scales the current resolution set in-game, which is calculated by the wrapper.
Max The maximum available resolution will be used.
Max ISF The maximum available integer multiple of the apps resolution will be used.
Max FHD Full HD (1920x1080); 1080p will be the maximum available resolution to the application.
Max FHD ISF The max available integer multiple of the apps resolution will be used; FHD (1920x1080); 1080p.
Max QHD QHD (2560x1440); 1440p will be the maximum available resolution to the application.
Max QHD ISF The max available integer multiple of the apps resolution will be used; QHD (2560x1440); 1440p.
Resolution Resolutions from 640x480 up to the current display's native resolution can be forced.

Anti-aliasing (MSAA)[edit]

See Anti-aliasing (AA) for relevant information.
Forcing anti-aliasing can cause graphical artifacts.
MSAA Level Description
Off Forces anti-aliasing off. For DirectX applications, this only affects DirectX 8 and above.
App driven The application controls the anti-aliasing. Safest option.
2x, 4x, 8x Anti-aliasing (MSAA) will be forced to the selected amount.

Configuring Glide[edit]

3Dfx card[edit]

This option allows for the selection of 3D accelerated cards that use the Glide rendering API.
Some applications and games may need an older card model or older Glide versions, due to the advancements of Voodoo 3Dfx technology made over time.
The different video cards also presents bias to games which may lock particular rendering capabilities and properties to certain 3Dfx cards and versions of Glide.

Parameter Description
VRAM (Video Random Access Memory) The amount of emulated video memory of the selected video card can be changed with this option.

No texture memory is stored on the onboard RAM, but instead it is processed and managed by the Texture Management Unit(s) (TMU).
Some applications determine what resolutions are supported by looking at how much on-board memory there is.

Texture Management Texture Management Units (TMU) allow for multi-texturing management. The amount of TMU texture memory is adjustable.
3Dfx card VRAM Min VRAM Limit TMU TMU Memory Size
Voodoo Graphics 2 MB 4 MB 1 1024 kB, 2048 kB, 4096 kB
Voodoo Rush 2 MB 4 MB 1 2048 kB, 4096 kB
Voodoo 2 8 MB 12 MB 2 2048 kB, 4096 kB
Voodoo Banshee 8 MB 16 MB 1 2048 kB, 4096 kB
Other greater 2 MB 128 MB 1-3 1024 kB up to 65536 kB
Force bi-linear filter Forcing bi-linear texture filtering can cause artifacts.
Disable mipmapping Disables mipmapping. Self-explanatory.

Miscellaneous[edit]

Parameter Description
Enable Glide Gamma Ramp A gamma correction curve can be set through the Glide interface when enabled.

Since Glide uses a linear curve by default, the gamma level might not match the default or one's taste and can look visually detracting.

Force emulating true PCI access When enabled, the virtual 3Dfx card will have PCI bus speeds emulated as closely as possible.

Emulation of true PCI access should theoretically never be disabled but there can be possible degradation of performance when left enabled.
Only some games require accurate emulation of the PCI bus, so in most cases PCI bus emulation should be left disabled.

3Dfx Watermark Shows the 3Dfx watermark in-game when enabled.
Pointcast Palette driver build This option only affects Voodoo 2 cards, this should always be left disabled.
Force V-Sync If V-Sync is enabled, games that run too fast stabilize at the maximum frame-rate of the monitor used, however some games may need certain synchronizations of frame-rates to work properly.
16 bit depth buffer Use only when Z-fighting occurs. Z-fighting can be better avoided with a 16-bit depth buffer, however artifacting can occur.
3Dfx Splash screen The 3Dfx splash screen is seen when an application starts, disabling this option prevents this animation from playing.
Enable inactive app state When an application loses focus, it may be desired to make the application go into an inactive state.

Configuring DirectX[edit]

Disable and passthru to real DirectX[edit]

If dgVoodoo is not needed anymore or just temporarily, without removing dgVoodoo's DLLs this option will disable dgVoodoo's DirectX wrapper.

Videocard[edit]

This option allows for the selection of internal virtual 2D (SVGA) and 3D accelerated cards.
The other four non-dgVoodoo card types give specific emulated ATI/nVidia/Matrox driver versions and capabilities.
The different video cards also presents bias to games which lock particular rendering capabilities and properties to owners of a real ATI, nVidia or Matrox card.

The virtual SVGA card exposes only software capable rendering (2D rendering) to the application. All other virtual video cards have full hardware acceleration and capabilities, including 'Transform & Light'.
However, the only full D3D9 compatible card is the Internal 3D Accelerated card.

VRAM (Video Random Access Memory)[edit]

The amount of emulated video memory of the selected video card can be changed with this option.
Be careful though, DirectX 7 and older applications can fail to launch if the emulated VRAM is set higher than 256 MB.
Some games may require more VRAM to render textures at higher resolutions. There are also other advantages to increasing the VRAM.

Video card VRAM Min VRAM Limit
dgVoodoo Virtual SVGA Card 16 MB 128 MB
dgVoodoo Virtual 3D Accelerated Card 16 MB 2048 MB
GeForce 4 Ti 4800 64 MB 256 MB
ATI Radeon 8500 64 MB 256 MB
Matrox Parhelia-512 128 MB 256 MB
GeForce FX 5700 Ultra 64 MB 256 MB

Texture Filtering[edit]

See Anisotropic filtering (AF) for relevant information.
Forcing texture filtering on an application can create glitches or break rendering effects.
GPU driver-forced global or per-app anisotropic filtering will override the dgVoodoo2 Anisotropic setting.
Filtering Description
App driven The application will control the texture filtering quality. This is safest and the default option.
Point sampled Point sampled texture filtering will be forced.
Bilinear Bilinear filtering will be forced. The four nearest texels to the pixel center are sampled.
Linear mipmap Nearest-neighbor sampling from individual mipmaps whilst linearly interpolating the two nearest mipmaps.
Trilinear Trilinear filtering will be forced. Bilinear filtering on the two closest mipmap levels are applied and are interpolated.
Anisotropic Ansiotropic filtering of up to 16x can be forced.
Mipmapping can be disabled with the "No mipmapping" option below the filtering settings.

Window Behaviour[edit]

Parameter Description
Application controller fullscreen/windowed state Unticking this option will force the specified screen mode in the General tab.
Disable Alt-Enter to toggle screen state Disabling this option is recommended if the application already handles its window state via Alt+Enter

If this is not disabled and Alt+Enter is used for an application that utilizies it, then dgVoodoo will conflict with the application.

Miscellaneous[edit]

Parameter Description
Bi-linear blit stretch When enabled, linear filtering is applied for stretched copying between 2D surfaces (DirectDraw only). Linear filtering is much nicer generally but can cause artifacts, especially with color-keyed blitting. Early hardware did not support or apply point sampled blitting, which can end up with very pixelated results.
Force V-Sync Vertical syncing is forced in all cases whenever the application window draws. However there is a performance penality when enabling V-Sync.
Fast video memory access Fast video memory access can speed up games like Toy Story 2, but can also completely break others.

Fast video memory access is applied for locked surfaces.
Only recommended to use if an application is performing slowly, despite system specifications

Apply Phong shading when possible Phong shading is applied in place of Gouraud when it is possible.

This option only has effect when the application uses the fixed function vertex/pixel pipeline and pushes all the work of the vertex transform & lighting (T & L) to Direct3D when rendering primitives. Do note though, using Phong shading requires much more GPU power than default shading.

dgVoodoo Watermark Disabling the watermark will remove the dgVoodoo text in the application that is using the wrapper.

HUD and interface scaling on high resolutions[edit]

Comparison of in-game interface size at 2560x1440 set directly in game options menu(up) and 2560x1440 forced through dgVoodoo 2 with resolution in game options menu set to 1280x720(down).
Comparison of in-game interface size at 2560x1440 set directly in game options menu(up) and 2560x1440 forced through dgVoodoo 2 with resolution in game options menu set to 1280x720(down).
Many games don't scale their interface and HUD which end up being very small or even unusable on high resolutions. By instead forcing high resolution using dgVoodoo, this problem can be fixed in many games.
Some games (for example Machines) are rendered correctly when resolution is being forced, however the mouse cursor movement remains restricted to resolution set in the game video settings making the game unplayable.
Instructions[2]
  1. Follow the instructions to setup dgVoodoo 2.
  2. Run the included dgVoodooCpl program and set the desired resolution under Glide or DirectX settings.
  3. In the game video options menu select a resolution that is smaller than the one set in dgVoodoo, but has the same aspect ratio. The smaller the resolution selected in game, the bigger will interface/HUD be rendered on screen.

Notes

Ultra-widescreen: If the game does not display any small ultra-widescreen resolution in the video options menu, create a small custom resolution in the GPU control panel so it can be selected in game for the proper aspect ratio, or set the resolution manually in the game's config file.

Game specific configuration files[edit]

If there is no dgVoodoo configuration file in the same folder as the game, dgVoodoo will use global settings.
Instructions[2]
  1. Follow the instructions and copy the necessary files into the game installation folder.
  2. Run dgVoodooCpl program.
  3. Under Config folder/Running instance press Add, then selected the game installation folder where the main game executable is located.
  4. Press Apply to create the configuration file in that folder to store settings for that game.

Notes

Since version 2.6 dgVoodoo.conf is a plain text file and can be edited directly using a text editor. Some advanced features are not available through the dgVoodooCpl program, but can be set manually in these config files.

Hidden options and settings[edit]

GeneralExt, GlideExt, DirectXExt and Debug are all hidden. Right-click on the dgVoodoo banner and tick "Show all sections of the configuration".
Not recommended for usage by inexperienced users. A lot of the options are experimental or unstable for normal usage.

General Extended[edit]

Desktop properties

Parameter Description
Desktop resolution The native resolution can be forced for dgVoodoo's internal calculations.

This is useful for rare cases where applications may pre-set the desktop to something other than the native resolution before dgVoodoo initializes fully. Applies to all display outputs.

Desktop bit depth The screen bit-depth that should be reported through dgVoodoo can be defined to a 8, 16, or 32 bit-depth level.

Image output

Parameter Description
Integer scale factor The integer factor for scaling the out image coming from a wrapped API can be dictated from 1-5, or the maximum available.

Integer scaling is always done with nearest point filtering, independent of the scale. Custom integer scaling factors can be defined manually for horizontal and vertical scaling.
For e.g. string x:3, y:2.

Deframer size When the resolution is forced to something other than the application default, then a black frame will be drawn around the output image coming from the wrapped API. This is to remove scaling artifacts (maximum 16 pixels).
Display ROI
Force nearest
point filter

Windowed mode attributes

Parameter Description
Borderless Forces the application window to be borderless.
Always on top Forces the application window to remain always visible, despite other windows being in focus.
Fullscreen size Any content in the application window will be the same in fullscreen mode, preserving potential black bars.

This is useful for achieving fake fullscreen mode (in conjunction with other relevant settings).

Miscellaneous

Parameter Description
Environment The software environment that dgVoodoo runs in can be changed from unspecified, DosBox and QEmu.
Free mouse When enabled, the physical mouse is free to move around inside the game's window when using emulated scaling and/or application and forced resolutions differs.

Can be useful for when a game relies on the physical window size.

Enable GDI hooking If enabled, dgVoodoo hooks GDI to be able to render graphical contents (like movie playback through the ancient Windows Multimedia AVI player library) rendered through GDI.

Experimental feature, for the time being it's implemented only for DirectX emulation.

Glide Extended[edit]

Dithering

Parameter Description
Dithering Defines when Glide dithering should take place.
If dithering is app driven, then the dithering effect is also controlled by the application.
Effect The type of dithering effect that should be used when dithering is forced.
Pure 32-bit is a fake effect that provides the best quality.
Ordered matrix size scale The integer scale value for the dither matrix size:
1 = normal size, 2 = double size, etc.
0 = automatic (the aim is to have some retro feel and look).

DirectX Extended[edit]

Adapter properties

Parameter Description
ID Type The driver version and Vendor ID type that the wrapper should report to the application can be changed. Some games rely on this information.
Can be defined only for SVGA and Internal 3D card types, the others have their own predefined vendor information.

You can refine various ID's (vendor device, subsys, revision) in the appropriate fields. Note that defining unmatching vendor ID's makes no sense.
Games can restrict hardware capability based on device and vendor information. Forcing certain ID's can

Vendor ID The Vendor ID can be defined only for SVGA and Internal 3D card types.

You can overwrite these properties even if a non-default adapter ID type is defined: say, you defined an NVIDIA ID type but would like to refine the device ID.

Subsystem ID
Device ID
Revision ID

Enumerated resolutions

Parameter Description
Defaults Resolutions that should be enumerated to the application by default can be defined.

- All: all resolutions the current display output is capable of + classic resolutions.
- Classic: classic resolutions only.
- None: no resolutions enumerated by default (make sure to define a custom resolution in the Extras field).

Extras Custom resolutions are defined in this field.
Enumerated bit depths The 8, 16, and 32-bit bit-depths options define what resolutions should be enumerated (allowed) with.

Dithering

Parameter Description
Dithering
Effect
Dither matrix scale

Miscellaneous

Parameter Description
Depth buffers
Max VS const registers
MS D3D device names
Smoothed depth sampling
Batched update for primary surface
Force scale & MSSA on RT textures
Deferred screen mode switch

Debug[edit]

Debugging

These options only affect debug and spec-release builds of dgVoodoo
Parameter Description
INFO Message Severity
WARNING Message Severity
ERROR Message Severity
Maximum trace level
Log to file

Notes

  1. When running this game without Administrator elevation, activity in %PROGRAMFILES%, %PROGRAMFILES(X86)%, and %WINDIR% might be redirected to %LOCALAPPDATA%\VirtualStore\ (more details).

References

  1. http://dege.freeweb.hu/
  2. 2.0 2.1 2.2 2.3 2.4 2.5 2.6 Verified by User:Antrad on July 9, 2019