Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.


Warning for game developers: PCGamingWiki staff members will only ever reach out to you using the official press@pcgamingwiki.com mail address.
Be aware of scammers claiming to be representatives or affiliates of PCGamingWiki who promise a PCGW page for a game key.

Difference between revisions of "DgVoodoo 2"

From PCGamingWiki, the wiki about fixing PC games
m (→‎Availability: more direct link)
 
(94 intermediate revisions by 30 users not shown)
Line 1: Line 1:
{{stub}}
+
{{DISPLAYTITLE:dgVoodoo 2}}
{{Infobox non-game
+
{{Infobox software
 
|title        = dgVoodoo 2
 
|title        = dgVoodoo 2
 
|cover        = DgVoodoo 2 - Cover.png
 
|cover        = DgVoodoo 2 - Cover.png
 
|developers  =  
 
|developers  =  
 
{{Infobox game/row/developer|Dege}}
 
{{Infobox game/row/developer|Dege}}
|publishers  =
 
|engines      =
 
{{Infobox game/row/developer|Direct3D 11}}
 
 
|release dates=  
 
|release dates=  
 
{{Infobox game/row/date|Windows|2013}}
 
{{Infobox game/row/date|Windows|2013}}
 +
|taxonomy    =
 +
{{Infobox game/row/taxonomy/monetization      | Freeware }}
 +
{{Infobox game/row/taxonomy/microtransactions | }}
 +
{{Infobox game/row/taxonomy/modes            | }}
 +
{{Infobox game/row/taxonomy/pacing            | }}
 +
{{Infobox game/row/taxonomy/perspectives      | }}
 +
{{Infobox game/row/taxonomy/controls          | }}
 +
{{Infobox game/row/taxonomy/genres            | }}
 +
{{Infobox game/row/taxonomy/sports            | }}
 +
{{Infobox game/row/taxonomy/vehicles          | }}
 +
{{Infobox game/row/taxonomy/art styles        | }}
 +
{{Infobox game/row/taxonomy/themes            | }}
 +
{{Infobox game/row/taxonomy/series            | }}
 
|steam appid  =  
 
|steam appid  =  
|gogcom id    =  
+
|steam appid side =  
|strategywiki =
+
|official site= http://dege.fw.hu/dgVoodoo2/
|wikipedia    =
+
|license      = freeware
|winehq      =  
 
|license      =  
 
 
}}
 
}}
 +
{{Category:System abstraction}}
 +
{{Tocbox}}
  
'''Key points'''
+
{{Introduction
{{ii}} dgVoodoo 2 is a graphics wrapper that converts old graphics APIs to Direct3D 11 for use on Windows 7/8/10.
+
|introduction      = '''''dgVoodoo 2''''' is a graphics wrapper that converts old graphics APIs to Direct3D 11 or Direct3D 12 (as of version 2.7) for use on Windows 7 or newer. The wrapper fixes many compatibility and rendering issues when running old games on modern systems as well as enables the use of various overrides and enhancements, and third-party tools such as [[ReShade]] to enhance or improve the gaming experience.
{{++}} 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'''
+
|release history  =
{{mm}} [http://dege.freeweb.hu/ Official website]
+
 
{{mm}} [https://www.vogons.org/viewforum.php?f=59 Development and support forum]
+
|current state    = As of version 2.7 the wrapper supports Glide 2.11, 2.54, 3.10, and 3.10 Napalm APIs, as well as all DirectDraw, and Direct3D APIs up to and including D3D9.<ref>http://dege.fw.hu/</ref>
  
==General information==
+
}}
  
===API support===
+
{{ii}} Note that Direct3D (shortened to D3D) is the 3D rendering API of the corresponding DirectX suite of the same number.<br>While dgVoodoo and this page use the "DirectX" terminology in various places, it is specifically referring to the corresponding DirectDraw or Direct3D rendering APIs.
{{ii}} The following graphics API libraries are implemented<ref>http://dege.freeweb.hu/</ref>
 
* 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)
 
  
<gallery>
+
'''General information'''
DgVoodoo 2 - General settings.png|General settings.
+
{{mm}} [https://www.vogons.org/viewforum.php?f=59 Official forum]
DgVoodoo 2 - Glide settings.png|Glide settings.
+
{{mm}} [https://github.com/dege-diosg/dgVoodoo2 Official repository]
DgVoodoo 2 - DirectX settings.png|DirectX settings.
 
</gallery>
 
  
===Configuration file(s) location===
+
==Availability==
{{Game data|
+
{{Availability|
{{Game data/config|Windows|{{P|appdata}}\dgVoodoo\|{{p|game}}\dgVoodoo.conf}}
+
{{Availability/row| official  | https://dege.fw.hu/dgVoodoo2/dgVoodoo2/         | DRM-Free |       | | Windows }}
 +
{{Availability/row| developer | https://github.com/dege-diosg/dgVoodoo2/releases | DRM-Free | GitHub |  | Windows }}
 
}}
 
}}
  
 
==Installation==
 
==Installation==
  
===DirectX 1-8===
+
===DirectX 1-7===
 
{{Fixbox|description=Installation instructions|ref=<ref name="Antrad">{{refcheck|user=Antrad|date=July 9, 2019}}</ref>|fix=
 
{{Fixbox|description=Installation instructions|ref=<ref name="Antrad">{{refcheck|user=Antrad|date=July 9, 2019}}</ref>|fix=
# Download the latest version of [http://dege.freeweb.hu dgVoodoo 2] and extract the archive.
+
{{ii}} Some games might refuse to load dgVoodoo's {{file|DDraw.dll}} from their folder. Apply [https://github.com/narzoul/DDrawCompat/wiki/Installation-guide#method-2-add-com-redirection-keys-for-directdraw-in-the-registry-for-windows-810-only this] workaround.
# Open the <code>MS\x86</code> folder and copy ''D3D8.dll'', ''D3DImm.dll'' and ''DDraw.dll'' files.
+
# Download the latest version of [[#Availability|dgVoodoo 2]] and extract the archive.
# Paste the files into the game installation folder where the game executable is.
+
# Copy {{File|dgVoodooCpl.exe}}, {{File|dgVoodoo.conf}}, {{File|D3DImm.dll}} and {{File|DDraw.dll}} into the game installation folder where the game executable is located.
# '''Optional''': Run the included <code>dgVoodooCpl</code> program and configure the settings.
+
# '''Optional''': Run the included {{File|dgVoodooCpl.exe}} program and configure the settings.
 +
}}
 +
 
 +
===DirectX 8===
 +
{{ii}} For some Direct3D 8 games, {{File|D3DImm.dll}} and/or {{File|DDraw.dll}} might also be required, if the game uses those APIs for other tasks, e.g. playing videos, etc. Try the game without these files first.
 +
{{Fixbox|description=Installation instructions|fix=
 +
# Download the latest version of [[#Availability|dgVoodoo 2]] and extract the archive.
 +
# Copy {{File|dgVoodooCpl.exe}}, {{File|dgVoodoo.conf}} and {{File|D3D8.dll}} into the game installation folder where the game executable is located.
 +
# '''Optional''': Run the included {{File|dgVoodooCpl.exe}} program and configure the settings.
 
}}
 
}}
  
 
===DirectX 9===
 
===DirectX 9===
{{ii}} DirectX 9 support has been added in version 2.6 and is still very early in development compared to DirectX 1-8.
 
 
{{Fixbox|description=Installation instructions|ref=<ref name="Antrad">{{refcheck|user=Antrad|date=July 9, 2019}}</ref>|fix=
 
{{Fixbox|description=Installation instructions|ref=<ref name="Antrad">{{refcheck|user=Antrad|date=July 9, 2019}}</ref>|fix=
# Download the latest version of [http://dege.freeweb.hu dgVoodoo 2] and extract the archive.
+
# Download the latest version of [[#Availability|dgVoodoo 2]] and extract the archive.
# For 32-bit games open the <code>MS\x86</code> folder and copy the ''D3D9.dll'' file, for 64-bit games copy the one from <code>MS\x64</code> folder.
+
# Copy {{File|dgVoodooCpl.exe}}, {{File|dgVoodoo.conf}} and {{File|D3D9.dll}} (for 32-bit games from the {{Folder|MS\x86}} folder, and for 64-bit games from the {{Folder|MS\x64}} folder) into the game installation folder where the game executable is located.
# Paste the file into the game installation folder where the game executable is.
+
# '''Optional''': Run the included {{File|dgVoodooCpl.exe}} program and configure the settings.
# '''Optional''': Run the included <code>dgVoodooCpl</code> program and configure the settings.
 
 
}}
 
}}
  
 
===Glide===
 
===Glide===
 
{{Fixbox|description=Installation instructions|ref=<ref name="Antrad">{{refcheck|user=Antrad|date=July 9, 2019}}</ref>|fix=
 
{{Fixbox|description=Installation instructions|ref=<ref name="Antrad">{{refcheck|user=Antrad|date=July 9, 2019}}</ref>|fix=
# Download the latest version of [http://dege.freeweb.hu dgVoodoo 2] and extract the archive.
+
# Download the latest version of [[#Availability|dgVoodoo 2]] and extract the archive.
# Open the <code>3Dfx\x86</code> folder and copy ''Glide.dll'', ''Glide2x.dll'' and ''Glide3x.dll'' files.
+
# Copy {{File|dgVoodooCpl.exe}}, {{File|dgVoodoo.conf}}, and from the {{Folder|3Dfx\x86}} folder {{File|Glide.dll}}, {{File|Glide2x.dll}} and {{File|Glide3x.dll}}, into the game installation folder where the game executable is located.
# Paste the files into the game installation folder where the game executable is.
+
# '''Optional''': Run the included {{File|dgVoodooCpl.exe}} program and configure the settings.
# '''Optional''': Run the included <code>dgVoodooCpl</code> program and configure the settings.
 
 
}}
 
}}
  
===Glide 3.1 Napalm===
+
===Glide 3.10 Napalm===
 
{{ii}} Napalm should only be used for Glide 3 games where the regular Glide 3 library is too slow.
 
{{ii}} Napalm should only be used for Glide 3 games where the regular Glide 3 library is too slow.
 
{{Fixbox|description=Installation instructions|ref=<ref name="Antrad">{{refcheck|user=Antrad|date=July 9, 2019}}</ref>|fix=
 
{{Fixbox|description=Installation instructions|ref=<ref name="Antrad">{{refcheck|user=Antrad|date=July 9, 2019}}</ref>|fix=
# Download the latest version of [http://dege.freeweb.hu dgVoodoo 2] and extract the archive.
+
# Download the latest version of [[#Availability|dgVoodoo 2]] and extract the archive.
# Open the <code>3Dfx\x86\Napalm</code> folder and copy the ''Glide3x.dll'' file.
+
# Copy {{File|dgVoodooCpl.exe}}, {{File|dgVoodoo.conf}}, and from the {{Folder|3Dfx\x86\Napalm}} folder {{File|Glide3x.dll}}, into the game installation folder where the game executable is located.
# Paste the files into the game installation folder where the game executable is.
+
# '''Optional''': Run the included {{File|dgVoodooCpl.exe}} program and configure the settings.
# '''Optional''': Run the included <code>dgVoodooCpl</code> program and configure the settings.
 
 
}}
 
}}
  
 
===Glide QEmu (x64)===
 
===Glide QEmu (x64)===
{{ii}} The QEmu versions of the Glide libraries are intended for usage '''only''' with the 64-bit QEmu multiplatform virtualization tool.
+
{{ii}} The QEmu versions of the Glide libraries are intended for usage only with the 64-bit QEmu multiplatform virtualization tool.
 
{{Fixbox|description=Installation instructions|ref=<ref name="Antrad">{{refcheck|user=Antrad|date=July 9, 2019}}</ref>|fix=
 
{{Fixbox|description=Installation instructions|ref=<ref name="Antrad">{{refcheck|user=Antrad|date=July 9, 2019}}</ref>|fix=
# Download the latest version of [http://dege.freeweb.hu dgVoodoo 2] and extract the archive.
+
# Download the latest version of [[#Availability|dgVoodoo 2]] and extract the archive.
# Open the <code>3Dfx\x64(QEmu)</code> folder and copy ''Glide.dll'', ''Glide2x.dll'' and ''Glide3x.dll'' files.
+
# Copy {{File|dgVoodooCpl.exe}}, {{File|dgVoodoo.conf}}, and from the {{Folder|3Dfx\x64}} folder {{File|Glide.dll}}, {{File|Glide2x.dll}} and {{File|Glide3x.dll}}, into the game installation folder where the game executable is located.
# Paste the files into the game installation folder where the game executable is.
+
# '''Optional''': Run the included {{File|dgVoodooCpl.exe}} program and configure the settings.
# '''Optional''': Run the included <code>dgVoodooCpl</code> program and configure the settings.
+
}}
 +
 
 +
===Linux (Wine) configuration===
 +
{{ii}} Linux requires declaring DLL overrides for every dgVoodoo 2 DLL you copy to the game directory - unlike nGlide, which works out of the box, dgVoodoo 2 needs configuring the DLL overrides in order to work.
 +
{{Fixbox|description=Installation instructions|ref=<ref name="Vjb">{{refcheck|user=Vjb|date=March 3, 2023}}</ref>|fix=
 +
# Download the latest version of [[#Availability|dgVoodoo 2]] and extract the archive.
 +
# Open the dgVoodoo 2 folder where you extracted the files, and then copy the {{File|dgVoodooCpl.exe}}, {{File|dgVoodoo.conf}} and necessary DLL files to the game directory (inside the Wine virtual drive, where the game executables are located).
 +
# Add the DLL overrides:
 +
* For using Wine directly through terminal and for non-Lutris frontends, open the Wine configurator for the virtual drive where the game is installed, navigate to the "Libraries" tab, type the DLL file names you copied (without the .dll extension, you only need to type the names of DLLs you copied - ignore the ones you didn't copy), click "Add", find the added DLL names in the box below the one where you added the names, scroll down until you find the names, select the DLL, click "Edit", then change the "Load order" to "Native"; do this for every DLL you added. Save the changes once you're done.
 +
* For Lutris, right-click the game, click "Configure", navigate to the "Runner options" tab, scroll down until you see the "DLL overrides" section, then press the "Add" button, after which a new row will be created and already selected for you (indicated by the orange color of the newly-created row). Since the row is already selected when you add it, you only need click either the "Key" or the "Value" empty box once. Click the left, smaller box, that corresponds to the "Key" column, type the DLL name (without the .dll extension), then click the bigger empty box on the right, the box that corresponds to the "Value" column, and the DLL name you entered will be saved. Next, while the "Value" box is selected, type a single letter there - the letter "n" (don't type the quotation marks, just the letter n) - and then press Enter; if you don't press Enter it will not save the "n". Repeat the process for every DLL you copied. Click the green "Save" button once you're done. Note: you can also use Wine configurator with Lutris if you prefer that method.
 +
<ol start="4">
 +
<li>'''Optional''': To add the 3Dfx splash screen, don't use the DLLs from the dgVoodoo 2 download page; I couldn't get them to work. Instead, download the [https://www.zeus-software.com/downloads/nglide nGlide installer executable] and open it as an archive. Extract the three splash DLLs and place them in the splash folder where you extracted dgVoodoo 2 for easy access. Copy the splash DLLs along with Glide DLLs to the game directory and that's it. The nGlide DLLs don't need overrides, so just copy them and you're done.</li>
 +
<li>'''Optional''': Run the included {{File|dgVoodooCpl.exe}} program (in Lutris, click the up arrow near the logo of a picture and click "Run EXE inside Wine prefix", navigate to the folder with the dgVoodoo 2 configurator and select it) and configure the settings.</li>
 +
</ol>
 
}}
 
}}
  
==Common Glide & DirectX graphics settings==
+
==Game data==
  
{{ii}} The resolution and anti-aliasing options are relevant to both Glide and DirectX. <br>
+
===Configuration file(s) location===
===Display Resolution===
+
{{Game data|
{{mm}} See [[Glossary:Widescreen_resolution|Widescreen resolution]] for relevant information.
+
{{Game data/config|Windows|{{P|appdata}}\dgVoodoo\|{{p|game}}\dgVoodoo.conf}}
 +
}}
 +
{{mm}} Since version 2.6, {{File|dgVoodoo.conf}} is a plain text file and can be edited directly using a text editor.
 +
{{mm}} A few advanced features are not available through the configuration tool but can be set manually in these config files.
 +
 
 +
===Game specific configuration files===
 +
{{ii}} If there is no dgVoodoo configuration file in the same folder as the game executable, dgVoodoo will use global settings.
 +
{{Fixbox|description=Instructions|ref=<ref name="Antrad">{{refcheck|user=Antrad|date=July 9, 2019}}</ref>|fix=
 +
# Follow the installation instructions and copy the necessary files into the game install folder along with the {{File|dgVoodooCpl.exe}} configuration tool.
 +
# Launch the configuration tool.
 +
# Under '''Config folder/Running instance''' press '''Add''', then select the game install folder where the main game executable is located.
 +
# Press '''Apply''' to create the configuration file in that folder to store settings for that game.
 +
}}
 +
 
 +
==Video==
 +
{{Image|DgVoodoo 2 - General settings.png|General settings.}}
 +
{{ii}} The resolution and anti-aliasing options are relevant to both Glide and DirectX.
 +
 
 +
===Display resolution===
 +
{{mm}} See [[Glossary:Widescreen resolution|Widescreen resolution]] for relevant information.
 
{{mm}} See [[Glossary:Scaling|Scaling]] for information on scaling resolutions.
 
{{mm}} See [[Glossary:Scaling|Scaling]] for information on scaling resolutions.
 
{{ii}} Forcing a specific resolution can break UI menus, graphical effects and much more.
 
{{ii}} Forcing a specific resolution can break UI menus, graphical effects and much more.
Line 112: Line 147:
 
| '''Max''' || The maximum available resolution will be used.
 
| '''Max''' || The maximum available resolution will be used.
 
|-
 
|-
| '''Max ISF''' || The maximum available integer multiple of the apps resolution will be used.
+
| '''Max ISF''' || The maximum available integer multiple of the app's resolution will be used.
 
|-
 
|-
 
| '''Max FHD''' || Full HD (1920x1080); 1080p will be the maximum available resolution to the application.
 
| '''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 FHD ISF''' || The max available integer multiple of the app's resolution will be used; FHD (1920x1080); 1080p.
 
|-
 
|-
 
| '''Max QHD''' || QHD (2560x1440); 1440p will be the maximum available resolution to the application.
 
| '''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.
+
| '''Max QHD ISF''' || The max available integer multiple of the app's resolution will be used; QHD (2560x1440); 1440p.
 
|-
 
|-
 
| '''Resolution''' || Resolutions from 640x480 up to the current display's native resolution can be forced.
 
| '''Resolution''' || Resolutions from 640x480 up to the current display's native resolution can be forced.
 
|}
 
|}
  
===Anti-aliasing (MSAA)===
+
===[[Glossary:Anti-aliasing (AA)|Anti-aliasing (AA)]]===
{{mm}} See [[Glossary:Anti-aliasing (AA)|Anti-aliasing (AA)]] for relevant information.
+
{{ii}} dgVoodoo 2 can force both [[MSAA]] as well as [[SSAA]] though this might cause graphical artifacts in some games.
{{ii}} Forcing anti-aliasing can cause graphical artifacts.
+
 
{| class="page-normaltable pcgwikitable" style="width:auto; min-width: 60%; max-width:900px; text-align: left;"
+
{{Fixbox|description=Force [[SSAA]]:|ref=<ref>{{Refurl|url=https://www.vogons.org/viewtopic.php?t=88589|title=VOGONS - SSAA possible?|date=2023-01-08}}</ref>|fix=
|-
+
# [[#Installation|Install]] dgVoodoo 2 for the game along with the {{File|dgVoodooCpl.exe}} configuration tool.
! style="min-width: 100px" | MSAA Level !! Description
+
# Launch the configuration tool.
|-
+
# On the '''General''' tab set the '''Scaling mode''' to {{Code|Stretched, keep aspect ratio}} as this will ensure that dgVoodoo will downsample any higher resolution.
| '''Off''' || Forces anti-aliasing off. For DirectX applications, this only affects DirectX 8 and above.
+
# Open the relevant graphics API tab and set the desired resolution.
|-
+
# Click on '''Apply''' to save the changes and '''OK''' to close the configuration tool.
| '''App driven''' || The application controls the anti-aliasing. Safest option.
+
}}
|-
+
 
| '''2x, 4x, 8x''' || Anti-aliasing (MSAA) will be forced to the selected amount.
+
{{Fixbox|description=Force [[MSAA]]:|ref=|fix=
|}
+
# [[#Installation|Install]] dgVoodoo 2 for the game along with the {{File|dgVoodooCpl.exe}} configuration tool.
 +
# Launch the configuration tool.
 +
# Open the relevant graphics API tab and change the '''Antialiasing (MSAA)''' option:
 +
#* {{Code|Off}} disables any built-in MSAA the game might use. For DirectX applications, this only affects DirectX 8 and above.
 +
#* {{Code|App driven}} allows the application to control the MSAA amount. This is the default and most compatible option.
 +
#* {{Code|2x}}, {{Code|4x}}, {{Code|8x}} forces the selected anti-aliasing (MSAA) amount.
 +
# Click on '''Apply''' to save the changes and '''OK''' to close the configuration tool.
 +
}}
 +
 
 +
===[[Glossary:Vertical sync (Vsync)|Vertical sync (Vsync)]]===
 +
{{Fixbox|description=Force vertical sync for a game:|fix=
 +
# [[#Installation|Install]] dgVoodoo 2 for the game along with the {{File|dgVoodooCpl.exe}} configuration tool.
 +
# Launch the configuration tool.
 +
# Select the relevant rendering API tab, '''Glide''' or '''DirectX'''.
 +
# Enable the '''Force vSync''' option.
 +
# Click on '''Apply''' to save the changes and '''OK''' to close the configuration tool.
 +
}}
 +
 
 +
===[[High dynamic range (HDR)]]===
 +
{{ii}} dgVoodoo 2 can enable the use of Windows 11's [https://support.microsoft.com/en-us/windows/use-auto-hdr-for-better-gaming-in-windows-0cce8402-3de5-4512-a742-e027ca7aa79c '''Auto HDR'''] feature for older games that otherwise does not support HDR.
 +
 
 +
{{Fixbox|description=Enable Windows 11's Auto HDR feature, then [[#Installation|install]] dgVoodoo 2 for the game.|ref=|fix=
 +
}}
 +
 
 +
===HUD and interface scaling on high resolutions===
 +
{{Image|Starship Troopers Terran Ascendancy - interface scaling.png|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).}}
 +
{{ii}} 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.
 +
{{ii}} Some games will have mouse and/or rendering issues when resolution is being forced.
 +
 
 +
{{Fixbox|description=Instructions|ref=<ref name="Antrad">{{refcheck|user=Antrad|date=July 9, 2019}}</ref>|fix=
 +
# Follow the instructions to setup dgVoodoo 2.
 +
# Run the included {{File|dgVoodooCpl.exe}} program and set the desired resolution under Glide or DirectX settings.
 +
# In the game video options menu select a resolution that is smaller than the one set in dgVoodoo 2, but has the same aspect ratio. The smaller the resolution selected in game, the bigger will interface/HUD be rendered on screen. For example, set the resolution in the game's options to 1280x720 and set dgVoodoo 2's resolution to 3840x2160.
 +
'''Notes'''
 +
{{ii}} 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.
 +
}}
  
 
==Configuring Glide==
 
==Configuring Glide==
 +
{{Image|DgVoodoo 2 - Glide settings.png|Glide settings.}}
 +
 
===3Dfx card===
 
===3Dfx card===
 
This option allows for the selection of 3D accelerated cards that use the Glide rendering API.<br>
 
This option allows for the selection of 3D accelerated cards that use the Glide rendering API.<br>
Line 145: Line 217:
 
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.
 
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.
  
====VRAM (Video Random Access Memory)====
+
{| class="page-normaltable pcgwikitable" style="width:auto; min-width: 30%; max-width:900px; text-align: left;"
The amount of emulated video memory of the selected video card can be changed with this option.<br>
+
|-
 +
! style="min-width: 150px" | Parameter !! Description
 +
|-
 +
| VRAM (Video Random Access Memory)
 +
|| The amount of emulated video memory of the selected video card can be changed with this option.<br>
 
No texture memory is stored on the onboard RAM, but instead it is processed and managed by the Texture Management Unit(s) '''(TMU)'''.<br>
 
No texture memory is stored on the onboard RAM, but instead it is processed and managed by the Texture Management Unit(s) '''(TMU)'''.<br>
 
Some applications determine what resolutions are supported by looking at how much on-board memory there is.
 
Some applications determine what resolutions are supported by looking at how much on-board memory there is.
 
+
|-
====Texture Management====
+
| Texture Management
Texture Management Units '''(TMU)''' allow for multi-texturing management. The amount of TMU texture memory is adjustable.
+
|| Texture Management Units '''(TMU)''' allow for multi-texturing management. The amount of TMU texture memory is adjustable.
 
+
{| class="wikitable"
{| class="wikitable" style="width:auto; min-width: 40%; max-width:100px; text-align: center;"
 
 
|-
 
|-
 
! 3Dfx card !! VRAM Min !! VRAM Limit !! TMU !! TMU Memory Size
 
! 3Dfx card !! VRAM Min !! VRAM Limit !! TMU !! TMU Memory Size
Line 167: Line 242:
 
| Other greater || 2 MB || 128 MB || 1-3 || 1024 kB up to 65536 kB
 
| Other greater || 2 MB || 128 MB || 1-3 || 1024 kB up to 65536 kB
 
|}
 
|}
 
+
|-
====Force bi-linear filter====
+
| Force bi-linear filter
Forcing bi-linear texture filtering can cause artifacts.
+
|| Forcing bi-linear texture filtering can cause artifacts.
 
+
|-
====Disable mipmapping====
+
| Disable mipmapping
Disables mipmapping. Self-explanatory.
+
|| Disables mipmapping. Self-explanatory.
 +
|}
  
 
===Miscellaneous===
 
===Miscellaneous===
====Enable Glide Gamma Ramp====
+
{| class="page-normaltable pcgwikitable" style="width:auto; min-width: 30%; max-width:900px; text-align: left;"
A gamma correction curve can be set through the Glide interface when enabled.<br>
+
|-
 +
! style="min-width: 150px" | Parameter !! Description
 +
|-
 +
| Enable Glide Gamma Ramp
 +
|| A gamma correction curve can be set through the Glide interface when enabled.<br>
 
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.
 
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====
+
| Force emulating true PCI access
When enabled, the virtual 3Dfx card will have PCI bus speeds emulated as closely as possible.<br>
+
|| When enabled, the virtual 3Dfx card will have PCI bus speeds emulated as closely as possible.<br>
 
Emulation of true PCI access should theoretically never be disabled but there can be possible degradation of performance when left enabled. <br>
 
Emulation of true PCI access should theoretically never be disabled but there can be possible degradation of performance when left enabled. <br>
 
Only some games require accurate emulation of the PCI bus, so in most cases PCI bus emulation should be left disabled.
 
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.
+
| 3Dfx Watermark
====Pointcast Palette driver build====
+
|| Shows the 3Dfx watermark in-game when enabled.
This option only affects Voodoo 2 cards, this should always be left disabled.
+
|-
====Force V-Sync====
+
| Pointcast Palette driver build
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.
+
|| This option only affects Voodoo 2 cards, this should always be left disabled.
 
+
|-
====16 bit depth buffer====
+
| Force V-Sync
Use only when Z-fighting occurs. Z-fighting can be better avoided with a 16-bit depth buffer, however artifacting can occur.
+
|| 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.
====3Dfx Splash screen====
+
|-
The 3Dfx splash screen is seen when an application starts, disabling this option prevents this animation from playing.
+
| 16 bit depth buffer
====Enable inactive app state====
+
|| Use only when Z-fighting occurs. Z-fighting can be better avoided with a 16-bit depth buffer, however artifacting can occur.
When an application loses focus, it may be desired to make the application go into an inactive state.
+
|-
 +
| 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==
 
==Configuring DirectX==
 +
{{Image|DgVoodoo 2 - DirectX settings.png|DirectX settings.}}
 
====Disable and passthru to real DirectX====
 
====Disable and passthru to real DirectX====
 
If dgVoodoo is not needed anymore or just temporarily, without removing dgVoodoo's DLLs this option will disable dgVoodoo's DirectX wrapper.
 
If dgVoodoo is not needed anymore or just temporarily, without removing dgVoodoo's DLLs this option will disable dgVoodoo's DirectX wrapper.
Line 207: Line 294:
  
 
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'.<br>
 
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'.<br>
''However'', the only '''full''' D3D9 compatible card is the Internal 3D Accelerated card.
+
However, the only full D3D9 compatible card is the Internal 3D Accelerated card.
  
 
====VRAM (Video Random Access Memory)====
 
====VRAM (Video Random Access Memory)====
 
The amount of emulated video memory of the selected video card can be changed with this option.<br>
 
The amount of emulated video memory of the selected video card can be changed with this option.<br>
Be '''careful''' though, DirectX 7 and older applications can fail to launch if the emulated VRAM is set '''higher''' than 256 MB.<br>
+
Be careful though, DirectX 7 and older applications can fail to launch if the emulated VRAM is set higher than 256 MB.<br>
 
Some games may require more VRAM to render textures at higher resolutions. There are also other advantages to increasing the VRAM.
 
Some games may require more VRAM to render textures at higher resolutions. There are also other advantages to increasing the VRAM.
  
Line 220: Line 307:
 
| dgVoodoo Virtual SVGA Card || 16 MB || 128 MB
 
| dgVoodoo Virtual SVGA Card || 16 MB || 128 MB
 
|-
 
|-
| dgVoodoo Virtual 3D Accelerated Card || 16 MB || 2048 MB
+
| dgVoodoo Virtual 3D Accelerated Card || 16 MB || 4096 MB
 
|-
 
|-
 
| GeForce 4 Ti 4800 || 64 MB || 256 MB
 
| GeForce 4 Ti 4800 || 64 MB || 256 MB
Line 229: Line 316:
 
|-
 
|-
 
| GeForce FX 5700 Ultra || 64 MB || 256 MB
 
| GeForce FX 5700 Ultra || 64 MB || 256 MB
 +
|-
 +
| GeForce 9800 GT || 512 MB || 1024 MB
 
|}
 
|}
  
===Texture Filtering===
+
===Texturing===
 +
 
 +
====Filtering====
 
{{mm}} See [[Glossary:Anisotropic filtering (AF)|Anisotropic filtering (AF)]] for relevant information.
 
{{mm}} See [[Glossary:Anisotropic filtering (AF)|Anisotropic filtering (AF)]] for relevant information.
 
{{ii}} Forcing texture filtering on an application can create glitches or break rendering effects.
 
{{ii}} Forcing texture filtering on an application can create glitches or break rendering effects.
{{ii}} GPU driver-forced global or per-app anisotropic filtering will override the dgVoodoo2 <code>Anisotropic</code> setting.
+
{{mm}} Anisotropic filtering forced trough display drivers will override the dgVoodoo2 setting.
 +
 
 
{| class="page-normaltable pcgwikitable" style="width:auto; min-width: 60%; max-width:900px; text-align: left;"
 
{| class="page-normaltable pcgwikitable" style="width:auto; min-width: 60%; max-width:900px; text-align: left;"
 
|-
 
|-
! style="min-width: 100px" | Filtering !! Description
+
! style="min-width: 100px" | Parameter !! Description
 
|-
 
|-
 
| '''App driven''' || The application will control the texture filtering quality. This is safest and the default option.
 
| '''App driven''' || The application will control the texture filtering quality. This is safest and the default option.
Line 252: Line 344:
 
|-
 
|-
 
|}
 
|}
{{ii}} Mipmapping can be disabled with the "No mipmapping" option below the filtering settings.
+
 
 +
====Mipmapping====
 +
{| class="page-normaltable pcgwikitable" style="width:auto; min-width: 60%; max-width:900px; text-align: left;"
 +
|-
 +
! style="min-width: 100px" | Parameter !! Description
 +
|-
 +
| '''Disabled''' || Disables mipmapping altogether.
 +
|-
 +
| '''App driven''' || The application will control the mipmapping setting. This is safest and the default option.
 +
|-
 +
| '''Auto-gen with point filter''' || Auto-generates mipmapped textures with point sampling.
 +
|-
 +
| '''Auto-gen with bilinear filter''' || Auto-generates mipmapped textures with bilinear sampling.
 +
|-
 +
| '''Force filter only if not point sampled''' || If enabled, then forced filtering affects only non-point sampled textures.
 +
|-
 +
|}
  
 
===Window Behaviour===
 
===Window Behaviour===
====Application controller fullscreen/windowed state====
+
{| class="page-normaltable pcgwikitable" style="width:auto; min-width: 30%; max-width:900px; text-align: left;"
Unticking this option will force the specified screen mode in the '''General''' tab.
+
|-
 
+
! style="min-width: 150px" | Parameter !! Description
====Disable Alt-Enter to toggle screen state====
+
|-
Disabling this option is recommended if the application already handles its window state via {{key|Alt+Enter}}. <br>
+
| 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 {{key|Alt+Enter}}
 
If this is not disabled and {{key|Alt+Enter}} is used for an application that utilizies it, then dgVoodoo will conflict with the application.
 
If this is not disabled and {{key|Alt+Enter}} is used for an application that utilizies it, then dgVoodoo will conflict with the application.
 +
|}
  
 
===Miscellaneous===
 
===Miscellaneous===
====Bi-linear blit stretch====
+
{| class="page-normaltable pcgwikitable" style="width:auto; min-width: 30%; max-width:900px; text-align: left;"
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.
+
|-
 
+
! style="min-width: 150px" | Parameter !! Description
====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.
+
| Bi-linear blit stretch
 
+
|| When enabled, linear filtering is applied for stretched copying between 2D surfaces (DirectDraw only). <br> Linear filtering is much nicer generally but can cause artifacts, especially with color-keyed blitting.<br> Early hardware did not support or apply point sampled blitting, which can end up with very pixelated results.
====Fast video memory access====
+
|-
Fast video memory access can speed up games like [[Toy Story 2: Buzz Lightyear to the Rescue|Toy Story 2]], but can also completely break others.  
+
| Force V-Sync
Fast video memory access is applied for locked surfaces.<br>
+
|| Vertical syncing is forced in all cases whenever the application window draws. However there is a performance penality when enabling V-Sync.
'''''Only''''' recommended to use if an application is performing slowly, despite system specifications
+
|-
 
+
| Fast video memory access
====Apply Phong shading when possible====
+
|| Fast video memory access is applied for locked surfaces.<br>
Phong shading is applied in place of Gouraud when it is possible.
+
Only recommended to use if an application is performing slowly, despite system specifications.<br>
 +
Fast video memory access can speed up games like [[Toy Story 2: Buzz Lightyear to the Rescue|Toy Story 2]], but can also completely break others.
 +
|-
 +
| 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.
 
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.
 
Do note though, using Phong shading requires much more GPU power than default shading.
 +
|-
 +
| dgVoodoo Watermark
 +
|| Shows the dgVoodoo watermark in-game when enabled.
 +
|}
  
====dgVoodoo Watermark====
+
==Hidden options and settings==
Disabling the watermark will remove the dgVoodoo text in the application that is using the wrapper.
 
 
 
==HUD and interface scaling on high resolutions==
 
{{Image|Starship Troopers Terran Ascendancy - interface scaling.png|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).}}
 
{{ii}} 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.
 
{{ii}} 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.
 
 
 
{{Fixbox|description=Instructions|ref=<ref name="Antrad">{{refcheck|user=Antrad|date=July 9, 2019}}</ref>|fix=
 
# Follow the instructions to setup dgVoodoo 2.
 
# Run the included <code>dgVoodooCpl</code> program and set the desired resolution under Glide or DirectX settings.
 
# 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'''
 
{{ii}} 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==
 
{{ii}} If there is no dgVoodoo configuration file in the same folder as the game, dgVoodoo will use global settings.
 
{{Fixbox|description=Instructions|ref=<ref name="Antrad">{{refcheck|user=Antrad|date=July 9, 2019}}</ref>|fix=
 
# Follow the instructions and copy the necessary files into the game installation folder.
 
# Run <code>dgVoodooCpl</code> program.
 
# Under ''Config folder/Running instance'' press ''Add'', then selected the game installation folder where the main game executable is located.
 
# Press ''Apply'' to create the configuration file in that folder to store settings for that game.
 
'''Notes'''
 
{{ii}} 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.
 
}}
 
 
 
==General Extended==
 
 
{{ii}} GeneralExt, GlideExt, DirectXExt and Debug are all hidden. Right-click on the dgVoodoo banner and tick "Show all sections of the configuration".
 
{{ii}} GeneralExt, GlideExt, DirectXExt and Debug are all hidden. Right-click on the dgVoodoo banner and tick "Show all sections of the configuration".
===Desktop properties===
+
{{ii}} Not recommended for usage by inexperienced users. A lot of the options are experimental or unstable for normal usage.
  
====Desktop resolution====
+
===General Extended===
The native resolution can be forced for dgVoodoo's internal calculations. <br>
+
{{Image|DgVoodoo 2 - GeneralExt settings.png|GeneralExt settings.}}
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 properties'''
 +
{| class="page-normaltable pcgwikitable" style="width:auto; min-width: 30%; max-width:900px; text-align: left;"
 +
|-
 +
! style="min-width: 150px" | Parameter !! Description
 +
|-
 +
| Desktop resolution || The native resolution can be forced for dgVoodoo's internal calculations.<br>
 +
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.
 +
|}
  
====Desktop bit depth====
+
'''Image output'''
The screen bit-depth that should be reported through dgVoodoo can be defined to a 8, 16, or 32 bit-depth level.
+
{| class="page-normaltable pcgwikitable" style="width:auto; min-width: 30%; max-width:900px; text-align: left;"
 +
|-
 +
! style="min-width: 150px" | 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.<br>
 +
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.<br>
 +
For e.g. {{Code|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 || Display Region Of Interest - If the scaling is handled by dgVoodoo, then a sub-rectangle of the output image to be displayed can be defined, which is coming from a wrapped API. The defined sub-rectangle is mapped to the display output according to the current scaling mode.<br>
 +
It can be useful for applications rendering a widescreen sub-image into a 4:3 resolution; in this case you can scale up that sub-image to (nearly) fill the whole screen on a widescreen monitor.
  
===Image output===
+
Manually entering values:<br>
 +
- Can be a proportion in form of {{Code|%d_%d}} or a pixel size {{Code|(%d|%d)}}<br>
 +
- Position sub-property is not mandatory and can be 'centered' or a pixel position {{Code|(%d|%d)}}<br>
 +
Examples: {{Code|16_9, pos:centered}} or {{Code|(320|200)}}, {{Code|pos:(10|10)}}
 +
|-
 +
| Force nearest<br> point filter || If the scaling is handled by dgVoodoo, then a resampling method can be selected. The more complex the filter is, the more computationally expensive it becomes.<br>
 +
Resampling methods listed in order of complexity:
 +
* Point sampled (unblurred pixels)
 +
* Bilinear  (smoothed)
 +
* Lanczos-2  (smoothed but sharper)
 +
* Bicubic    (smoothed but sharper)
 +
* Lanczos-3  (smoothed, sharpest)
 +
|}
  
====Integer scale factor====
+
'''Windowed mode attributes'''
The integer factor for scaling the out image coming from a wrapped API can be dictated from 1-5, or the maximum available. <br>
+
{| class="page-normaltable pcgwikitable" style="width:auto; min-width: 30%; max-width:900px; text-align: left;"
Integer scaling is always done with nearest point filtering, independent of the scale. <br>
+
|-
Custom integer scaling factors can be defined manually for horizontal and vertical scaling, for e.g. string x:3, y:2.
+
! style="min-width: 150px" | Parameter !! Description
 
+
|-
====Deframer size====
+
| Borderless || Forces the application to be borderless when it is set to windowed mode in the application's options.<br>
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).
+
This option is not to be confused with the "fake" option in the '''fullscreen mode attributes''' which forces borderless mode when the application is set to fullscreen mode in the application's options.
====Display ROI====
+
|-
====Force nearest point filter====
+
| Always on top || Forces the application window to remain always visible, despite other windows being in focus.
===Windowed mode attributes===
+
|-
 
+
| Fullscreen size || Any content in the application window will be the same in fullscreen mode, preserving potential black bars.<br>
====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.<br>
 
 
This is useful for achieving fake fullscreen mode (in conjunction with other relevant settings).
 
This is useful for achieving fake fullscreen mode (in conjunction with other relevant settings).
 +
|}
  
===Miscellaneous===
+
'''Fullscreen mode attributes'''
 +
{| class="page-normaltable pcgwikitable" style="width:auto; min-width: 30%; max-width:900px; text-align: left;"
 +
|-
 +
! style="min-width: 150px" | Parameter !! Description
 +
|-
 +
| Fake || Forces the application to be borderless when it is set to fullscreen mode in the application's options.<br>
 +
This option is not to be confused with the borderless option in the '''windowed mode attributes''' which forces borderless mode when the application is set to windowed mode in the application's options.
 +
|}
  
====Environment====
+
'''Miscellaneous'''
The software environment that dgVoodoo runs in can be changed from unspecified, DosBox and QEmu.
+
{| class="page-normaltable pcgwikitable" style="width:auto; min-width: 30%; max-width:900px; text-align: left;"
====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.
+
! style="min-width: 150px" | Parameter !! Description
====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.<br>
+
| Environment || The software environment that dgVoodoo runs in can be changed from unspecified, DosBox and QEmu.
Experimental feature, for the time being it's implemented ''only'' for DirectX emulation.
+
|-
 +
| FPS limit || You can enter an arbitrary integer or rational (fractional) value here.
 +
|-
 +
| 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.<br>
 +
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.<br>
 +
Experimental feature, for the time being it's implemented only for DirectX emulation.
 +
|-
 +
|}
  
==Glide Extended==
+
===Glide Extended===
{{ii}} GeneralExt, GlideExt, DirectXExt and Debug are all hidden. Right-click on the dgVoodoo banner and tick "Show all sections of the configuration".
+
{{Image|DgVoodoo 2 - GlideExt settings.png|GlideExt settings.}}
 +
'''Dithering'''
 +
{| class="page-normaltable pcgwikitable" style="width:auto; min-width: 30%; max-width:900px; text-align: left;"
 +
|-
 +
! style="min-width: 150px" | Parameter !! Description
 +
|-
 +
| Dithering || Defines when Glide dithering should take place.<br> 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.<br> 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:<br> 1 = normal size, 2 = double size, etc.<br> 0 = automatic (the aim is to have some retro feel and look).
 +
|}
  
===Dithering===
+
===DirectX Extended===
 +
{{Image|DgVoodoo 2 - DirectXExt settings.png|DirectXExt settings.}}
 +
'''Adapter properties'''
 +
{| class="page-normaltable pcgwikitable" style="width:auto; min-width: 30%; max-width:900px; text-align: left;"
 +
|-
 +
! style="min-width: 150px" | 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.<br> Can be defined only for SVGA and Internal 3D card types, the others have their own predefined vendor information.<br>
 +
You can refine various ID's (vendor device, subsys, revision) in the appropriate fields. Note that defining unmatching vendor ID's makes no sense.<br>
 +
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.<br>
 +
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 ||
 +
|}
  
====Dithering====
+
'''Enumerated resolutions'''
====Effect====
+
{| class="page-normaltable pcgwikitable" style="width:auto; min-width: 30%; max-width:900px; text-align: left;"
====Ordered matrix size scale====
+
|-
 +
! style="min-width: 150px" | Parameter !! Description
 +
|-
 +
| Defaults || Resolutions that should be reported to the application by default can be defined.
 +
* All: all resolutions the current display output is capable of + classic resolutions (e.g. 640x480).
 +
* Classic: classic resolutions only (e.g. 640x480, etc.).
 +
* None: no resolutions reported 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.
 +
|}
  
==DirectX Extended==
+
'''Dithering'''
{{ii}} GeneralExt, GlideExt, DirectXExt and Debug are all hidden. Right-click on the dgVoodoo banner and tick "Show all sections of the configuration".
+
{| class="page-normaltable pcgwikitable" style="width:auto; min-width: 30%; max-width:900px; text-align: left;"
 +
|-
 +
! style="min-width: 150px" | Parameter !! Description
 +
|-
 +
| Dithering || When the dithering effect should be applied:
 +
* Disabled: Disables dithering
 +
* App drive: The application controls dithering, recommended and default setting.
 +
* Force on 16-bit surfaces: Dithering is always forced to render 16-bit dithering.
 +
* Force always: Dithering is always forced.
 +
|-
 +
| Effect || Select the dithering effect
 +
* Pure 32-bit: Provides a fake effect, providing the best quality.
 +
* Ordered 2x2:
 +
* Ordered 4x4:
 +
|-
 +
| Dither matrix scale || Integer scale value for dither matrix size:
 +
* 0 Automatic:
 +
* 1: Normal scale
 +
* 2: Double scale
 +
* 3: Triple scale
 +
* 4: Quadruple scale
 +
|-
 +
|}
  
===Adapter properties===
+
'''Miscellaneous'''
====ID Type====
+
{| class="page-normaltable pcgwikitable" style="width:auto; min-width: 30%; max-width:900px; text-align: left;"
====Vendor ID====
+
|-
====Subsystem ID====
+
! style="min-width: 150px" | Parameter !! Description
====Device ID====
+
|-
====Revision ID====
+
| Depth buffers || Internal bit depth of depth/stencil buffers for 3D rendering. Forcing 32-bit is not recommended.
 
+
* App driven
===Enumerated resolutions===
+
* Force 24-bit as minimum
 
+
* Force 32-bit
====Defaults====
+
|-
====Extras====
+
| Max VS const registers || Maximum number of vertex shader constant registers (DirectX 8/9 only). The higher this value is, the lower the performance will be.<br>
====Enumerated bit depths====
+
Can only be defined for dgVoodoo SVGA and Internal 3D card types.
 
+
* 256 registers
===Dithering===
+
* 512 registers
 
+
* 1024 registers
====Dithering====
+
|-
====Effect====
+
| MS D3D device names || When enabled, the original Microsoft D3D device names are exposed for the GPU. Some applications check for original device names, which can fail when dgVoodoo device names are exposed.
====Dither matrix scale====
+
|-
 
+
| Smoothed depth sampling || Extra smoothing is added to depth textures when they are sampled.
===Miscellaneous===
+
|-
 
+
| Batched update for primary surface || If enabled, direct changes of the primary surface are batched together for presenting the surfaces.
====Depth buffers====
+
If disabled, then each change is instantly presented (debug-like mode).<br>
====Max VS const registers====
+
(DirectDraw only)
====MS D3D device names====
+
|-
====Smoothed depth sampling====
+
| Force scale & MSAA on RT textures || Forced resolution scaling and [[MSAA]] are also applied to render target textures.<br>
====Batched update for primary surface====
+
Disable this option if a game requires pixel-precise rendering.<br>
====Force scale & MSSA on RT textures====
+
Be careful as this setting can easily break certain things, not recommended.
====Deferred screen mode switch====
+
|-
 +
| Deferred screen mode switch || Fullscreen switching is deferred after the application initialized the DirectX device.<br>
 +
This can be useful for games that don't expect rendering window changes during initialization, causing the game to crash.
 +
|}
  
==Debug==
+
===Debug===
{{ii}} GeneralExt, GlideExt, DirectXExt and Debug are all hidden. Right-click on the dgVoodoo banner and tick "Show all sections of the configuration".
+
{{Image|DgVoodoo 2 - Debug settings.png|Debug settings.}}
 
+
'''Debugging'''
===Debugging===
 
 
{{ii}} These options only affect debug and spec-release builds of dgVoodoo
 
{{ii}} These options only affect debug and spec-release builds of dgVoodoo
 +
{{ii}} There exists a "Log to file" option, but it is currently unimplemented.
  
====INFO Message Severity====
+
{| class="page-normaltable pcgwikitable" style="width:auto; min-width: 30%; max-width:900px; text-align: left;"
====WARNING Message Severity====
+
|-
====ERROR Message Severity====
+
! style="min-width: 150px" | Parameter !! Description
====Maximum trace level====
+
|-
====Log to file====
+
| Message Severity ||  The severity of '''INFO''', '''WARNING''', and '''ERROR''' type messages can be:
 +
* Disabled: Won't appear in the debug output.
 +
* Enabled: Will appear on the debug output.
 +
* Enabled with debugger break: When a message is emitted, a debugger-break also takes place.
 +
|-
 +
| Maximum trace level || Maximum trace level can be:
 +
* Disabled: No trace message entries are emitted.
 +
* API function and method calls are logged.
 +
* API calls are logged along with some additional internal info.
 +
|}
  
 
{{References}}
 
{{References}}
 +
 +
[[Category:System abstraction]]

Latest revision as of 20:10, 6 April 2024

dgVoodoo 2
dgVoodoo 2 cover
Developers
Dege
Release dates
Windows 2013

dgVoodoo 2 is a graphics wrapper that converts old graphics APIs to Direct3D 11 or Direct3D 12 (as of version 2.7) for use on Windows 7 or newer. The wrapper fixes many compatibility and rendering issues when running old games on modern systems as well as enables the use of various overrides and enhancements, and third-party tools such as ReShade to enhance or improve the gaming experience.

As of version 2.7 the wrapper supports Glide 2.11, 2.54, 3.10, and 3.10 Napalm APIs, as well as all DirectDraw, and Direct3D APIs up to and including D3D9.[1]

Note that Direct3D (shortened to D3D) is the 3D rendering API of the corresponding DirectX suite of the same number.
While dgVoodoo and this page use the "DirectX" terminology in various places, it is specifically referring to the corresponding DirectDraw or Direct3D rendering APIs.

General information

Official forum
Official repository

Availability

Source DRM Notes Keys OS
Official website
DRM-free
Windows
Developer website
DRM-free
GitHub
Windows

Installation

DirectX 1-7

Installation instructions[2]
Some games might refuse to load dgVoodoo's DDraw.dll from their folder. Apply this workaround.
  1. Download the latest version of dgVoodoo 2 and extract the archive.
  2. Copy dgVoodooCpl.exe, dgVoodoo.conf, D3DImm.dll and DDraw.dll into the game installation folder where the game executable is located.
  3. Optional: Run the included dgVoodooCpl.exe program and configure the settings.

DirectX 8

For some Direct3D 8 games, D3DImm.dll and/or DDraw.dll might also be required, if the game uses those APIs for other tasks, e.g. playing videos, etc. Try the game without these files first.
Installation instructions
  1. Download the latest version of dgVoodoo 2 and extract the archive.
  2. Copy dgVoodooCpl.exe, dgVoodoo.conf and D3D8.dll into the game installation folder where the game executable is located.
  3. Optional: Run the included dgVoodooCpl.exe program and configure the settings.

DirectX 9

Installation instructions[2]
  1. Download the latest version of dgVoodoo 2 and extract the archive.
  2. Copy dgVoodooCpl.exe, dgVoodoo.conf and D3D9.dll (for 32-bit games from the MS\x86 folder, and for 64-bit games from the MS\x64 folder) into the game installation folder where the game executable is located.
  3. Optional: Run the included dgVoodooCpl.exe program and configure the settings.

Glide

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

Glide 3.10 Napalm

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. Copy dgVoodooCpl.exe, dgVoodoo.conf, and from the 3Dfx\x86\Napalm folder Glide3x.dll, into the game installation folder where the game executable is located.
  3. Optional: Run the included dgVoodooCpl.exe program and configure the settings.

Glide QEmu (x64)

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. Copy dgVoodooCpl.exe, dgVoodoo.conf, and from the 3Dfx\x64 folder Glide.dll, Glide2x.dll and Glide3x.dll, into the game installation folder where the game executable is located.
  3. Optional: Run the included dgVoodooCpl.exe program and configure the settings.

Linux (Wine) configuration

Linux requires declaring DLL overrides for every dgVoodoo 2 DLL you copy to the game directory - unlike nGlide, which works out of the box, dgVoodoo 2 needs configuring the DLL overrides in order to work.
Installation instructions[3]
  1. Download the latest version of dgVoodoo 2 and extract the archive.
  2. Open the dgVoodoo 2 folder where you extracted the files, and then copy the dgVoodooCpl.exe, dgVoodoo.conf and necessary DLL files to the game directory (inside the Wine virtual drive, where the game executables are located).
  3. Add the DLL overrides:
  • For using Wine directly through terminal and for non-Lutris frontends, open the Wine configurator for the virtual drive where the game is installed, navigate to the "Libraries" tab, type the DLL file names you copied (without the .dll extension, you only need to type the names of DLLs you copied - ignore the ones you didn't copy), click "Add", find the added DLL names in the box below the one where you added the names, scroll down until you find the names, select the DLL, click "Edit", then change the "Load order" to "Native"; do this for every DLL you added. Save the changes once you're done.
  • For Lutris, right-click the game, click "Configure", navigate to the "Runner options" tab, scroll down until you see the "DLL overrides" section, then press the "Add" button, after which a new row will be created and already selected for you (indicated by the orange color of the newly-created row). Since the row is already selected when you add it, you only need click either the "Key" or the "Value" empty box once. Click the left, smaller box, that corresponds to the "Key" column, type the DLL name (without the .dll extension), then click the bigger empty box on the right, the box that corresponds to the "Value" column, and the DLL name you entered will be saved. Next, while the "Value" box is selected, type a single letter there - the letter "n" (don't type the quotation marks, just the letter n) - and then press Enter; if you don't press Enter it will not save the "n". Repeat the process for every DLL you copied. Click the green "Save" button once you're done. Note: you can also use Wine configurator with Lutris if you prefer that method.
  1. Optional: To add the 3Dfx splash screen, don't use the DLLs from the dgVoodoo 2 download page; I couldn't get them to work. Instead, download the nGlide installer executable and open it as an archive. Extract the three splash DLLs and place them in the splash folder where you extracted dgVoodoo 2 for easy access. Copy the splash DLLs along with Glide DLLs to the game directory and that's it. The nGlide DLLs don't need overrides, so just copy them and you're done.
  2. Optional: Run the included dgVoodooCpl.exe program (in Lutris, click the up arrow near the logo of a picture and click "Run EXE inside Wine prefix", navigate to the folder with the dgVoodoo 2 configurator and select it) and configure the settings.

Game data

Configuration file(s) location

System Location
Windows %APPDATA%\dgVoodoo\
<path-to-game>\dgVoodoo.conf[Note 1]
Since version 2.6, dgVoodoo.conf is a plain text file and can be edited directly using a text editor.
A few advanced features are not available through the configuration tool but can be set manually in these config files.

Game specific configuration files

If there is no dgVoodoo configuration file in the same folder as the game executable, dgVoodoo will use global settings.
Instructions[2]
  1. Follow the installation instructions and copy the necessary files into the game install folder along with the dgVoodooCpl.exe configuration tool.
  2. Launch the configuration tool.
  3. Under Config folder/Running instance press Add, then select the game install 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.

Video

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

Display resolution

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 app's 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 app's 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 app's resolution will be used; QHD (2560x1440); 1440p.
Resolution Resolutions from 640x480 up to the current display's native resolution can be forced.

Anti-aliasing (AA)

dgVoodoo 2 can force both MSAA as well as SSAA though this might cause graphical artifacts in some games.
Force SSAA:[4]
  1. Install dgVoodoo 2 for the game along with the dgVoodooCpl.exe configuration tool.
  2. Launch the configuration tool.
  3. On the General tab set the Scaling mode to Stretched, keep aspect ratio as this will ensure that dgVoodoo will downsample any higher resolution.
  4. Open the relevant graphics API tab and set the desired resolution.
  5. Click on Apply to save the changes and OK to close the configuration tool.
Force MSAA:
  1. Install dgVoodoo 2 for the game along with the dgVoodooCpl.exe configuration tool.
  2. Launch the configuration tool.
  3. Open the relevant graphics API tab and change the Antialiasing (MSAA) option:
    • Off disables any built-in MSAA the game might use. For DirectX applications, this only affects DirectX 8 and above.
    • App driven allows the application to control the MSAA amount. This is the default and most compatible option.
    • 2x, 4x, 8x forces the selected anti-aliasing (MSAA) amount.
  4. Click on Apply to save the changes and OK to close the configuration tool.

Vertical sync (Vsync)

Force vertical sync for a game:
  1. Install dgVoodoo 2 for the game along with the dgVoodooCpl.exe configuration tool.
  2. Launch the configuration tool.
  3. Select the relevant rendering API tab, Glide or DirectX.
  4. Enable the Force vSync option.
  5. Click on Apply to save the changes and OK to close the configuration tool.

High dynamic range (HDR)

dgVoodoo 2 can enable the use of Windows 11's Auto HDR feature for older games that otherwise does not support HDR.
Enable Windows 11's Auto HDR feature, then install dgVoodoo 2 for the game.

HUD and interface scaling on high resolutions

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 will have mouse and/or rendering issues when resolution is being forced.
Instructions[2]
  1. Follow the instructions to setup dgVoodoo 2.
  2. Run the included dgVoodooCpl.exe 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 2, but has the same aspect ratio. The smaller the resolution selected in game, the bigger will interface/HUD be rendered on screen. For example, set the resolution in the game's options to 1280x720 and set dgVoodoo 2's resolution to 3840x2160.

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.

Configuring Glide

Glide settings.
Glide settings.

3Dfx card

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

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

DirectX settings.
DirectX settings.

Disable and passthru to real DirectX

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

Videocard

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)

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 4096 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
GeForce 9800 GT 512 MB 1024 MB

Texturing

Filtering

See Anisotropic filtering (AF) for relevant information.
Forcing texture filtering on an application can create glitches or break rendering effects.
Anisotropic filtering forced trough display drivers will override the dgVoodoo2 setting.
Parameter 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

Parameter Description
Disabled Disables mipmapping altogether.
App driven The application will control the mipmapping setting. This is safest and the default option.
Auto-gen with point filter Auto-generates mipmapped textures with point sampling.
Auto-gen with bilinear filter Auto-generates mipmapped textures with bilinear sampling.
Force filter only if not point sampled If enabled, then forced filtering affects only non-point sampled textures.

Window Behaviour

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

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 is applied for locked surfaces.

Only recommended to use if an application is performing slowly, despite system specifications.
Fast video memory access can speed up games like Toy Story 2, but can also completely break others.

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 Shows the dgVoodoo watermark in-game when enabled.

Hidden options and settings

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

GeneralExt settings.
GeneralExt settings.

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. 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 Display Region Of Interest - If the scaling is handled by dgVoodoo, then a sub-rectangle of the output image to be displayed can be defined, which is coming from a wrapped API. The defined sub-rectangle is mapped to the display output according to the current scaling mode.

It can be useful for applications rendering a widescreen sub-image into a 4:3 resolution; in this case you can scale up that sub-image to (nearly) fill the whole screen on a widescreen monitor.

Manually entering values:
- Can be a proportion in form of %d_%d or a pixel size (%d
- Position sub-property is not mandatory and can be 'centered' or a pixel position (%d
Examples: 16_9, pos:centered or (320, pos:(10

Force nearest
point filter
If the scaling is handled by dgVoodoo, then a resampling method can be selected. The more complex the filter is, the more computationally expensive it becomes.

Resampling methods listed in order of complexity:

  • Point sampled (unblurred pixels)
  • Bilinear (smoothed)
  • Lanczos-2 (smoothed but sharper)
  • Bicubic (smoothed but sharper)
  • Lanczos-3 (smoothed, sharpest)

Windowed mode attributes

Parameter Description
Borderless Forces the application to be borderless when it is set to windowed mode in the application's options.

This option is not to be confused with the "fake" option in the fullscreen mode attributes which forces borderless mode when the application is set to fullscreen mode in the application's options.

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).

Fullscreen mode attributes

Parameter Description
Fake Forces the application to be borderless when it is set to fullscreen mode in the application's options.

This option is not to be confused with the borderless option in the windowed mode attributes which forces borderless mode when the application is set to windowed mode in the application's options.

Miscellaneous

Parameter Description
Environment The software environment that dgVoodoo runs in can be changed from unspecified, DosBox and QEmu.
FPS limit You can enter an arbitrary integer or rational (fractional) value here.
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

GlideExt settings.
GlideExt settings.

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

DirectXExt settings.
DirectXExt settings.

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 reported to the application by default can be defined.
  • All: all resolutions the current display output is capable of + classic resolutions (e.g. 640x480).
  • Classic: classic resolutions only (e.g. 640x480, etc.).
  • None: no resolutions reported 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 When the dithering effect should be applied:
  • Disabled: Disables dithering
  • App drive: The application controls dithering, recommended and default setting.
  • Force on 16-bit surfaces: Dithering is always forced to render 16-bit dithering.
  • Force always: Dithering is always forced.
Effect Select the dithering effect
  • Pure 32-bit: Provides a fake effect, providing the best quality.
  • Ordered 2x2:
  • Ordered 4x4:
Dither matrix scale Integer scale value for dither matrix size:
  • 0 Automatic:
  • 1: Normal scale
  • 2: Double scale
  • 3: Triple scale
  • 4: Quadruple scale

Miscellaneous

Parameter Description
Depth buffers Internal bit depth of depth/stencil buffers for 3D rendering. Forcing 32-bit is not recommended.
  • App driven
  • Force 24-bit as minimum
  • Force 32-bit
Max VS const registers Maximum number of vertex shader constant registers (DirectX 8/9 only). The higher this value is, the lower the performance will be.

Can only be defined for dgVoodoo SVGA and Internal 3D card types.

  • 256 registers
  • 512 registers
  • 1024 registers
MS D3D device names When enabled, the original Microsoft D3D device names are exposed for the GPU. Some applications check for original device names, which can fail when dgVoodoo device names are exposed.
Smoothed depth sampling Extra smoothing is added to depth textures when they are sampled.
Batched update for primary surface If enabled, direct changes of the primary surface are batched together for presenting the surfaces.

If disabled, then each change is instantly presented (debug-like mode).
(DirectDraw only)

Force scale & MSAA on RT textures Forced resolution scaling and MSAA are also applied to render target textures.

Disable this option if a game requires pixel-precise rendering.
Be careful as this setting can easily break certain things, not recommended.

Deferred screen mode switch Fullscreen switching is deferred after the application initialized the DirectX device.

This can be useful for games that don't expect rendering window changes during initialization, causing the game to crash.

Debug

Debug settings.
Debug settings.

Debugging

These options only affect debug and spec-release builds of dgVoodoo
There exists a "Log to file" option, but it is currently unimplemented.
Parameter Description
Message Severity The severity of INFO, WARNING, and ERROR type messages can be:
  • Disabled: Won't appear in the debug output.
  • Enabled: Will appear on the debug output.
  • Enabled with debugger break: When a message is emitted, a debugger-break also takes place.
Maximum trace level Maximum trace level can be:
  • Disabled: No trace message entries are emitted.
  • API function and method calls are logged.
  • API calls are logged along with some additional internal info.


Notes

  1. When running this game without elevated privileges (Run as administrator option), write operations against a location below %PROGRAMFILES%, %PROGRAMDATA%, or %WINDIR% might be redirected to %LOCALAPPDATA%\VirtualStore on Windows Vista and later (more details).

References

  1. http://dege.fw.hu/
  2. 2.0 2.1 2.2 2.3 2.4 2.5 2.6 Verified by User:Antrad on July 9, 2019
  3. Verified by User:Vjb on March 3, 2023
  4. VOGONS - SSAA possible? - last accessed on 2023-01-08