当前位置: 首页 > 工具软件 > DXVK > 使用案例 >

ubuntu+wine+dxvk-run windows game

萧胜
2023-12-01

最近严重警告:目前国内网游游戏很多且大部分内置或者外置了一堆的反外挂程序和系统.
导致wine模拟反挂系统异步艰难,所以该项目太受国内拥有网络游戏反挂程序的欢迎.
经过测试.在腾讯旗下的99%以上的网游基本无法运行.单机亦可.凡是需要wegame平台的网络和单机无法运行.凡是拥有R1层级的反挂系统无法运行.凡是基于系统非常底层的反外挂扫操作无法运行.且这些都和本项目无关,源自于wine还没达到真正的windows的完成度.介于此,本教程也有可以运行steam上大部分单机.覆盖面积80%左右.

dxvk项目地址:https://github.com/doitsujin/dxvk
对驱动及部分环境版本要求:

wine版本:3.13以上(其他版本可能因为wine开发版的问题会出现异常)
推荐自己托wine源码自己make
sudo apt-cache policy winehq-devel
sudo apt-get install wine-devel-amd64=3.13.0~xenial
sudo apt-get install wine-devel-i386=3.13.0~xenial
sudo apt-get install winehq-devel=3.13.0~xenial
vulkan tunrime(无版本要求.下windows版本.用wine安装):https://vulkan.lunarg.com/sdk/home#windows
nv显卡驱动版本:dxvk作者要求396.54.09(但是最新能不能用.稳定不稳定.兼容不兼容.老黄有没有负优化不得而知)
dxvk:项目版本最新不代表最好.最稳定才是王道.跟着作者走吧

更新wine环境参数最好退出当前正在依赖wine内所有程序进行修改。或者修改后对wine进行一次参数重载,否则无法生效

wine环境部分依赖:
wine32位和64位Fix:(推荐64位。因为Steam已经在3个月后不再支持Server2003 32位了)
32位

rm -r ~/.wine 
WINEARCH=win32  WINEPREFIX=~/.wine winecfg

64位

WINEARCH=win64  WINEPREFIX=~/.wine winecfg

安装winetricks:

sudo apt-get install winetricks

利用winetricks安装以下依赖:

directx9(MS DIRECTX9(Usually overkill.Try d3dx9_36 first))
msvcirt Visual C++6 SP4 msvcirt library;part of vcrun6
vcrun2005
vcrun2008
wininet (非常重要,不装Steam会在64位下闪退)

结束当前wine所有服务

wineserver -w
 wineserver的一些参数

1、-d# 设置终端中debug的显示级别。

2、-h 显示wineserver帮助文件

3、-k kill掉当前的wineserver,当程序失去响应而你要结束它时使用。

4、-p 让wineserver一直运行,也就是说即使程序退出了,wineserver还继续运行。当你需要运行连续的程序时可以使用,这样可以缩短程序的启动时间。

5、-w 让wineserver一直运行直到当前已激活的wineserver退出。

5.6让Wine运行更流畅

当出现程序运行缓慢或性能起伏不定的问题时,可以通过提高进程的优先级来解决。启动游戏后,可以使用“renice”命令来改变进程的优先级。 “renice”命令可以改变当前进程的优先级,“nice”的值是优先级级别的标志,(高优先级=低nice值,低优先级=高nice值)。这个命令把程序优先级的值设置为从-20(最高优先级)到19(最低优先级)之间的任何一个整数值,而默认的值是0。在启动游戏以后,你需要打开另外一个终端输入下面的命令来改变程序的优先级:

代码:

sudo renice -10 -n game.exe

在用Wine运行游戏时,我不推荐直接把程序的优先级设置到-20,最好是从-10开始,如果效果提升不明显,可以一步步尝试小幅度的提高(- 11,-12,……)。你会发现绝大多数的游戏不需要比-10更高的优先级就已经可以达到最好的性能了。不用多说(我认为),在游戏中你可以用ALT- TAB组合键回到桌面使用“renice”命令。

设置wine的windows版本:

 env WINEPREFIX=~/.wine winetricks -q win7

dxvk注意事项:
需要重点针对wine模拟的windows版本为准。Steam将在5个月后。可能不再支持windows xp的支持。所以我们德选择采用win7或者更高的模拟环境去加载dll。

以下是在wine 64位 模拟win7下部分会出现steam错误或者部分导致steam闪退的错误修复,不一定完整
error:
‘ntlm_auth --version’ say on your system?
fix:

sudo apt-get install ntlm_auth

error:
winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your

sudo apt install winbind

关于DXVK HUB注册显示dxvk运行资源。需要在wine内增加环境变量hub=1
或者如下内容:
(警告:由于HUD拥有10项参数数据会同步实时刷新。且刷新频率较高。如果全部开上可能会导致游戏FPS降低)

wine cmd
regedit
在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment建立一个字符串值
DXVK_HUD=devinfo,fps,frametimes,submissions,drawcalls,pipelines,memory,version

wine64手动运行Steam参数
可显示页面

wine Steam.exe -no-cef-sandbox

不可显示页面

wine Steam.exe

Wine下64位运行Steam启动出现steamwebhelper.exe错误解决
在winecfg内把steamwebhelper.exe单独设置windows7版本
函数库:

*atl100 (原装先于内建)
*atl80 (原装先于内建)
*atl90 (原装先于内建)
*cmd.exe (原装先于内建)
*gdiplus (原装)
*msctf (原装先于内建)
*msvcm80 (原装先于内建)
*msvcm90 (原装先于内建)
*msvcp100 (原装先于内建)
*msvcp80 (原装先于内建)
*msvcp90 (原装先于内建)
*msvcr100 (原装先于内建)
*msvcr80 (原装先于内建)
*msvcr90 (原装先于内建)
*msxml4 (原装先于内建)
*riched20 (原装先于内建)
*vcomp (原装先于内建)
*vcomp100 (原装先于内建)
*vcomp90 (原装先于内建)
riched20 (原装先于内建)
riched32 (原装先于内建)

驱动设置:
export __GL_NextGenCompiler=0

6.3 I ran wine with sudo or as root. How do I fix my permission errors?
You need to fix the permissions on your ~/.wine directory, this is where all Wine state, configuration and any important data you might have such as installed programs, saved data within Wine programs, etc. are stored. Once you delete or fix the permissions on this directory, rerun Wine as a regular user always! Run the following to fix the permissions on your ~/.wine directory if it now has root permissions.

cd $HOME
sudo chown -R $USER:$USER .wine
 类似资料: