Valve已发布Proton 4.11项目的新分支,它基于Wine项目的开发,旨在保证为Windows创建并在Steam目录中介绍的游戏应用程序在Linux上启动。 该项目的开发是在BSD许可下分发的。 他们准备好了,在Proton中开发的更改将延续到原始的Wine和相关项目,例如DXVK和vkd3d。
Proton允许您直接在Steam Linux客户端上运行仅适用于Windows的游戏 。 该软件包包括DirectX 10/11(基于DXVK)和12(基于vkd3d)的实现,通过将DirectX调用转换为Vulkan API的工作,为游戏控制器提供了更好的支持以及使用全屏模式的能力。
Proton 4.11的主要新颖之处
随着这个新分支的发布,Proton已移至与Wine 4.11基本代码同步, 从中转移了3300多个更改(以前的分支基于wine 4.2)。 154个质子4.2补丁已移至上游,现在已包含在Wine的主要部分中。
作为开发人员的主要新颖之处 重点介绍了基于futex()系统调用对同步原语的实验性支持, 与esync相比,可减少CPU负载。
另外,新的实现解决了需要使用特殊设置进行esync以及可能耗尽可用文件描述符的问题。
带指示器支架的贴片 FUTEX_WAIT_MULTIPLE Proton所需的功能已经结转以包含在主要的Linux内核和Glibc中。
准备好的更改尚未包含在内核的主要组成部分中,因此,此时必须安装一个支持这些原语的特殊内核。
也是DXVK层 (在Vulkan API之上的DXGI,Direct3D 10和Direct3D 11的实现) 它已更新为新版本1.3。
对于D9VK (在Vulkan上的Direct3D 9的实验实现) 到版本0.13f。 要在Proton中启用D9VK支持,请使用PROTON_USE_D9VK标志。
现在,许多Wine模块都已创建为Windows PE文件,而不是Linux库。 随着该领域工作的进展,PE的使用将有助于某些DRM和防作弊系统。
在这个新分支中突出的其他变化包括:
- 提供了当前监视器刷新率到游戏的传输
- 进行了与鼠标光标处理和窗口管理有关的修复
- 固定输入滞后和操纵杆振动支持问题,这在某些游戏中尤其是Unity引擎上的游戏中很明显
- 增加了对最新版本的OpenVR SDK的支持
- 带有DirectX声音库(API XAudio2,X3DAudio,XAPO和XACT3)的FAudio组件已更新至版本19.07
- 修复了GameMaker中游戏中网络子系统的问题
采用气门嘴贴片之前 在主要的Linux内核中,要使用futex()代替esync, 必须安装支持线程同步池的特殊内核 在fsync补丁集中实现。
在Ubuntu 18.04和19.04中,可以使用PPA存储库 具有实验性的Linux-mfutex-valve内核
可以使用以下命令添加:
sudo add-apt-repository ppa:valve-experimental/kernel-bionic -y sudo apt-get install linux-mfutex-valve
如何在Steam上激活Proton?
对于这 他们应该打开Steam客户端,然后单击左上角的Steam,然后单击设置。
在“帐户”部分,您将找到注册Beta版的选项。 这样做并接受后,将关闭Steam客户端并下载Beta版本(新安装)。
最后,访问他们的帐户后,他们返回相同的路径以验证他们已经在使用Proton。