Je verwart waarschijnlijk Feral Interactive met Virtual Programming. Deze laatste gebruiken een technologie genaamd eON wat een soort container is waar ze de Windows binaries in stoppen zodat ze op MacOS en Linux kunnen draaien. Deze technologie lijkt erg op wat Wine doet hoewel ze beweren deze zelf te hebben ontwikkeld. Er zijn dus geen aanpassingen in de originele code van het spel nodig bij deze manier van porten. Op deze manier hebben ze onder andere Bioshock: Infinite, een aantal Saints Row spellen en The Witcher 2 naar Linux gebracht.
Feral Interactive doet wel aanpassingen aan de originele broncode om een spel naar Linux en MacOS te porten. Voor de vertaling van Direct3D draw calls naar OpenGL danwel Vulkan gebruiken ze wel een zelf ontwikkeld stukje middleware genaamd InDirectX, maar de overige code wordt echt native gemaakt voor het platform.
Persoonlijk heeft de methode van Feral Interactive mijn voorkeur. Ten eerste zou het in theorie beter performance moeten opleveren door zoveel mogelijk van de code native te maken, ten tweede lossen ze nog wel eens een bug op in de spellen die ze onder handen nemen, waar Windows gebruikers ook weer profijt van hebben, simpelweg omdat er verse ogen naar de broncode kijken. Virtual Programming neemt alle bestaande bugs gewoon mee in hun "ports". Bovendien presteerden een aantal Linux releases van Virtual Programming, met name die van The Witcher 2, erg slecht toen ze net uit waren. Dit is inmiddels geloof ik wel verholpen.
Als je geïnteresseert bent in deze materie zou je de projecten
DXVK en
VKD3D in de gaten kunnen houden. Deze vertalen respectievelijk Direct3D 10/11 en Direct3D 12 draw calls naar Vulkan. Wine zijn eigen manier van draw calls vertalen doet dit altijd naar OpenGL en komt niet verder dan DirectX 11.