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 | + | {{WIP}} |
− | + | A '''wrapper''' is a common name for a [[Compatibility layers|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== | ||
{| class="wikitable sortable" style="text-align:center;" | {| class="wikitable sortable" style="text-align:center;" | ||
|- | |- | ||
− | ! scope="col | + | ! scope="col"|Name |
− | ! scope="col"| | + | ! scope="col"|Operating System(s) |
! scope="col"|Latest Version | ! scope="col"|Latest Version | ||
! scope="col"|Translates | ! scope="col"|Translates | ||
! scope="col"|Into | ! scope="col"|Into | ||
− | |||
− | |||
! scope="col"|Active | ! scope="col"|Active | ||
! scope="col"|[[Recommended Emulators|Recommended]] | ! scope="col"|[[Recommended Emulators|Recommended]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|[http://www.zeus-software.com/downloads/nglide nGlide] | |[http://www.zeus-software.com/downloads/nglide nGlide] | ||
− | + | |Windows | |
|[http://www.zeus-software.com/downloads/nglide 2.10] | |[http://www.zeus-software.com/downloads/nglide 2.10] | ||
|Glide | |Glide | ||
− | |Vulkan | + | |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 | + | |Direct3D 11 |
− | + | |{{✓}} ||{{✓}} | |
|- | |- | ||
− | |[ | + | |[[Wine|Wine DirectX]] |
− | + | |Windows, Linux, macOS | |
− | |[https:// | + | |[https://wiki.winehq.org/Download {{WineVer}}] <small>(Linux, macOS)</small><br /> [https://fdossena.com/?p=wined3d/index.frag {{WineDevVer}}] <small>Windows</small> |
− | + | |DirectX 1-11 | |
− | + | |OpenGL | |
− | + | |{{✓}} ||{{✓}} | |
− | |||
− | |||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
|- | |- | ||
|[https://www.dxgl.org/ DXGL] | |[https://www.dxgl.org/ DXGL] | ||
− | + | |Windows | |
− | |[https://www.dxgl.org/downloads/ | + | |[https://www.dxgl.org/downloads/ 0.5.17] |
− | | | + | |DirectX 1-7 |
|OpenGL | |OpenGL | ||
− | + | |{{✓}} ||{{✗}} <small>WIP</small> | |
|- | |- | ||
|[http://www.glidos.net/ Glidos] | |[http://www.glidos.net/ Glidos] | ||
− | + | |Windows | |
− | |[http://www.glidos.net/download.html 1. | + | |[http://www.glidos.net/download.html 1.53b] |
|Glide <small>(DOS)</small> | |Glide <small>(DOS)</small> | ||
|? | |? | ||
− | + | |{{✗}} ||? | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|[http://openglide.sourceforge.net/ OpenGlide] | |[http://openglide.sourceforge.net/ OpenGlide] | ||
− | + | |Windows | |
|[https://sourceforge.net/projects/openglide/files/latest/download 0.09 Alpha] | |[https://sourceforge.net/projects/openglide/files/latest/download 0.09 Alpha] | ||
|Glide | |Glide | ||
|OpenGL | |OpenGL | ||
− | + | |{{✗}} ||? | |
|- | |- | ||
|[https://sourceforge.net/projects/psvoodoo/ psVoodoo] | |[https://sourceforge.net/projects/psvoodoo/ psVoodoo] | ||
− | + | |Windows | |
− | |[https://sourceforge.net/projects/psvoodoo/files/latest/download 0. | + | |[https://sourceforge.net/projects/psvoodoo/files/latest/download 0.13] |
|Glide | |Glide | ||
|Direct3D 9 | |Direct3D 9 | ||
− | + | |{{✗}} ||? | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|} | |} | ||
− | |||
− | |||
===Comparisons=== | ===Comparisons=== | ||
− | ;nGlide | + | ;[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. |
− | + | ;[[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] | |
+ | 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== | ||
{| class="wikitable sortable" style="text-align:center;" | {| class="wikitable sortable" style="text-align:center;" | ||
|- | |- | ||
! scope="col"|Name | ! scope="col"|Name | ||
− | ! scope="col"| | + | ! scope="col"|Operating System(s) |
! scope="col"|Latest Version | ! scope="col"|Latest Version | ||
! scope="col"|Translates | ! scope="col"|Translates | ||
! scope="col"|Into | ! scope="col"|Into | ||
− | |||
! scope="col"|Active | ! scope="col"|Active | ||
! scope="col"|[[Recommended Emulators|Recommended]] | ! scope="col"|[[Recommended Emulators|Recommended]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|[https://github.com/doitsujin/dxvk DXVK] | |[https://github.com/doitsujin/dxvk DXVK] | ||
− | + | |Linux | |
− | |[https://github.com/doitsujin/dxvk/releases | + | |[https://github.com/doitsujin/dxvk/releases 1.5] |
|Direct3D 9-11 | |Direct3D 9-11 | ||
|Vulkan | |Vulkan | ||
− | + | |{{✓}} ||{{✓}} | |
|- | |- | ||
− | |[[Wine| | + | |[[Wine|Wine Direct3D]] |
− | + | |Windows, Linux, macOS | |
− | |[https://wiki.winehq.org/Download {{WineVer}}] <small>(Linux, macOS)</small><br/>[https://fdossena.com/?p=wined3d/index.frag {{WineDevVer}}] <small> | + | |[https://wiki.winehq.org/Download {{WineVer}}] <small>(Linux, macOS)</small><br /> [https://fdossena.com/?p=wined3d/index.frag {{WineDevVer}}] <small>Windows</small> |
− | |Direct3D | + | |Direct3D 1-11 |
− | | | + | |OpenGL |
− | + | |{{✓}} ||{{✓}} | |
|- | |- | ||
− | |[https://github.com/ | + | |[https://github.com/iXit/wine-nine-standalone Gallium Nine] |
− | + | |Linux | |
− | |[https://github.com/ | + | |[https://github.com/iXit/wine-nine-standalone 0.5] |
− | |Direct3D | + | |Direct3D 9 |
− | | | + | |Native |
− | |{{✓}} ||{{ | + | |{{✓}} ||{{~}} <small>WIP</small> |
|- | |- | ||
− | |vkd3d | + | |[https://source.winehq.org/git/vkd3d.git/ vkd3d] |
− | + | |Linux | |
− | |[https://source.winehq.org/git/vkd3d.git/ | + | |[https://source.winehq.org/git/vkd3d.git/ 1.1] |
|Direct3D 12 | |Direct3D 12 | ||
|Vulkan | |Vulkan | ||
− | + | |{{✓}} ||{{✗}} <small>WIP</small> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|[https://github.com/KhronosGroup/MoltenVK MoltenVK] | |[https://github.com/KhronosGroup/MoltenVK MoltenVK] | ||
− | + | |macOS, iOS | |
− | |[https://github.com/KhronosGroup/MoltenVK/releases 1. | + | |[https://github.com/KhronosGroup/MoltenVK/releases 1.0.39] |
|Vulkan | |Vulkan | ||
|Metal | |Metal | ||
− | |{{✓}} || | + | |{{✓}} ||? |
|- | |- | ||
− | |[https:// | + | |[https://www.collabora.com/news-and-blog/blog/2018/10/31/introducing-zink-opengl-implementation-vulkan/ Zink] |
− | + | |Linux | |
− | + | |[https://gitlab.freedesktop.org/kusma/mesa/tree/zink Git] | |
− | + | |OpenGL | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |[https://gitlab.freedesktop.org/ | ||
− | |OpenGL | ||
|Vulkan | |Vulkan | ||
− | |{{✓}} || | + | |{{✓}} ||? |
|- | |- | ||
− | |[https://github.com/ | + | |[https://github.com/Joshua-Ashton/d9vk D9VK] |
− | | | + | |Linux |
− | |[https://github.com/ | + | |[https://github.com/Joshua-Ashton/d9vk Git] |
|Direct3D 9 | |Direct3D 9 | ||
− | | | + | |Vulkan |
− | |{{✓}} ||{{ | + | |{{✓}} ||{{✗}} |
|- | |- | ||
− | |[https://github.com/ | + | |[https://github.com/Joshua-Ashton/dxup DXUP] |
− | + | |Windows, Linux | |
− | |[https://github.com/ | + | |[https://github.com/Joshua-Ashton/dxup Git] |
+ | |Direct3D 9-10 | ||
|Direct3D 11 | |Direct3D 11 | ||
− | + | |{{{✗}} ||{{✗}} | |
− | |{ | ||
|- | |- | ||
− | |[https://github.com/ | + | |[https://github.com/disks86/VK9 VK9] |
− | + | |Windows, Linux | |
− | |[https://github.com/ | + | |[https://github.com/disks86/VK9/releases 0.29.0] |
− | |Direct3D | + | |Direct3D 9 |
− | | | + | |Vulkan |
− | |{{ | + | |{{✗}} ||{{✗}} |
− | |||
− | |||
− | |||
− | |||
− | | | ||
− | |||
− | |{{✗ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|} | |} | ||
===Comparisons=== | ===Comparisons=== | ||
− | ; | + | ;[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://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. |
− | ; | + | ;[[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/iXit/wine-nine-standalone Gallium Nine] |
− | + | Gallium nine is an open-source implementation of DirectX 9. Gallium Nine makes it possible to run Direct3D 9 applications on Linux natively, i.e. without any calls translation which allows for a near native speed. It's only available if you are using a Gallium based graphics driver. Currently it's recommended for AMD and Intel cards, but not for nVidia cards. | |
− | ;vkd3d | + | ;[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== | |
− | + | [https://www.gamingonlinux.com/articles/dxvk-102-is-out-with-some-bug-fixes-d9vk-seems-to-be-progressing-nicely.13868/comment_id=151939 State of Direct3D 9-12 translation layers] by DXVK author YoRHa-2B (2019-04-02) | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | = | ||
− | |||
==References== | ==References== | ||
{{Reflist}} | {{Reflist}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |