Editing Wrappers

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
 
A '''wrapper''' is a reimplementation of a [[wikipedia:Library (computing)|library]], where the goal is to substitute the original API with a better-supported interface. It works as a drop-in replacement for the original library, since a lot of software usually bundled it as-is without any fine-tuning. Wrappers are most common for proprietary interfaces that are either abandoned or otherwise platform-specific.
 
A '''wrapper''' is a reimplementation of a [[wikipedia:Library (computing)|library]], where the goal is to substitute the original API with a better-supported interface. It works as a drop-in replacement for the original library, since a lot of software usually bundled it as-is without any fine-tuning. Wrappers are most common for proprietary interfaces that are either abandoned or otherwise platform-specific.
  
See [[Emulation Accuracy]] page for more information about terms like "[[Hypervisors|hypervisors]]", "[[Simulators|simulators]]", "[[Compatibility_layer|compatibility layers]]", "[[Wrappers|wrappers]]", "[[FPGA|FPGA-based hardware cloning]]" and "[[:Category:Emulators|software emulators]]".
+
==90's APIs==
 +
(Glide, DirectDraw 1-7, Direct3D 2-7, OpenGL 1.1-1.2)
  
=='90s APIs==
+
During the 90s, many [[Intel CPUs|PC]] game developers chose to use 3Dfx's Glide API for their Voodoo graphics cards. These developers didn't anticipate that 3Dfx would run out of money trying to compete with NVIDIA's offering, and in 2000 NVIDIA bought them for their IP assets (presumably to improve their own cards). Despite the API getting an open source release in 2003, neither NVIDIA or ATI adopted support for Glide in their own drivers, meaning a wrapper is now needed to play these games with hardware acceleration. Or, if we're lucky, the game gets [[Game Engine Recreations and Source Ports|ported or reimplemented]] to use other APIs instead.
(Glide, DirectDraw 1-7, Direct3D 2-7<ref group=N name=>Direct3D 1 doesn't exist, since DirectX 1 did not have a Direct3D component. The first release was Direct3D 2.</ref>, OpenGL 1.x)
 
 
 
During the 90s, many [[POS_(Pong_Consoles)_CPUs_and_Other_Chips#Intel_CPU.27s|PC]] game developers chose to use 3Dfx's Glide API for their Voodoo graphics cards. These developers didn't anticipate that 3Dfx would run out of money trying to compete with NVIDIA's offering, and in 2000 NVIDIA bought them for their IP assets (presumably to improve their own cards). Despite the API getting an open source release in 2003, neither NVIDIA or ATI adopted support for Glide in their own drivers, meaning a wrapper is now needed to play these games with hardware acceleration. Or, if we're lucky, the game gets [[Game Engine Recreations and Source Ports|ported or reimplemented]] to use other APIs instead.
 
  
 
Even games using older versions of DirectDraw or Direct3D can benefit from wrappers, since those interfaces may not even work properly on newer systems. Wrappers can even enable various overrides and enhancements, such as [https://reshade.me/ ReShade].
 
Even games using older versions of DirectDraw or Direct3D can benefit from wrappers, since those interfaces may not even work properly on newer systems. Wrappers can even enable various overrides and enhancements, such as [https://reshade.me/ ReShade].
Line 12: Line 10:
 
{| class="wikitable sortable" style="text-align:center;"
 
{| class="wikitable sortable" style="text-align:center;"
 
|-
 
|-
! scope="col" colspan="2" | Name
+
! scope="col"|Name
 
! scope="col"|OS
 
! scope="col"|OS
 
! scope="col"|Latest Version
 
! scope="col"|Latest Version
 
! scope="col"|Translates
 
! scope="col"|Translates
 
! scope="col"|Into
 
! scope="col"|Into
! scope="col"|Compatibility
 
 
! scope="col"|<abbr title="Free and Open-Source Software">FOSS</abbr>
 
! scope="col"|<abbr title="Free and Open-Source Software">FOSS</abbr>
 
! scope="col"|Active
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|-
| rowspan=14 |Graphics
+
|[http://www.zeus-software.com/downloads/nglide nGlide]
 +
|align=left|{{Icon|Windows}}
 +
|[http://www.zeus-software.com/downloads/nglide 2.10]
 +
|Glide
 +
|Vulkan, Direct3D 9
 +
|{{✗}} ||{{✓}} ||{{✓}}
 +
|-
 
|[http://dege.freeweb.hu/dgVoodoo2/ dgVoodoo2]
 
|[http://dege.freeweb.hu/dgVoodoo2/ dgVoodoo2]
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|[http://dege.freeweb.hu/dgVoodoo2/dgVoodoo2/ {{DgVooDoo2Ver}}]
+
|[http://dege.freeweb.hu/dgVoodoo2/dgVoodoo2/ {{DgVoodoo2Ver}}]
|Glide 2.11-3.10<br>DirectDraw 1-7<br>Direct3D 2-7
+
|Glide, DirectDraw 1-7, Direct3D 2-7
|Direct3D 11, 12
+
|Direct3D 11, Direct3D 12
|[https://www.vogons.org/viewforum.php?f=59 ?] ||{{✗}} ||{{}} ||{{✓}}
+
|{{✗}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[http://dege.freeweb.hu/dgVoodoo/dgVoodoo/ dgVoodoo]
 +
|align=left|{{Icon|Windows}}
 +
|[http://dege.freeweb.hu/dgVoodoo/dgVoodoo/ v1.50b2]
 +
|Glide 2.11-2.45
 +
|Direct3D 7-9
 +
|{{✗}} ||{{}} ||{{✓}}
 
|-
 
|-
 
|[[Wine|WineD3D]]
 
|[[Wine|WineD3D]]
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://wiki.winehq.org/Download {{WineVer}}] <small>(Linux, macOS)</small><br/>[https://fdossena.com/?p=wined3d/index.frag {{WineDevVer}}] <small>(Windows)</small><ref group=N name=XPcompatibility>DxWnd 2.05.70, WineD3D 1.7.52 or 1.9.7-staging(partially) versions are the latest compatible versions with Windows XP (if [https://github.com/Skulltrail192/One-Core-API-Binaries OneCoreAPI] is '''not''' installed to OS), for getting these old "WineD3D for Windows" builds use [https://www.vogonsdrivers.com/wrappers/files/DirectX/OpenGL/WineD3D/2000+/ this link]. Also you can use [https://github.com/JHRobotics/wine9x?tab=readme-ov-file#wined3d-port-for-windows-9x JHRobotics port for using WineD3D on Windows 9x or Windows XP].</ref>
+
|[https://wiki.winehq.org/Download {{WineVer}}] <small>(Linux, macOS)</small><br/>[https://fdossena.com/?p=wined3d/index.frag {{WineDevVer}}] <small>(Windows)</small>
|DirectDraw 1-7<br>Direct3D 2-7
+
|DirectDraw 1-7, Direct3D 2-7
|Vulkan<br>OpenGL
+
|Vulkan, OpenGL
|[https://appdb.winehq.org/objectManager.php?sClass=application&sTitle=Browse%20Applications&sOrderBy=appName&bAscending=true ?] ||{{✓}} ||{{✓}} ||{{✓}}
+
|{{✓}} ||{{✓}} ||{{✓}}
 
|-
 
|-
|[https://sourceforge.net/projects/dxwnd DxWnd]
+
|[https://www.dxgl.org/ DXGL]
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|[https://sourceforge.net/projects/dxwnd/files/Latest%20build/ {{DxWndVer}}]<ref group=N name=XPcompatibility></ref>
+
|[https://www.dxgl.org/downloads/ {{DXGLVer}}]
|DirectDraw 1-7<br>Direct3D 2-7
+
|DirectDraw 1-7
|<small>no API conversion</small>
+
|OpenGL
| ||{{✓}} ||{{✓}} ||{{}}
+
|{{✓}} ||{{✓}} ||{{TBD}}
 
|-
 
|-
|[http://www.zeus-software.com/downloads/nglide nGlide]
+
|[https://sourceforge.net/projects/dxwnd DxWnd]
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|[http://www.zeus-software.com/downloads/nglide 2.10]
+
|[https://sourceforge.net/projects/dxwnd/files/Latest%20build/ v2_05_90]<ref group=N name=DxWndXP>2.05.70: latest version compatible with WinXP</ref>
|Glide
+
|DirectDraw 1-7, Direct3D 2-7
|Vulkan<br>Direct3D 9
+
|OpenGL, Direct3D 8-11
| ||{{✗}} ||{{✗}} ||{{✓}}
+
|{{✓}} ||{{✓}} ||{{}}
|-
 
|[https://github.com/elishacloud/dxwrapper DxWrapper]
 
|align=left|{{Icon|Windows}}
 
|[https://github.com/elishacloud/dxwrapper/releases v1.0.6900.22]
 
|DirectDraw 1-7<br>Direct3D 2-7
 
|Direct3D 9<ref group=N name=dxwrapper>Through '''dd7to9'''.</ref><br>Direct3D 7 (for Direct3D 2-6)<br>DirectDraw 7 (for DirectDraw 1-6)
 
|[https://github.com/elishacloud/dxwrapper/wiki/DirectDraw-to-Direct3D9-Conversion#table-key ?] ||{{✓}} ||{{✓}} ||{{~}}
 
 
|-
 
|-
 
|[https://github.com/narzoul/DDrawCompat DDrawCompat]
 
|[https://github.com/narzoul/DDrawCompat DDrawCompat]
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|[https://github.com/narzoul/DDrawCompat/tags v0.5.1]
+
|[https://github.com/narzoul/DDrawCompat/tags v0.4.0]
|DirectDraw 1-7<br>Direct3D 2-7<br>GDI (Partially)
+
|DirectDraw 1-7, Direct3D 2-7, GDI (Partially)
 
|<small>no API conversion</small>
 
|<small>no API conversion</small>
| ||{{✓}} ||{{✓}} ||{{~}}
+
|{{✓}} ||{{✓}} ||{{TBD}}
 
|-
 
|-
|[https://github.com/FunkyFr3sh/cnc-ddraw cnc-ddraw]
+
|[https://github.com/elishacloud/dxwrapper dxwrapper]
|align=left|{{Icon|Windows}}<br>{{Icon|Linux|macOS}}<ref group=N name=cnc-ddraw>Linux and macOS are supported through wine.</ref>
 
|[https://github.com/FunkyFr3sh/cnc-ddraw/releases 6.3]
 
|DirectDraw 1-7
 
|GDI<br>OpenGL<br>Direct3D 9
 
| ||{{✓}} ||{{✓}} ||{{~}}
 
|-
 
|[https://www.dxgl.org/ DXGL]
 
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|[https://www.dxgl.org/downloads/ {{DXGLVer}}]
+
|[https://github.com/elishacloud/dxwrapper/tags v1.0.6542.21]
|DirectDraw 1-7
+
|DirectDraw 1-7, Direct3D 2-7, GDI, DirectInput 1-7
|OpenGL
+
|Direct3D 9, DirectInput 8
| ||{{✓}} ||{{✓}} ||{{~}}
+
|{{✓}} ||{{✓}} ||{{}}
 
|-
 
|-
 
|[http://www.glidos.net/ Glidos]
 
|[http://www.glidos.net/ Glidos]
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|[http://www.glidos.net/download.html 1.59]
+
|[http://www.glidos.net/download.html 1.53b]
 
|Glide <small>(DOS)</small>
 
|Glide <small>(DOS)</small>
 
|?
 
|?
| ||{{✓}} ||{{✓}} ||{{✗}}
+
|{{✗}} ||{{✗}} ||{{TBD}}
|-
 
|[http://dege.freeweb.hu/dgVoodoo/dgVoodoo/ dgVoodoo]
 
|align=left|{{Icon|Windows}}
 
|[http://dege.freeweb.hu/dgVoodoo/dgVoodoo/ v1.50b2]
 
|Glide 2.11-2.45
 
|Direct3D 7, 9
 
| ||{{✗}} ||{{✗}} ||{{✗}}
 
 
|-
 
|-
 
|[http://openglide.sourceforge.net/ OpenGlide]
 
|[http://openglide.sourceforge.net/ OpenGlide]
Line 98: Line 87:
 
|Glide
 
|Glide
 
|OpenGL
 
|OpenGL
| ||{{✓}} ||{{✗}} ||{{✗}}
+
|{{✓}} ||{{✗}} ||{{✗}}
 
|-
 
|-
 
|[https://sourceforge.net/projects/psvoodoo/ psVoodoo]
 
|[https://sourceforge.net/projects/psvoodoo/ psVoodoo]
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|[https://sourceforge.net/projects/psvoodoo/files/latest/download 0.17]
+
|[https://sourceforge.net/projects/psvoodoo/files/latest/download 0.13]
 
|Glide
 
|Glide
 
|Direct3D 9
 
|Direct3D 9
| ||{{✓}} ||{{✗}} ||{{✗}}
+
|{{✓}} ||{{✗}} ||{{✗}}
 
|-
 
|-
 
|[https://github.com/ata4/glrage glrage]
 
|[https://github.com/ata4/glrage glrage]
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
 
|[https://github.com/ata4/glrage/releases/latest r10]
 
|[https://github.com/ata4/glrage/releases/latest r10]
|ATI3DCIF<br>DirectDraw 2
+
|ATI3DCIF, DirectDraw 2
 
|OpenGL 3.3
 
|OpenGL 3.3
| ||{{✓}} ||{{✗}} ||{{✓}}
+
|{{✓}} ||{{✗}} ||{{✓}}
|-
 
|[https://apps.microsoft.com/detail/9NRCQJ8VLGTK?hl=en-us&gl=US RReady (Rendition Verite wrapper)]
 
|align=left|{{Icon|Windows}}
 
|[https://apps.microsoft.com/detail/9NRCQJ8VLGTK?hl=en-us&gl=US RReady Rendition Verité]
 
|RRedline
 
|OpenGL
 
| ||{{✗}} ||{{✓}} ||{{✓}}
 
 
|-
 
|-
| rowspan=2 |Input
 
 
|[https://github.com/csutorasa/XOutput XOutput]
 
|[https://github.com/csutorasa/XOutput XOutput]
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
Line 127: Line 108:
 
|DirectInput
 
|DirectInput
 
|XInput
 
|XInput
| ||{{✓}} ||{{✓}} ||{{✓}}
+
|{{✓}} ||{{✓}} ||{{✓}}
|-
 
|[https://github.com/elishacloud/dxwrapper DxWrapper]
 
|align=left|{{Icon|Windows}}
 
|[https://github.com/elishacloud/dxwrapper/releases v1.0.6900.22]
 
|DirectInput 1-7
 
|DirectInput 8
 
| ||{{✓}} ||{{✓}} ||{{~}}
 
|-
 
| rowspan=1 |Sound
 
|[https://github.com/kcat/dsoal DSOAL]
 
|align=left|{{Icon|Windows}}
 
|[https://github.com/kcat/dsoal/actions git]
 
|DirectSound
 
|OpenAL
 
| ||{{✓}} ||{{✓}} ||{{TBD}}
 
 
|-
 
|-
 
|}
 
|}
  
 +
'''Note:''' Direct3D 1 doesn't exist, since DirectX 1 did not have a Direct3D component. The first release was Direct3D 2.
 
<references group=N />
 
<references group=N />
  
Line 164: Line 131:
 
:Reimplements ATI3DCIF, an API from ATI used in a handful of games, and DirectDraw 2 over OpenGL. Originally designed specifically for Tomb Raider 1/UB patched with ATIRage patch, currently also supports Assault Rigs and Wipeout. Additionally, it applies some improvements, fixes and QoL changes to the games.
 
:Reimplements ATI3DCIF, an API from ATI used in a handful of games, and DirectDraw 2 over OpenGL. Originally designed specifically for Tomb Raider 1/UB patched with ATIRage patch, currently also supports Assault Rigs and Wipeout. Additionally, it applies some improvements, fixes and QoL changes to the games.
  
==2000s and later APIs==
+
==2000's and later APIs==
(Direct3D 8 and higher, OpenGL 2.x and higher, Vulkan)
+
(Direct3D 8 and higher, OpenGL 1.3 and higher, Vulkan)
  
 
Modern Windows games will likely need one of these wrappers to work on other platforms. Usually these are not separate downloads, and will come packaged into [[compatibility layers]] like [[Proton]], [[Wine]], or [https://www.codeweavers.com/crossover CrossOver].
 
Modern Windows games will likely need one of these wrappers to work on other platforms. Usually these are not separate downloads, and will come packaged into [[compatibility layers]] like [[Proton]], [[Wine]], or [https://www.codeweavers.com/crossover CrossOver].
Line 184: Line 151:
 
|[http://dege.freeweb.hu/dgVoodoo2/dgVoodoo2/ {{DgVoodoo2Ver}}]
 
|[http://dege.freeweb.hu/dgVoodoo2/dgVoodoo2/ {{DgVoodoo2Ver}}]
 
|Direct3D 8-9
 
|Direct3D 8-9
|Direct3D 11, 12
+
|Direct3D 11, Direct3D 12
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|-
 
|-
 
|[https://github.com/AlpyneDreams/d8vk D8VK]
 
|[https://github.com/AlpyneDreams/d8vk D8VK]
|align=left|{{Icon|Windows|Linux}}
+
|align=left|{{Icon|Windows}}
|[https://github.com/AlpyneDreams/d8vk/releases 1.0]
+
|[https://github.com/AlpyneDreams/d8vk/releases 0.1.0]
 
|Direct3D 8
 
|Direct3D 8
 
|Vulkan
 
|Vulkan
Line 195: Line 162:
 
|-
 
|-
 
|[https://github.com/doitsujin/dxvk DXVK]
 
|[https://github.com/doitsujin/dxvk DXVK]
|align=left|{{Icon|Windows|Linux}}
+
|align=left|{{Icon|Linux}}
 
|[https://github.com/doitsujin/dxvk/releases {{DXVKVer}}]
 
|[https://github.com/doitsujin/dxvk/releases {{DXVKVer}}]
 
|Direct3D 9-11
 
|Direct3D 9-11
 +
|Vulkan
 +
|{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[https://github.com/libcg/grvk grvk]
 +
|align=left|{{Icon|Windows}}
 +
|[https://github.com/libcg/grvk/tags 0.5.0]
 +
|Mantle
 
|Vulkan
 
|Vulkan
 
|{{✓}} ||{{✓}} ||{{✓}}
 
|{{✓}} ||{{✓}} ||{{✓}}
Line 205: Line 179:
 
|[https://wiki.winehq.org/Download {{WineVer}}] <small>(Linux, macOS)</small><br/>[https://fdossena.com/?p=wined3d/index.frag {{WineDevVer}}] <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 8-11
 
|Direct3D 8-11
|Vulkan<br>OpenGL
+
|Vulkan, OpenGL
 +
|{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[https://downloads.fdossena.com/Projects/Mesa3D/Builds/index.php Mesa3D for Windows + MesaInjector]
 +
|align=left|{{Icon|Windows}}
 +
|[https://downloads.fdossena.com/Projects/Mesa3D/Builds/index.php 20.1.8] <br/>[https://github.com/lightningterror/Mesa3D-Windows lightningterror's builds] <br/>[http://www.vogonsdrivers.com/wrappers/files/OpenGL/GDI/Mesa/ vogonsdrivers builds]
 +
|OpenGL
 +
|Software
 
|{{✓}} ||{{✓}} ||{{✓}}
 
|{{✓}} ||{{✓}} ||{{✓}}
 
|-
 
|-
 
|[https://github.com/HansKristian-Work/vkd3d-proton VKD3D-Proton]
 
|[https://github.com/HansKristian-Work/vkd3d-proton VKD3D-Proton]
|align=left|{{Icon|Windows|Linux}}
+
|align=left|{{Icon|Linux}}
|[https://github.com/HansKristian-Work/vkd3d-proton/releases {{VKD3D-ProtonVer}}]
+
|[https://github.com/HansKristian-Work/vkd3d-proton/releases 2.6]
 
|Direct3D 12
 
|Direct3D 12
 
|Vulkan
 
|Vulkan
Line 221: Line 202:
 
|Vulkan
 
|Vulkan
 
|{{✓}} ||{{✓}} ||{{✗}}
 
|{{✓}} ||{{✓}} ||{{✗}}
|-
 
|[https://github.com/crosire/d3d8to9/ d3d8to9]
 
|align=left|{{Icon|Windows}}
 
|[https://github.com/crosire/d3d8to9/releases 1.12.0]
 
|Direct3D 8
 
|Direct3D 9
 
|{{✓}} ||{{✓}} ||{{✓}}
 
|-
 
|[https://downloads.fdossena.com/Projects/Mesa3D/Builds/index.php Mesa3D for Windows + MesaInjector]
 
|align=left|{{Icon|Windows}}
 
|[https://downloads.fdossena.com/Projects/Mesa3D/Builds/index.php 20.1.8] <br/>[https://github.com/lightningterror/Mesa3D-Windows lightningterror's builds] <br/>[http://www.vogonsdrivers.com/wrappers/files/OpenGL/GDI/Mesa/ vogonsdrivers builds]
 
|OpenGL
 
|Software
 
|{{✓}} ||{{✓}} ||{{✓}}
 
|-
 
|[https://github.com/libcg/grvk grvk]
 
|align=left|{{Icon|Windows}}
 
|[https://github.com/libcg/grvk/tags 0.5.0]
 
|Mantle
 
|Vulkan 1.2
 
|{{✓}} ||{{✓}} ||{{✓}}
 
 
|-
 
|-
 
|[https://github.com/KhronosGroup/MoltenVK MoltenVK]
 
|[https://github.com/KhronosGroup/MoltenVK MoltenVK]
 
|align=left|{{Icon|macOS|iOS}}
 
|align=left|{{Icon|macOS|iOS}}
|[https://github.com/KhronosGroup/MoltenVK/releases 1.3.268]
+
|[https://github.com/KhronosGroup/MoltenVK/releases {{MoltenVKVer}}]
 
|Vulkan
 
|Vulkan
 
|Metal
 
|Metal
Line 252: Line 212:
 
|[https://github.com/iXit/wine-nine-standalone Gallium Nine]
 
|[https://github.com/iXit/wine-nine-standalone Gallium Nine]
 
|align=left|{{Icon|Linux}}
 
|align=left|{{Icon|Linux}}
|[https://github.com/iXit/wine-nine-standalone/releases v0.9]  <small>(WIP)</small>
+
|[https://github.com/iXit/wine-nine-standalone/releases v0.8]  <small>(WIP)</small>
 
|Direct3D 9
 
|Direct3D 9
 
|Gallium
 
|Gallium
Line 263: Line 223:
 
|Vulkan
 
|Vulkan
 
|{{✓}} ||{{✓}} ||{{TBD}}
 
|{{✓}} ||{{✓}} ||{{TBD}}
 +
|-
 +
|[https://github.com/crosire/d3d8to9/ d3d8to9]
 +
|align=left|{{Icon|Windows}}
 +
|[https://github.com/crosire/d3d8to9/releases git]
 +
|Direct3D 8
 +
|Direct3D 9
 +
|{{✓}} ||{{✓}} ||{{~}}
 
|-
 
|-
 
|[https://github.com/microsoft/D3D9On12 D3D9On12]
 
|[https://github.com/microsoft/D3D9On12 D3D9On12]
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|[https://github.com/microsoft/D3D9On12 git]
+
|[https://github.com/microsoft/D3D9On12 releases git]
 
|Direct3D 9
 
|Direct3D 9
 
|Direct3D 12
 
|Direct3D 12
Line 273: Line 240:
 
|[https://github.com/microsoft/D3D11On12/ D3D11On12]
 
|[https://github.com/microsoft/D3D11On12/ D3D11On12]
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|[https://github.com/microsoft/D3D11On12/ git]
+
|[https://github.com/microsoft/D3D11On12/ releases git]
 
|Direct3D 11
 
|Direct3D 11
 
|Direct3D 12
 
|Direct3D 12
Line 291: Line 258:
 
|<small>no API conversion</small>
 
|<small>no API conversion</small>
 
|{{✗}} ||{{✓}} ||{{~}}
 
|{{✗}} ||{{✓}} ||{{~}}
|-
 
|GLon12
 
|align=left|{{Icon|Windows|Xbox}}
 
|
 
|OpenGL
 
|Direct3D 12
 
|{{✓}} ||{{✓}} ||{{TBD}}
 
 
|-
 
|-
 
|}
 
|}
Line 312: Line 272:
  
 
;VKD3D-Proton
 
;VKD3D-Proton
:A fork of VKD3D funded by Valve, which is more developed and has experimental support for DXR via VK_KHR_ray_tracing. Requires DXVK's dxgi.dll file to work on Windows.
+
:A fork of VKD3D funded by Valve, which is more ahead and experimentally supports DXR via VK_KHR_ray_tracing.
  
 
;vkd3d
 
;vkd3d
 
:Wine's work-in-progress Direct3D 12 to Vulkan wrapper.
 
:Wine's work-in-progress Direct3D 12 to Vulkan wrapper.
 
;d3d8to9
 
:Not as versatile as dgVoodoo2, however it's the only wrapper that can wrap Direct3D 8 into 9. Its main advantage is Windows XP support, which dgVoodoo2 lacks. It's specifically useful for Windows XP running in VMware, since VMware's Direct3D 8 acceleration has graphical and/or performance issues.
 
  
 
;MoltenVK
 
;MoltenVK
:Developed by the Brenwill Workshop under the Khronos Group, it re-implements Vulkan for Metal. Emulators like [[Dolphin]] and [[DuckStation]] use MoltenVK instead of a native Metal renderer to support Apple devices.
+
:Developed by the Brenwill Workshop under the Khronos Group, it reimplements Vulkan for Metal. Emulators like [[Dolphin]] and [[DuckStation]] use MoltenVK instead of a native Metal renderer to support Apple devices.
  
 
;Gallium Nine
 
;Gallium Nine
:An implementation of the Direct3D 9 library on top of the Gallium driver for Linux. By using calls native to Linux, applications running under Wine run "at near-native speeds" according to the maintainers. The caveat is that it only works on Mesa, not NVIDIA's proprietary driver.
+
:An implementation of the Direct3D 9 library on top of the Gallium driver for Linux. By using calls native to Linux, applications running under Wine run "at near-native speeds" according to the maintainers. The caveat is that this only works on Mesa, not NVIDIA's proprietary driver.
  
 
;Zink
 
;Zink
 
:A "just-in-case" implementation of OpenGL on top of Vulkan first introduced in 2018 by Collabora for the Mesa driver.<ref>Erik Faye-Lund (October 31, 2018). [https://www.collabora.com/news-and-blog/blog/2018/10/31/introducing-zink-opengl-implementation-vulkan/ Introducing Zink, an OpenGL implementation on top of Vulkan]. Collabora.</ref>
 
:A "just-in-case" implementation of OpenGL on top of Vulkan first introduced in 2018 by Collabora for the Mesa driver.<ref>Erik Faye-Lund (October 31, 2018). [https://www.collabora.com/news-and-blog/blog/2018/10/31/introducing-zink-opengl-implementation-vulkan/ Introducing Zink, an OpenGL implementation on top of Vulkan]. Collabora.</ref>
 +
 +
;d3d8to9
 +
:Not as versatile as dgVoodoo2, however it's the only wrapper that can wrap Direct3D 8 into 9. Its main advantage is Windows XP support, which dgVoodoo2 lacks. It's specifically useful for Windows XP running in VMWare, since VMWare's Direct3D 8 acceleration has graphical and/or performance issues.
  
 
==See also==
 
==See also==
Line 336: Line 296:
  
 
==External links==
 
==External links==
;* [https://www.vogons.org/viewtopic.php?f=9&t=36412 VOGONS: The Wrapper Collection Project]
 
;* [https://www.pcgamingwiki.com/wiki/Glossary:Display_wrapper PCGamingWiki: Display wrapper]
 
 
* [https://www.gamingonlinux.com/articles/dxvk-102-is-out-with-some-bug-fixes-d9vk-seems-to-be-progressing-nicely.13868/page=2#r151939 State of Direct3D 9-12 translation layers] by DXVK author YoRHa-2B (2019-04-02)
 
* [https://www.gamingonlinux.com/articles/dxvk-102-is-out-with-some-bug-fixes-d9vk-seems-to-be-progressing-nicely.13868/page=2#r151939 State of Direct3D 9-12 translation layers] by DXVK author YoRHa-2B (2019-04-02)
* [https://www.youtube.com/@Levan4KGaming/search?query=performance%20benchmark Levan's Wrapper Benchmarks]
 
  
 
[[Category:Not really emulators]]
 
[[Category:Not really emulators]]

Please note that all contributions to Emulation General Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Emulation General Wiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)