下载
WineDXVK项目地址:https://github.com/doitsujin/dxvk/
首先可以查看一下显卡是否支持VulkanAPI,主要看Devices那一块
$ vulkaninfo --summary
......
Devices:
========
GPU0:
apiVersion = 1.2.305 #支持的VulkanAPI版本
driverVersion = 25.0.7
......
由于我的显卡比较老旧,只支持Vulkan1.2,所以DXVK版本应该选择1.X(Vulkan1.3应选择2.X)
最终选择了1.10.3
使用Wget命令下载:
$ wget https://gh-proxy.org/https://github.com/doitsujin/dxvk/releases/download/v1.10.3/dxvk-1.10.3.tar.gz下载完成后解压
$ tar -zxvf dxvk-1.10.3.tar.gz安装
解压完成后进入dxvk-1.10.3目录下可以发现有x32和x64两个版本
我们需要将它们拷贝到syswow64和system32
$ cp x32/* ~/.wine/drive_c/windows/syswow64/
$ cp x64/* ~/.wine/drive_c/windows/system32/~/.wine是默认的wineprefix路径,如果你修改过,请替换为你的wineprefix路径
配置注册表
放入DLL后还需要配置注册表来让Wine优先使用这些DLL(不使用内置WineD3D)
可以使用for循环快速创建:
for dll in d3d9 d3d10 d3d10_1 d3d10core d3d11 dxgi; do
wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v $dll /t REG_SZ /d native,builtin /f
done也可以手动创建:
$ wine regedit导航到 HKEY_CURRENT_USER\Software\Wine\DllOverrides
右键新建字符串值,分别命名为上述DLL名称(d3d9、d3d10、d3d10_1、d3d10core、d3d11),数值数据设为 native,builtin
完成示例:
至此安装完成
测试
使用以下命令运行游戏:
$ DXVK_HUD=1 wine yourgame.exe如果左上角出现
即成功使用DXVK转译游戏
如果没有或报错崩溃请检查
- 设备是否支持VulkanAPI?
- 游戏本身是否兼容DXVK?
- DXVK DLL是否安装有误?
如何回退到WineD3D
终端输入
$ winecfg在打开的窗口中选择——函数库
将所有d3d dll修改(编辑)为内建先于原装
示例:
然后单击应用
再次运行DXVK_HUD=1 wine yourgame.exe如果左上角HUD窗口消失,即成功回退到WineD3D
从WineD3D回退到DXVK反着来就好了:将d3d dll修改为原装先于内建
常见问题
Q:使用Wine转译游戏时按Alt+Tab切换窗口后切回游戏卡住怎么办?
A:添加注册表项:wine reg add 'HKEY_CURRENT_USER\Software\Wine\X11 Driver' /t REG_SZ /v UseTakeFocus /d N /f
NB