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)
 
(49 intermediate revisions by 17 users not shown)
Line 7: Line 7:
 
|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  =  
 
|steam appid side =  
 
|steam appid side =  
 +
|official site= http://dege.fw.hu/dgVoodoo2/
 
|license      = freeware
 
|license      = freeware
 
}}
 
}}
 +
{{Category:System abstraction}}
 +
{{Tocbox}}
  
'''Key points'''
+
{{Introduction
{{ii}} 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/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 enabling the usage of various overrides and enhancements.
 
{{++}} Enables the use of third-party tools, such as [[ReShade]], to enhance or improve the gaming experience.
 
{{--}} Has major issues wtih AMD Graphic Drivers
 
  
'''General information'''
+
|release history  =
{{mm}} [http://dege.freeweb.hu/ Official website]
+
 
{{mm}} [https://github.com/dege-diosg/dgVoodoo2/releases Official download repository]
+
|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>
{{mm}} [https://www.vogons.org/viewforum.php?f=59 Development and support forum]
 
  
==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.10
 
* Glide 3.10 Napalm
 
* DirectX 2-7
 
* DirectX 8-8.1
 
* DirectX 9 (as of version 2.6)
 
  
===Configuration file(s) location===
+
'''General information'''
{{Game data|
+
{{mm}} [https://www.vogons.org/viewforum.php?f=59 Official forum]
{{Game data/config|Windows|{{P|appdata}}\dgVoodoo\|{{p|game}}\dgVoodoo.conf}}
+
{{mm}} [https://github.com/dege-diosg/dgVoodoo2 Official repository]
}}
 
  
===Game specific configuration files===
+
==Availability==
{{ii}} If there is no dgVoodoo configuration file in the same folder as the game executable, dgVoodoo will use global settings.
+
{{Availability|
{{Fixbox|description=Instructions|ref=<ref name="Antrad">{{refcheck|user=Antrad|date=July 9, 2019}}</ref>|fix=
+
{{Availability/row| official  | https://dege.fw.hu/dgVoodoo2/dgVoodoo2/          | DRM-Free |       | | Windows }}
# Follow the installation instructions and copy the necessary files into the game install folder.
+
{{Availability/row| developer | https://github.com/dege-diosg/dgVoodoo2/releases | DRM-Free | GitHub |  | Windows }}
# Run <code>dgVoodooCpl</code> program.
 
# 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.
 
'''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.
 
 
}}
 
}}
  
 
==Installation==
 
==Installation==
  
===DirectX 2-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/dgVoodoo2/dgVoodoo2/ 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 <code>D3D8.dll</code>, <code>D3DImm.dll</code> and <code>DDraw.dll</code> 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 2-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/dgVoodoo2/dgVoodoo2/ 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 <code>D3D9.dll</code> 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/dgVoodoo2/dgVoodoo2/ 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 <code>Glide.dll</code>, <code>Glide2x.dll</code> and <code>Glide3x.dll</code> 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.
 
 
}}
 
}}
  
Line 81: Line 84:
 
{{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/dgVoodoo2/dgVoodoo2/ 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 <code>Glide3x.dll</code> 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/dgVoodoo2/dgVoodoo2/ 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 <code>Glide.dll</code>, <code>Glide2x.dll</code> and <code>Glide3x.dll</code> 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>
 +
}}
 +
 
 +
==Game data==
 +
 
 +
===Configuration file(s) location===
 +
{{Game data|
 +
{{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.
 
}}
 
}}
  
==Common Glide & DirectX graphics settings==
+
==Video==
 
{{Image|DgVoodoo 2 - General settings.png|General settings.}}
 
{{Image|DgVoodoo 2 - General settings.png|General settings.}}
 
{{ii}} The resolution and anti-aliasing options are relevant to both Glide and DirectX.
 
{{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.
+
===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 113: 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.}}
 
{{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 224: 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 237: 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 246: 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 269: 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===
Line 290: Line 381:
 
|-
 
|-
 
| Bi-linear blit stretch
 
| 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.
+
|| 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.
 
|-
 
|-
 
| Force V-Sync
 
| Force V-Sync
Line 297: Line 388:
 
| Fast video memory access
 
| Fast video memory access
 
|| Fast video memory access is applied for locked surfaces.<br>
 
|| Fast video memory access is applied for locked surfaces.<br>
'''''Only''''' recommended to use if an application is performing slowly, despite system specifications.<br>
+
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.
 
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.
 
|-
 
|-
Line 321: Line 412:
 
|-
 
|-
 
| Desktop resolution || The native resolution can be forced for dgVoodoo's internal calculations.<br>
 
| 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.
+
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 || The screen bit-depth that should be reported through dgVoodoo can be defined to a 8, 16, or 32 bit-depth level.
Line 333: Line 424:
 
| 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 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>
 
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</code>
+
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).
 
| 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>
 
| 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.<br><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.
 +
 
 
Manually entering values:<br>
 
Manually entering values:<br>
- Can be a proportion in form of <code>%d_%d</code> or a pixel size <code>(%d|%d)</code><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)</code><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</code> or <code>(320|200)</code>, <code>pos:(10|10)</code>
+
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>
 
| 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:<br>
+
Resampling methods listed in order of complexity:
* Point sampled (unblurred pixels)<br>
+
* Point sampled (unblurred pixels)
* Bilinear  (smoothed)<br>
+
* Bilinear  (smoothed)
* Lanczos-2  (smoothed but sharper)<br>
+
* Lanczos-2  (smoothed but sharper)
* Bicubic    (smoothed but sharper)<br>
+
* Bicubic    (smoothed but sharper)
 
* Lanczos-3  (smoothed, sharpest)
 
* Lanczos-3  (smoothed, sharpest)
 
|}
 
|}
Line 358: Line 450:
 
! style="min-width: 150px" | Parameter !! Description
 
! style="min-width: 150px" | Parameter !! Description
 
|-
 
|-
| Borderless || Forces the application window to be borderless.
+
| Borderless || Forces the application to be borderless when it is set to windowed mode in the application's options.<br>
 +
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.
 
| Always on top || Forces the application window to remain always visible, despite other windows being in focus.
Line 364: Line 457:
 
| Fullscreen size || Any content in the application window will be the same in fullscreen mode, preserving potential black bars.<br>
 
| 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).
 +
|}
 +
 +
'''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.
 
|}
 
|}
  
Line 372: Line 474:
 
|-
 
|-
 
| Environment || The software environment that dgVoodoo runs in can be changed from unspecified, DosBox and QEmu.
 
| 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.<br>
 
| 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>
Line 377: Line 481:
 
|-
 
|-
 
| 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>
 
| 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.
+
Experimental feature, for the time being it's implemented only for DirectX emulation.
 
|-
 
|-
 
|}
 
|}
Line 421: Line 525:
 
! style="min-width: 150px" | Parameter !! Description
 
! style="min-width: 150px" | Parameter !! Description
 
|-
 
|-
| Defaults || Resolutions that should be reported to the application by default can be defined.<br>
+
| 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).<br>
+
* All: all resolutions the current display output is capable of + classic resolutions (e.g. 640x480).
* Classic: classic resolutions only (e.g. 640x480, etc.).<br>
+
* 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).
 
* None: no resolutions reported by default (make sure to define a custom resolution in the Extras field).
 
|-
 
|-
Line 436: Line 540:
 
! style="min-width: 150px" | Parameter !! Description
 
! style="min-width: 150px" | Parameter !! Description
 
|-
 
|-
| Dithering || When the dithering effect should be applied:<br>
+
| Dithering || When the dithering effect should be applied:
* Disabled: Disables dithering<br>
+
* Disabled: Disables dithering
* App drive: The application controls dithering, recommended and default setting.<br>
+
* App drive: The application controls dithering, recommended and default setting.
* Force on 16-bit surfaces: Dithering is always forced to render 16-bit dithering.<br>
+
* Force on 16-bit surfaces: Dithering is always forced to render 16-bit dithering.
 
* Force always: Dithering is always forced.
 
* Force always: Dithering is always forced.
 
|-
 
|-
 
| Effect || Select the dithering effect
 
| Effect || Select the dithering effect
* Pure 32-bit: Provides a fake effect, providing the best quality.<br>
+
* Pure 32-bit: Provides a fake effect, providing the best quality.
* Ordered 2x2: <br>
+
* Ordered 2x2:  
 
* Ordered 4x4:  
 
* Ordered 4x4:  
 
|-
 
|-
 
| Dither matrix scale || Integer scale value for dither matrix size:
 
| Dither matrix scale || Integer scale value for dither matrix size:
* 0 Automatic: <br>
+
* 0 Automatic:  
* 1: Normal scale<br>
+
* 1: Normal scale
* 2: Double scale<br>
+
* 2: Double scale
* 3: Triple scale<br>
+
* 3: Triple scale
* 4: Quadruple scale<br>
+
* 4: Quadruple scale
 
|-
 
|-
 
|}
 
|}
Line 461: Line 565:
 
! style="min-width: 150px" | Parameter !! Description
 
! style="min-width: 150px" | Parameter !! Description
 
|-
 
|-
| Depth buffers || Internal bit depth of depth/stencil buffers for 3D rendering. Forcing 32-bit is not recommended.<br>
+
| Depth buffers || Internal bit depth of depth/stencil buffers for 3D rendering. Forcing 32-bit is not recommended.
 
* App driven
 
* App driven
 
* Force 24-bit as minimum
 
* Force 24-bit as minimum
Line 480: Line 584:
 
(DirectDraw only)
 
(DirectDraw only)
 
|-
 
|-
| Force scale & MSSA on RT textures || Forced resolution scaling and MSAA are also applied to render target textures.<br>
+
| Force scale & MSAA on RT textures || Forced resolution scaling and [[MSAA]] are also applied to render target textures.<br>
 
Disable this option if a game requires pixel-precise rendering.<br>
 
Disable this option if a game requires pixel-precise rendering.<br>
Be careful as this setting can '''easily''' break certain things, '''not''' recommended.
+
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.<br>
 
| Deferred screen mode switch || Fullscreen switching is deferred after the application initialized the DirectX device.<br>
Line 492: Line 596:
 
'''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 <code>Log to file</code> option, but it is currently unimplemented.
+
{{ii}} There exists a "Log to file" option, but it is currently unimplemented.
 +
 
 
{| class="page-normaltable pcgwikitable" style="width:auto; min-width: 30%; max-width:900px; text-align: left;"
 
{| class="page-normaltable pcgwikitable" style="width:auto; min-width: 30%; max-width:900px; text-align: left;"
 
|-
 
|-
 
! style="min-width: 150px" | Parameter !! Description
 
! style="min-width: 150px" | Parameter !! Description
 
|-
 
|-
| Message Severity ||  The severity of '''INFO, WARNING, '''and '''ERROR''' type messages can be:
+
| Message Severity ||  The severity of '''INFO''', '''WARNING''', and '''ERROR''' type messages can be:
 
* Disabled: Won't appear in the debug output.
 
* Disabled: Won't appear in the debug output.
 
* Enabled: Will appear on the debug output.
 
* Enabled: Will appear on the debug output.
Line 508: Line 613:
 
|}
 
|}
  
==HUD and interface scaling on high resolutions==
+
{{References}}
{{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 <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.
 
}}
 
  
{{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