Changes

Jump to navigation Jump to search

Compatibility layers

616 bytes added, 20:06, 20 January 2019
no edit summary
While not strictly emulation ''per se'' (hence why [[Wine]] stands for "Wine Is Not an Emulator"), '''compatibility layers''' allow software written for one operating system to run on a different OS, often by translating API and system calls made by an application to their equivalent calls in the host operating system. In theory, this should allow for near-native performance since no processor emulation takes place, but in practice certain some software such as games will tend to run a bit slower due to other bottlenecks that occur as a result of [[Emulation accuracy|replicating the correct behavior]], such as in the case of accounting for graphics APIs like Direct3D to OpenGL translation as done through Winethat aren't supported on non-Microsoft platforms. Additionally, compatibility layers may also use emulation in order to run software built for a different architecture.
==Compatibility layers==
==Graphics APIs==
There are Compatibility layers may also compatibility layers for graphics APIsmake use of '''wrappers''', sometimes refered to as wrappers. They enable software written for which translate a specific graphics API to run on another. This can be used How the user sets up the wrapper varies between each project but most involve a drop-in replacement of the original libraries. To understand why this is needed for older games, it's important to run older software on more modern hardware understand that during the 90s the graphics card market for [[86/286/386/486/Pentium/Pentium_II|IBM PCs and operating systemscompatibles]] was in its infancy, such as and Direct3D wasn't an automatic choice for developers. Some games were often designed for the 3Dfx 's Glide API without the need for having 3Dfx so that it would run with their Voodoo graphics card. Or running With 3dfx going bankrupt however, support for Glide didn't stay around and was basically abandoned for so long that modern Windows does not support it. A wrapper is now needed to play these games on Linux by translating Direct3D calls , or if we're lucky the game gets [[Game engine recreations/Source Ports|a port]] to Vulkanother APIs instead.
{| class="wikitable sortable" style="text-align:center;"
! scope="col"|Operating System(s)
! scope="col"|Latest Version
! scope="col"|Translates
! scope="col"|Into
! scope="col"|Active
! scope="col"|[[Recommended Emulators|Recommended]]
! scope="col"|Translates from
! scope="col"|To
|-
|[http://www.zeus-software.com/downloads/nglide nGlide]
|Windows
|[http://www.zeus-software.com/downloads/nglide 2.0]
|{{✓}} ||{{✓}}
|Glide
|Vulkan, Direct3D 9
|{{✓}} ||{{✓}}
|-
|[https://github.com/doitsujin/dxvk DXVK]
|Linux
|[https://github.com/doitsujin/dxvk/releases 0.95]
|Direct3D 10, Direct3D 11
|Vulkan
|{{✓}} ||{{✓}}
|Direct3D 10 & 11
|Vulkan
|-
|[https://github.com/KhronosGroup/MoltenVK MoltenVK]
|macOS, iOS
|[https://github.com/KhronosGroup/MoltenVK/releases 1.0.31]
|{{✓}} ||?
|Vulkan
|Metal
|{{✓}} ||?
|-
|[http://dege.freeweb.hu/ dgVoodoo 2]
|Windows
|[http://dege.freeweb.hu/dgVoodoo2/dgVoodoo2.html 2.55.4]
|Direct3D 1-7, Direct3D 8.1, Glide
|Direct3D 11
|{{✓}} ||?
|DirectX 1-7, Direct3D 8.1, Glide
|Direct3D 11
|-
|[https://github.com/disks86/VK9 VK9]
|Windows, Linux
|[https://github.com/disks86/VK9/releases 0.29.0]
|{{✓}} ||?
|Direct3D 9
|Vulkan
|{{✓}} ||?
|-
|[http://www.glidos.net/ Glidos]
|Windows
|[http://www.glidos.net/download.html 1.53b]
|Glide <small>(DOS)</small>
|?
|{{✗}} ||?
|Glide (DOS games)
|?
|-
|[http://openglide.sourceforge.net/ OpenGlide]
|Windows
|[https://sourceforge.net/projects/openglide/files/latest/download 0.09 Alpha]
|{{✗}} ||?
|Glide
|OpenGL
|{{✗}} ||?
|-
|[https://sourceforge.net/projects/psvoodoo/ psVoodoo]
|Windows
|[https://sourceforge.net/projects/psvoodoo/files/latest/download 0.13]
|{{✗}} ||?
|Glide
|Direct3D 9
|{{✗}} ||?
|}
 
===Comparisons===
927
edits

Navigation menu