DgVoodoo basically can work in two ways: Using its precompiled shaders - it is the less efficient mode (legacy) and doesn't provide DX8-level vertex/pixel pipeline functionality. Using an external HLSL shader compiler - this is the most efficient and recommended mode and referred as 'dynamic shader compiling'. A: dgVoodoo reads the configuration from a config file named dgVoodoo.conf. How to create one? Well, while dgVoodoo now has a human readable text format config file, you also have the dgVoodoo Control Panel application to render and modify the content of those config files in a convenient GUI way. DgVoodoo Downloads:: dgVoodoo is a Glide Wrapper that implements Glide 2.11 and Glide 2.43 API by using DirectX. DgVoodoo provides support to run Windows-based and DOS-based applications using Glide, and it can also emulate VESA 2.0 for DOS applications.
Configuring dgVoodoo You can configure dgVoodoo by running the dgVoodooSetup.exe program from within your games installation folder. Technically this program doesn’t need to be in your games installation folder, but it is the easiest way to use it. Run the program and the following window will appear.
Jedi Knight is a fascinating game with a lot of cool mods out there for it. It also runs like a one-legged dog on modern PCs, lacking 3D acceleration support and having a host of other issues getting in the way. Recently I found myself scrabbling to get these games working on my new Windows 10 box, and looking at the discussion forums on the online stores selling the game, I found a lot of people in the same boat, so I thought I'd put together what worked for me and explain it all nicely like. The GOG and Steam versions have their own well-meaning but ultimately unfinished fixes, meaning that these versions will also benefit from this as well (I tested this personally on the Steam versions.)
- The Alternate Installer, if you're installing from a physical copy of the game. The original discs installers are 16-bit, meaning that they won't function with 64-bit Operating Systems.
- The Unofficial Patches, pre-setup and with the CD checks removed in order to support the digital re-releases.
- dgVoodoo, a wrapper/general purpose toolkit for un-fucking a wide variety of problems with old video stuff via DX10. Your browser might complain that it's a virus (I assure you it ain't) so you might need to fart about to get it downloaded.
- A general willingness to fart around in Explorer and unzip files into folders.
A BRIEF NOTE BEFORE WE START: I used the Steam version of the game for this guide, as that's what I had installed at the time. I can't vouch for the GOG version, but it's probably pretty similar. The physical release will likely require a little leg-work to rip the CD Audio and get it working without a CD. |
Right, let's get into it. Grab the Unofficial Patches we picked up earlier, and unzip them into the appropriate folder. Overwrite any files it asks for. If you're using the Steam version, the original EXE file has been renamed by Disney for unknown, nebulous reasons (ie. from jk.exe to JediKnight.exe). Just rename the patched EXE to match that. (You'll want to rename the original EXE in case you need it later. You probably won't, but it can't hurt, right?)
The new patched EXE, sitting next to the renamed original EXE (which has a newer timestamp. shh.) |
Next up! Fixing 3D Acceleration. We'll be using dgVoodoo for this. Open the dgVoodoo zip, and extract the exe file to your Jedi Knight install folder. Next, open the 'MS' subdirectory and dump the contents of that into the install folder too. Now, run dgVoodooCpl.exe.
(Figure 4.2: 'Portrait of the dgVoodoo Interface as a Young Man') |
First thing's first, hit the '.' button to set the config location properly. This is important! Next up..
- In the 'General' tab, check the 'Windowed' radio button, and uncheck 'Capture Mouse'.
- Ignore the 'Glide' tab. It's not relevant to Jedi Knight.
- In the 'DirectX' tab, uncheck 'Application Controlled Fullscreen/Windowed State', set 'Resolution' to whatever you please, and uncheck 'dgVoodoo Watermark' because why the hell would you want that? You'll probably also want to set your ingame resolution to what you set in dgVoodoo, to avoid wobbly polygons in-game.
Finally, hit Apply, and you're one step away from finishing things off. Guitar rig download.
The last thing left to do is simple - create a shortcut to your JediKnight.exe (or jk.exe or whatever) and give it the command line argument '-windowgui'. This will handle the 2D menus differently from the rest of the game, as a low-res window, fixing some annoying issues that would have otherwise made navigating the menus an exercise in frustration.
The command line parameter, entered in all nicely like. |
AND THAT'S A WRAP!
Now you can play Jedi Knight in a nice window on a modern PC without the horrifying issues of the current digital releases.
(Click for larger images. 1024x768 large, in fact, so probably 56k unfriendly) |
Just because we've gotten the game running doesn't mean we have to stop there. I mean, why are we doing this, to actually have something to play or just to while away endless hours fiddling with stuff?
DIRECTPLAGUE
Depending on where and how you got and installed your copy of the game (I believe the Steam version handles this the first time you try and run it through the Steam client), you may receive an error message upon trying to start the game complaining about the lack of DirectPlay, the long-depreciated API used to handle online multiplayer in Jedi Knight. Here's how to fix that.
Click your Start icon, and type 'features'. The first result should be 'Turn Windows Features On and Off'. Click that. When the window pops up, click the '+' icon next to 'Legacy Features', then tick the 'DirectPlay' box. You'll probably have to restart after doing this. Maybe.
The box you have to tick. |
This should hopefully solve this particular problem.
MYSTERIOUSER AND MYSTERIOUSER
The Unofficial Patch zip we downloaded early also included a patch for the Mysteries of the Sith expansion pack. Much the same process applies to that game, so more or less repeat the instructions to get that game working as well.
(Click for larger images as evidence that I actually did this and aren't just messing with you) |
CAUTION: HEAVY LOD
'High Definition' mod packs are almost always a bad bet with old games like this. A better alternative is the High Detail Mod for JK and MOTS, which simply tweaks the maps to disable the overly aggressive LOD system where everything that's further than six feet from your face becomes a blurry, seven-polygon mess. Highly recommended!
(Image Credit: Osprey) |
- The GOG and Steam forums for giving me lots of leads to endlessly chase.
- Osprey for compiling the appropriate Unofficial Patch files conveniently together, as well as creating the LOD mod
- dege for creating the awesome dgVoodoo, as ever
Go Back, Foul Demon! | To the Top | Get in Touch |
Developers | |
---|---|
Release dates | |
Windows | 2013 |
Key points
- 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.
- 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.
General information
- Official website
- Official download repository
- Development and support forum
- 1General information
- 2Installation
- 3Common Glide & DirectX graphics settings
- 4Configuring Glide
- 5Configuring DirectX
- 5.2Videocard
- 6Hidden options and settings
General information[edit]
API support[edit]
- The following graphics API libraries are implemented[1]
- 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[edit]
System | Location |
---|---|
Windows | %APPDATA%dgVoodoo[Note 1] <path-to-game>dgVoodoo.conf |
Game specific configuration files[edit]
- If there is no dgVoodoo configuration file in the same folder as the game executable, dgVoodoo will use global settings.
Instructions[2] |
---|
Notes
|
Installation[edit]
DirectX 2-8[edit]
Installation instructions[2] |
---|
|
DirectX 9[edit]
- DirectX 9 support has been added in version 2.6 and is still very early in development compared to DirectX 2-8.
Installation instructions[2] |
---|
|
Glide[edit]
Installation instructions[2] |
---|
|
Glide 3.10 Napalm[edit]
- Napalm should only be used for Glide 3 games where the regular Glide 3 library is too slow.
Installation instructions[2] |
---|
|
Glide QEmu (x64)[edit]
- The QEmu versions of the Glide libraries are intended for usage only with the 64-bit QEmu multiplatform virtualization tool.
Installation instructions[2] |
---|
|
Common Glide & DirectX graphics settings[edit]
- The resolution and anti-aliasing options are relevant to both Glide and DirectX.
Dgvoodoo Setup Program
Display Resolution[edit]
- See Widescreen resolution for relevant information.
- See Scaling for information on scaling resolutions.
- Forcing a specific resolution can break UI menus, graphical effects and much more.
Resolution | Description |
---|---|
Unforced | The application will control the resolution. This is the safest and the default option. |
2x, 3x, 4x | Dynamically scales the current resolution set in-game, which is calculated by the wrapper. |
Max | The maximum available resolution will be used. |
Max ISF | The maximum available integer multiple of the apps resolution will be used. |
Max FHD | Full HD (1920x1080); 1080p will be the maximum available resolution to the application. |
Max FHD ISF | The max available integer multiple of the apps resolution will be used; FHD (1920x1080); 1080p. |
Max QHD | QHD (2560x1440); 1440p will be the maximum available resolution to the application. |
Max QHD ISF | The max available integer multiple of the apps resolution will be used; QHD (2560x1440); 1440p. |
Resolution | Resolutions from 640x480 up to the current display's native resolution can be forced. |
Anti-aliasing (MSAA)[edit]
- See Anti-aliasing (AA) for relevant information.
- Forcing anti-aliasing can cause graphical artifacts.
MSAA Level | Description |
---|---|
Off | Forces anti-aliasing off. For DirectX applications, this only affects DirectX 8 and above. |
App driven | The application controls the anti-aliasing. Safest option. |
2x, 4x, 8x | Anti-aliasing (MSAA) will be forced to the selected amount. |
Configuring Glide[edit]
Dgvoodoo 2 Setup Download
3Dfx card[edit]
This option allows for the selection of 3D accelerated cards that use the Glide rendering API.
Some applications and games may need an older card model or older Glide versions, due to the advancements of Voodoo 3Dfx technology made over time.
The different video cards also presents bias to games which may lock particular rendering capabilities and properties to certain 3Dfx cards and versions of Glide.
Parameter | Description | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
VRAM (Video Random Access Memory) | The amount of emulated video memory of the selected video card can be changed with this option. No texture memory is stored on the onboard RAM, but instead it is processed and managed by the Texture Management Unit(s) (TMU). | ||||||||||||||||||||||||||||||
Texture Management | Texture Management Units (TMU) allow for multi-texturing management. The amount of TMU texture memory is adjustable.
| ||||||||||||||||||||||||||||||
Force bi-linear filter | Forcing bi-linear texture filtering can cause artifacts. | ||||||||||||||||||||||||||||||
Disable mipmapping | Disables mipmapping. Self-explanatory. |
Miscellaneous[edit]
Parameter | Description |
---|---|
Enable Glide Gamma Ramp | A gamma correction curve can be set through the Glide interface when enabled. Since Glide uses a linear curve by default, the gamma level might not match the default or one's taste and can look visually detracting. |
Force emulating true PCI access | When enabled, the virtual 3Dfx card will have PCI bus speeds emulated as closely as possible. 2015 dodge durango fuse diagram manual. Emulation of true PCI access should theoretically never be disabled but there can be possible degradation of performance when left enabled. |
3Dfx Watermark | Shows the 3Dfx watermark in-game when enabled. |
Pointcast Palette driver build | This option only affects Voodoo 2 cards, this should always be left disabled. |
Force V-Sync | If V-Sync is enabled, games that run too fast stabilize at the maximum frame-rate of the monitor used, however some games may need certain synchronizations of frame-rates to work properly. |
16 bit depth buffer | Use only when Z-fighting occurs. Z-fighting can be better avoided with a 16-bit depth buffer, however artifacting can occur. |
3Dfx Splash screen | The 3Dfx splash screen is seen when an application starts, disabling this option prevents this animation from playing. |
Enable inactive app state | When an application loses focus, it may be desired to make the application go into an inactive state. |
Configuring DirectX[edit]
Disable and passthru to real DirectX[edit]
If dgVoodoo is not needed anymore or just temporarily, without removing dgVoodoo's DLLs this option will disable dgVoodoo's DirectX wrapper.
Videocard[edit]
This option allows for the selection of internal virtual 2D (SVGA) and 3D accelerated cards.
The other four non-dgVoodoo card types give specific emulated ATI/nVidia/Matrox driver versions and capabilities.
The different video cards also presents bias to games which lock particular rendering capabilities and properties to owners of a real ATI, nVidia or Matrox card.
The virtual SVGA card exposes only software capable rendering (2D rendering) to the application. All other virtual video cards have full hardware acceleration and capabilities, including 'Transform & Light'.
However, the only full D3D9 compatible card is the Internal 3D Accelerated card.
VRAM (Video Random Access Memory)[edit]
The amount of emulated video memory of the selected video card can be changed with this option.
Be careful though, DirectX 7 and older applications can fail to launch if the emulated VRAM is set higher than 256 MB.
Some games may require more VRAM to render textures at higher resolutions. There are also other advantages to increasing the VRAM.
Video card | VRAM Min | VRAM Limit |
---|---|---|
dgVoodoo Virtual SVGA Card | 16 MB | 128 MB |
dgVoodoo Virtual 3D Accelerated Card | 16 MB | 2048 MB |
GeForce 4 Ti 4800 | 64 MB | 256 MB |
ATI Radeon 8500 | 64 MB | 256 MB |
Matrox Parhelia-512 | 128 MB | 256 MB |
GeForce FX 5700 Ultra | 64 MB | 256 MB |
Texture Filtering[edit]
- See Anisotropic filtering (AF) for relevant information.
- Forcing texture filtering on an application can create glitches or break rendering effects.
- GPU driver-forced global or per-app anisotropic filtering will override the dgVoodoo2
Anisotropic
setting.
Filtering | Description |
---|---|
App driven | The application will control the texture filtering quality. This is safest and the default option. |
Point sampled | Point sampled texture filtering will be forced. |
Bilinear | Bilinear filtering will be forced. The four nearest texels to the pixel center are sampled. |
Linear mipmap | Nearest-neighbor sampling from individual mipmaps whilst linearly interpolating the two nearest mipmaps. |
Trilinear | Trilinear filtering will be forced. Bilinear filtering on the two closest mipmap levels are applied and are interpolated. |
Anisotropic | Ansiotropic filtering of up to 16x can be forced. |
- Mipmapping can be disabled with the 'No mipmapping' option below the filtering settings.
Window Behaviour[edit]
Parameter | Description |
---|---|
Application controller fullscreen/windowed state | Unticking this option will force the specified screen mode in the General tab. |
Disable Alt-Enter to toggle screen state | Disabling this option is recommended if the application already handles its window state via Alt+Enter If this is not disabled and Alt+Enter is used for an application that utilizies it, then dgVoodoo will conflict with the application. |
Miscellaneous[edit]
Parameter | Description |
---|---|
Bi-linear blit stretch | When enabled, linear filtering is applied for stretched copying between 2D surfaces (DirectDraw only). Linear filtering is much nicer generally but can cause artifacts, especially with color-keyed blitting. Early hardware did not support or apply point sampled blitting, which can end up with very pixelated results. |
Force V-Sync | Vertical syncing is forced in all cases whenever the application window draws. However there is a performance penality when enabling V-Sync. |
Fast video memory access | Fast video memory access is applied for locked surfaces. Only recommended to use if an application is performing slowly, despite system specifications. |
Apply Phong shading when possible | Phong shading is applied in place of Gouraud when it is possible. This option only has effect when the application uses the fixed function vertex/pixel pipeline and pushes all the work of the vertex transform & lighting (T & L) to Direct3D when rendering primitives.Do note though, using Phong shading requires much more GPU power than default shading. |
dgVoodoo Watermark | Shows the dgVoodoo watermark in-game when enabled. |
Hidden options and settings[edit]
- GeneralExt, GlideExt, DirectXExt and Debug are all hidden. Right-click on the dgVoodoo banner and tick 'Show all sections of the configuration'.
- Not recommended for usage by inexperienced users. A lot of the options are experimental or unstable for normal usage.
General Extended[edit]
Desktop properties
Parameter | Description |
---|---|
Desktop resolution | The native resolution can be forced for dgVoodoo's internal calculations. This is useful for rare cases where applications may pre-set the desktop to something other than the native resolution before dgVoodoo initializes fully. Applies to all display outputs. |
Desktop bit depth | The screen bit-depth that should be reported through dgVoodoo can be defined to a 8, 16, or 32 bit-depth level. |
Image output
Parameter | Description |
---|---|
Integer scale factor | The integer factor for scaling the out image coming from a wrapped API can be dictated from 1-5, or the maximum available. Integer scaling is always done with nearest point filtering, independent of the scale. Custom integer scaling factors can be defined manually for horizontal and vertical scaling. |
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. |
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:
|
Windowed mode attributes
Parameter | Description |
---|---|
Borderless | Forces the application window to be borderless. |
Always on top | Forces the application window to remain always visible, despite other windows being in focus. |
Fullscreen size | Any content in the application window will be the same in fullscreen mode, preserving potential black bars. This is useful for achieving fake fullscreen mode (in conjunction with other relevant settings). |
Miscellaneous
Parameter | Description |
---|---|
Environment | The software environment that dgVoodoo runs in can be changed from unspecified, DosBox and QEmu. |
Free mouse | When enabled, the physical mouse is free to move around inside the game's window when using emulated scaling and/or application and forced resolutions differs. Can be useful for when a game relies on the physical window size. |
Enable GDI hooking | If enabled, dgVoodoo hooks GDI to be able to render graphical contents (like movie playback through the ancient Windows Multimedia AVI player library) rendered through GDI. Experimental feature, for the time being it's implemented only for DirectX emulation. |
Glide Extended[edit]
Dithering
Parameter | Description |
---|---|
Dithering | Defines when Glide dithering should take place. If dithering is app driven, then the dithering effect is also controlled by the application. |
Effect | The type of dithering effect that should be used when dithering is forced. Pure 32-bit is a fake effect that provides the best quality. |
Ordered matrix size scale | The integer scale value for the dither matrix size: 1 = normal size, 2 = double size, etc. 0 = automatic (the aim is to have some retro feel and look). |
DirectX Extended[edit]
Adapter properties
Parameter | Description |
---|---|
ID Type | The driver version and Vendor ID type that the wrapper should report to the application can be changed. Some games rely on this information. Can be defined only for SVGA and Internal 3D card types, the others have their own predefined vendor information. You can refine various ID's (vendor device, subsys, revision) in the appropriate fields. Note that defining unmatching vendor ID's makes no sense. |
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.
|
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:
|
Effect | Select the dithering effect
|
Dither matrix scale | Integer scale value for dither matrix size:
|
Miscellaneous
Parameter | Description |
---|---|
Depth buffers | Internal bit depth of depth/stencil buffers for 3D rendering. Forcing 32-bit is not recommended.
|
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.
|
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). |
Force scale & MSSA 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. |
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. Dmifit tool download. |
Debug[edit]
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:
|
Maximum trace level | Maximum trace level can be:
|
HUD and interface scaling on high resolutions[edit]
- 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] |
---|
Notes
|
Notes
- ↑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
- ↑http://dege.freeweb.hu/
- ↑ 2.02.12.22.32.42.52.6Verified by User:Antrad on July 9, 2019