Changes

Jump to navigation Jump to search

Wrappers

113 bytes added, 15:08, 19 December 2019
rewrote the lead and comparisons just enough to fix the existing problems for now
{{WIP}}
A '''wrapper''' is a common name for a [[Compatibility layers|compatibility/translation layer]] that translates from technology used to transparently replace calls made to one ''graphics API'' with calls made to another. This can be used to run software on systems they were not designed for. Such , 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. A wrapper often takes the form of a shared library that replaces the original, though it can also be a standalone interceptor. Wrappers aren't needed for OpenGL since its APIs don't require much translation. Despite this, [https://www.collabora.com/news-and-blog/blog/2018/10/31/introducing-zink-opengl-implementation-vulkan/ a wrapper was created for it anyway].
==90's APIs==
===Comparisons===
;[http://www.zeus-software.com/downloads/nglide nGlide]
A Currently the best Glide wrapper, but it's 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 public API versions are supported, Glide ; 2.11, Glide 2.60 and Glide 3.10. nGlide emulates Glide environment with , and it reads them using Direct3D 9 and version . Vulkan output was added in 2.0 implemented Vulkan support, which also makes allows it to work under Linux using [[Wine]] Staging 2.10.0 or and newer.<ref name="nglidevulkan">http://www.zeus-software.com/forum/viewtopic.php?f=2&t=2044</ref> Glide wrapper nGlide also supports high resolution modes. This is currently See 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 WindowsDespite the name, dgVoodoo 2 reimplements more than Glide. The API's it currently can wrap are: It replaces multiple APIs; 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 outputs Direct3D 11 with different device types as wrapping output such as hardware or software rendering.
;[[Wine]]
A compatibility layer for Linux. On its own, Wine works mostly pretty well for running older DirectX games. It is possible to use Some forks allow Wine's wrapper built-in reimplementations to run under Windows using different forks.
;[https://www.dxgl.org/ DXGL]
A free replacement for the Windows ddraw.dll library, running on outputting OpenGL. It is 's designed to overcome driver bugs, particularly mainly in Windows Vista and newer operating systemsbeyond. It also adds various rendering enhancements to the graphics output such as display scaling and filtering options. DXGL also supports the DirectX Direct3D 7.0 graphics APIs, however it is 's currently under development and does not doesn't work with many programs.
==2000's and later APIs==
===Comparisons===
;[https://github.com/doitsujin/dxvk DXVK]
A Vulkan-based translation layer wrapper for Direct3D 9-11, which allows running Windows 3D applications on Linux using . DXVK was designed to speed up support for Direct3D 11 games in [[ProtonWine]] or and, later, [[WineProton]]since a native implementation seemed unlikely.
:;[https://github.com/Joshua-Ashton/d9vk D9VK]
:is a A fork for Direct3D 9 to Vulkan translation layer based off , originally created when DXVK's codebasewas designed for Direct3D 10 and 11. Has been Was merged back into DXVK as of the main project in 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 's possible to use Wine's wrapper in Windows using different forks.
;[https://github.com/iXit/wine-nine-standalone Gallium Nine]
Gallium nine is an An open-source implementation of DirectX the Direct3D 9library. Gallium Nine makes is different since it possible uses calls native to run Direct3D 9 applications on Linux natively, ias opposed to another graphics API like Vulkan.e. without any calls translation which This allows for a applications to run at near -native speedspeeds. ItThe catch is that it relies on Gallium, Linux's only available if you are using a open source 3D renderer, and any driver that doesn't use Gallium based graphics driver. Currently itis less likely to work (such as NVIDIA's recommended for AMD and Intel cards, but not for nVidia cardsproprietary drivers).
;[https://source.winehq.org/git/vkd3d.git/ vkd3d]
is an internal Wine wrapper for A work-in-progress Direct3D 12 to Vulkan translation. Sponsored wrapper created for Wine by Valve. Currently a work in progress.
;[https://github.com/disks86/VK9 VK9]
runs A Direct3D 9 applications on Windows or Linux (with [[Wine]]) over wrapper that outputs to Vulkan.
==External links==
* [https://www.gamingonlinux.com/articles/dxvk-102-is-out-with-some-bug-fixes-d9vk-seems-to-be-progressing-nicely.13868/comment_idpage=151939 2#r151939 State of Direct3D 9-12 translation layers] by DXVK author YoRHa-2B (2019-04-02)
==References==
{{Reflist}}
927
edits

Navigation menu