Difference between revisions of "Wrappers"

From Emulation General Wiki
Jump to navigation Jump to search
m (90's APIs)
m
Line 18: Line 18:
 
|Glide
 
|Glide
 
|Vulkan, Direct3D 9
 
|Vulkan, Direct3D 9
 +
|{{✓}} ||{{✓}}
 +
|-
 +
|[http://dege.freeweb.hu/ dgVoodoo 2]
 +
|Windows
 +
|[http://dege.freeweb.hu/dgVoodoo2/dgVoodoo2.html 2.62.3]
 +
|Glide, DirectX 1-9
 +
|Direct3D 11
 
|{{✓}} ||{{✓}}
 
|{{✓}} ||{{✓}}
 
|-
 
|-
Line 25: Line 32:
 
|DirectX 1-11
 
|DirectX 1-11
 
|OpenGL
 
|OpenGL
|{{✓}} ||{{✓}}
 
|-
 
|[http://dege.freeweb.hu/ dgVoodoo 2]
 
|Windows
 
|[http://dege.freeweb.hu/dgVoodoo2/dgVoodoo2.html 2.62.3]
 
|Glide, DirectX 1-9
 
|Direct3D 11
 
 
|{{✓}} ||{{✓}}
 
|{{✓}} ||{{✓}}
 
|-
 
|-
Line 65: Line 65:
  
 
===Comparisons===
 
===Comparisons===
* [http://www.zeus-software.com/downloads/nglide nGlide] is a 3Dfx Voodoo Glide wrapper. It allows you to play games designed for 3Dfx Glide API without the need for having 3Dfx Voodoo graphics card. All three API versions are supported, Glide 2.11, Glide 2.60 and Glide 3.10. nGlide emulates Glide environment with Direct3D 9 and version 2.0 implemented Vulkan support, which also makes it work under Linux using [[Wine]] Staging 2.10.0 or newer.<ref name="nglidevulkan">http://www.zeus-software.com/forum/viewtopic.php?f=2&t=2044</ref> Glide wrapper also supports high resolution modes. This is currently the best Glide wrapper. Has a [http://www.zeus-software.com/downloads/nglide/compatibility compatibility list].
+
;[http://www.zeus-software.com/downloads/nglide nGlide]  
 +
A closed-source 3Dfx Voodoo Glide wrapper. It allows you to play games designed for 3Dfx Glide API without the need for having 3Dfx Voodoo graphics card. All three API versions are supported, Glide 2.11, Glide 2.60 and Glide 3.10. nGlide emulates Glide environment with Direct3D 9 and version 2.0 implemented Vulkan support, which also makes it work under Linux using [[Wine]] Staging 2.10.0 or newer.<ref name="nglidevulkan">http://www.zeus-software.com/forum/viewtopic.php?f=2&t=2044</ref> Glide wrapper also supports high resolution modes. This is currently the best Glide wrapper. Has a [http://www.zeus-software.com/downloads/nglide/compatibility compatibility list].
 +
 
 +
;[http://dege.freeweb.hu/ dgVoodoo 2]
 +
A closed-source wrapper for old graphics API's for Windows. The API's it currently can wrap are: Glide 2.11, Glide 2.45, Glide 3.1, Glide 3.1 Napalm, DirectX 1-7 (all versions of DirectDraw and Direct3D up to version 7), Direct3D 8.1 and Direct3D 9. This wrapper can use Direct3D 11 with different device types as wrapping output such as hardware or software rendering.
  
* [http://dege.freeweb.hu/ dgVoodoo 2] is a closed-source wrapper for old graphics API's for Windows. The API's it currently can wrap are: Glide 2.11, Glide 2.45, Glide 3.1, Glide 3.1 Napalm, DirectX 1-7 (all versions of DirectDraw and Direct3D up to version 7), Direct3D 8.1 and Direct3D 9. This wrapper can use Direct3D 11 with different device types as wrapping output such as hardware or software rendering.
+
;[[Wine]]
 +
Wine works mostly well for running older DirectX games. It is possible to use Wine's wrapper in Windows using different forks.
  
* [https://www.dxgl.org/ DXGL] is a free replacement for the Windows ddraw.dll library, running on OpenGL. It is designed to overcome driver bugs, particularly in Windows Vista and newer operating systems. It also adds various enhancements to the graphics output such as display scaling and filtering options. DXGL supports the DirectX 7.0 graphics APIs, however it is currently under development and does not work with many programs.
+
;[https://www.dxgl.org/ DXGL]  
 +
A free replacement for the Windows ddraw.dll library, running on OpenGL. It is designed to overcome driver bugs, particularly in Windows Vista and newer operating systems. It also adds various enhancements to the graphics output such as display scaling and filtering options. DXGL supports the DirectX 7.0 graphics APIs, however it is currently under development and does not work with many programs.
  
 
==2000's and later APIs==
 
==2000's and later APIs==
Line 91: Line 97:
 
|[[Wine|Wine Direct3D]]
 
|[[Wine|Wine Direct3D]]
 
|Windows, Linux, macOS
 
|Windows, Linux, macOS
|[https://wiki.winehq.org/Download {{WineVer}}] <small>(Linux, macOS)</small><br /> [https://fdossena.com/?p=wined3d/index.frag 4.8]  <small>Windows</small>
+
|[https://wiki.winehq.org/Download {{WineVer}}] <small>(Linux, macOS)</small><br /> [https://fdossena.com/?p=wined3d/index.frag {{WineDevVer}}]  <small>Windows</small>
 
|Direct3D 1-11
 
|Direct3D 1-11
 
|OpenGL
 
|OpenGL
Line 148: Line 154:
  
 
===Comparisons===
 
===Comparisons===
* [[Wine]] has an internal graphics API wrapper for Direct3D 1-11 using OpenGL. It works mostly well for older games, but is slower and has more bugs than newer wrappers using Vulkan, such as DXVK. It is possible to use Wine's wrapper in Windows using different forks.
+
;[https://github.com/doitsujin/dxvk DXVK]  
 
+
A Vulkan-based translation layer for Direct3D 9-11, which allows running Windows 3D applications on Linux using [[Proton]] or [[Wine]].
* [https://source.winehq.org/git/vkd3d.git/ vkd3d] is an internal Wine wrapper for Direct3D 12 to Vulkan translation. Sponsored by Valve. Currently a work in progress.
 
 
 
* [https://github.com/doitsujin/dxvk DXVK] is a Vulkan-based translation layer for Direct3D 10 & 11, which allows running Windows 3D applications on Linux using [[Wine]].
 
  
:* [https://github.com/Joshua-Ashton/d9vk D9VK] is a  Direct3D 9 to Vulkan translation layer based off DXVK's codebase. Has been merged into DXVK as of version 1.5.
+
:;[https://github.com/Joshua-Ashton/d9vk D9VK]  
 +
is a  Direct3D 9 to Vulkan translation layer based off DXVK's codebase. Has been merged into DXVK as of version 1.5.
  
* [https://github.com/disks86/VK9 VK9] runs Direct3D 9 applications on Windows or Linux (with [[Wine]]) over Vulkan.
+
;[[Wine]]  
 +
Has an internal graphics API wrapper for Direct3D 1-11 using OpenGL. It works mostly well for older games, but is slower and has more bugs than newer wrappers using Vulkan, such as DXVK. It is possible to use Wine's wrapper in Windows using different forks.
  
 +
;[https://source.winehq.org/git/vkd3d.git/ vkd3d]
 +
is an internal Wine wrapper for Direct3D 12 to Vulkan translation. Sponsored by Valve. Currently a work in progress.
  
 +
;[https://github.com/disks86/VK9 VK9]
 +
runs Direct3D 9 applications on Windows or Linux (with [[Wine]]) over Vulkan.
  
 
==External links==
 
==External links==

Revision as of 14:26, 17 December 2019

A wrapper is a common name for a compatibility/translation layer that translates from one graphics API to another. This can be used to run software on systems they were not designed for. Such as running old PC games made for 3Dfx Glide graphics card on modern Windows 10 systems, or running modern Windows-only DirectX 11 games on Linux.

90's APIs

Name Operating System(s) Latest Version Translates Into Active Recommended
nGlide Windows 2.10 Glide Vulkan, Direct3D 9
dgVoodoo 2 Windows 2.62.3 Glide, DirectX 1-9 Direct3D 11
Wine DirectX Windows, Linux, macOS 9.0 (Linux, macOS)
9.7 Windows
DirectX 1-11 OpenGL
DXGL Windows 0.5.17 DirectX 1-7 OpenGL WIP
Glidos Windows 1.53b Glide (DOS) ? ?
OpenGlide Windows 0.09 Alpha Glide OpenGL ?
psVoodoo Windows 0.13 Glide Direct3D 9 ?

Comparisons

nGlide

A closed-source 3Dfx Voodoo Glide wrapper. It allows you to play games designed for 3Dfx Glide API without the need for having 3Dfx Voodoo graphics card. All three API versions are supported, Glide 2.11, Glide 2.60 and Glide 3.10. nGlide emulates Glide environment with Direct3D 9 and version 2.0 implemented Vulkan support, which also makes it work under Linux using Wine Staging 2.10.0 or newer.[1] Glide wrapper also supports high resolution modes. This is currently the best Glide wrapper. Has a compatibility list.

dgVoodoo 2

A closed-source wrapper for old graphics API's for Windows. The API's it currently can wrap are: Glide 2.11, Glide 2.45, Glide 3.1, Glide 3.1 Napalm, DirectX 1-7 (all versions of DirectDraw and Direct3D up to version 7), Direct3D 8.1 and Direct3D 9. This wrapper can use Direct3D 11 with different device types as wrapping output such as hardware or software rendering.

Wine

Wine works mostly well for running older DirectX games. It is possible to use Wine's wrapper in Windows using different forks.

DXGL

A free replacement for the Windows ddraw.dll library, running on OpenGL. It is designed to overcome driver bugs, particularly in Windows Vista and newer operating systems. It also adds various enhancements to the graphics output such as display scaling and filtering options. DXGL supports the DirectX 7.0 graphics APIs, however it is currently under development and does not work with many programs.

2000's and later APIs

Name Operating System(s) Latest Version Translates Into Active Recommended
DXVK Linux 1.5 Direct3D 9-11 Vulkan
Wine Direct3D Windows, Linux, macOS 9.0 (Linux, macOS)
9.7 Windows
Direct3D 1-11 OpenGL
Gallium Nine Linux 0.5 Direct3D 9 Native ~ WIP
vkd3d Linux 1.1 Direct3D 12 Vulkan WIP
MoltenVK macOS, iOS 1.0.39 Vulkan Metal ?
Zink Linux Git OpenGL Vulkan ?
D9VK Linux Git Direct3D 9 Vulkan
DXUP Windows, Linux Git Direct3D 9-10 Direct3D 11
VK9 Windows, Linux 0.29.0 Direct3D 9 Vulkan

Comparisons

DXVK

A Vulkan-based translation layer for Direct3D 9-11, which allows running Windows 3D applications on Linux using Proton or Wine.

D9VK

is a Direct3D 9 to Vulkan translation layer based off DXVK's codebase. Has been merged into DXVK as of version 1.5.

Wine

Has an internal graphics API wrapper for Direct3D 1-11 using OpenGL. It works mostly well for older games, but is slower and has more bugs than newer wrappers using Vulkan, such as DXVK. It is possible to use Wine's wrapper in Windows using different forks.

vkd3d

is an internal Wine wrapper for Direct3D 12 to Vulkan translation. Sponsored by Valve. Currently a work in progress.

VK9

runs Direct3D 9 applications on Windows or Linux (with Wine) over Vulkan.

External links

State of Direct3D 9-12 translation layers by DXVK author YoRHa-2B (2019-04-02)

References