Wine推出4.0更新,支持 Vulkan、Direct3D 12等API

Wine是款能在macOS、Linux、BSD等类Unix操作系统中,执行Windows程序、游戏的工具软件,它的名称为“Wine Is Not an Emulator”的递归缩写,可以看出它并不是以仿真器的方式提供跨系统的软件兼容性。在最新推出的4.0版中,加入了Vulkan、Direct3D 12等绘图API与游戏控制器的支持。

一般来说,要在某种硬件平台或操作系统中执行其他系统的程序,大多依赖仿真器或虚拟机的方式完成。举例来说,Windows 10 on Arm是通过仿真器的方式,在Arm架构处理器上执行x86架构的Windows操作系统与相关应用程序,而VirtualBox这类的工具软件则属于虚拟机,它以软件方式分配实体硬件资源,并在主机(Host)创建多台虚拟的客户端(Clinet)计算机,让用户可以在这些虚拟计算机中安装、执行不同的操作系统与程序。

然而Wine却不是使用上述的方式,它能即时将Windows API调用(call)转换为POSIX调用,并提供替代的Windows系统函数库与系统组件,能够进一步降低效耗损与内存使用量,因此执行的效率比仿真器与虚拟机好。

Wine可以让Ubuntu操作系统执行Internet Explorer等Windows程序。 (图片来源:维基百科,本图采用创用CC姓名标示-相同方式分享,作者为Xiaq)

Vulkan与OpenGL一样是由Khronos Group开发的开放标准形式绘图API,都属有着跨平台的特性,能够支持Android、Linux、Windows等许多操作系统,然而由Microsoft开发的DirectX与内置的Direct3D则未对外开放,因此只能在Windows环境中运行。基于这个原因,要让Wine支持Vulkan并不是那么困难,但要直接支持Direct3D就不是容易的事。

Wine 4.0的作法是通过vkd3d函数库,将Direct3D 12转译为Vulkan,再由Vulkan进行绘图工作,因此显卡必需支持Vulkan才能使用这项功能。此外Wine 4.0也改善了Direct3D 10、11的功能,让更多游戏能顺利执行。

在游戏控制器方面,除了能购支持Linux系统常见的SDL API之外,也能支持XInput、Raw Input等API,让游戏控制器的支持度与兼容性获得改善。

至于Wine对于Windows平台的程序与游戏兼容性,可以参考官方网站的App数据库。在分类为“不需任何设置就能完美执行”的白金级清单中,可以看到《星际争霸:怒火燎原》、《星际争霸II》、《绝对武力:次世代》、《半条命2》等热门游戏,甚至连《侠盗猎车手V》都有成功完美执行的案例。

至于“设置后就能完美执行”的黄金级清单中,则有《魔兽世界》、《最终幻想XIV:苍天的伊修加尔德》、《黑客入侵:人类革命》等游戏,以及《Adobe Animate》绘图软件。 “具有不影响正常使用的小问题”的银级清单则有Steam主程序、《异尘余生3》游戏,与《Photoshop CS6》、《iTunes 12》等软件。

《侠盗猎车手V》有少量可以通过Wine完美执行的案例回报。 (图片来源:WineHQ,下同)
《星际争霸II》被官方放进“不需任何设置就能完美执行”的白金级清单。
《半条命2》也同属于白金级清单。
《Adobe Animate》则被归类于“设置后就能完美执行”的黄金级清单。

Steam主程序属于“具有不影响正常使用的小问题”的银级清单。

现在读者可以直接在官方网站的下载专区找到Wine 4.0的相关文件,也可以查阅更新说明。想要更深入了解Wine的话,也可以进一步阅读相关说明文件。