whatshotWine游戏助手调试Wine应用的方法(求助时可用)

@Ta 2020-10-18发布,2022-04-25修改 27181点击

点击底部查看全部查看完整步骤(共8步)。


  1. 打开终端。
    图片.png

  2. 输入以下命令(注意,请勿使用root权限,应该使用普通用户权限):

killall python3; WINEDEBUG=+loaddll,+pid,+timestamp /opt/apps/net.winegame.client/files/bin/winegame 2>&1 | tee ~/wine.log

这会启动Wine游戏助手,并且在终端上显示一系列日志信息。同时,你的主目录(也就是/home/用户名目录)也会产生一个wine.log,包含相同的日志信息。

图片.png

  1. 如果你要调试安装游戏时遇到的问题,请开始安装操作,在安装失败后跳到第7步。

    如果你想调试游戏运行问题,请选择你想调试的游戏,点击设置按钮。新版没有设置按钮,请右击游戏,选择“配置”。

图片.png

  1. 在“运行环境选项”中,把“输出调试信息”选为“根据环境变量”,然后点击“保存”。

注意,要选根据环境变量不是选启用,不要选错!

图片.png

  1. 启动游戏,观察终端上是否有大量日志输出。如果输出的日志很少,说明设置不正确,请确认你完成了第4步。日志量应该非常大,类似下图,出现很多dll字样,一眼望不到头:

图片.png

  1. 进行你想进行的操作,然后等问题发生。

  2. 问题发生后,如果你会分析日志,你就可以开始分析了。如果不会,请把主目录里的wine.log发给会分析日志的人(比如我,请@老虎会游泳),然后看看他们有什么结论。

  3. 如果你想停止调试,把“输出调试信息”改为“禁用”即可。

图片.png


日志分析技巧

  1. 寻找感兴趣的内容:
# 查看历史日志
cat ~/Desktop/wine.log | grep --line-buffered -iE 'exe|dx|d3d|ddraw|found|winedbg|err|privateprofile'

# 持续跟踪新产生的日志
tail -F ~/Desktop/wine.log | grep --line-buffered -iE 'exe|dx|d3d|ddraw|found|winedbg|err|privateprofile'
  1. Wine官方调试指南:

关于winecfg的“函数库顶替”(dll override)功能

wine有两种系统dll,原生dll(就是windows用的dll)和内建dll(wine开发者编写的dll)。把程序需要的部分dll由内建换成原生,有时候可以提高程序的稳定性,修复程序执行错误。

winetricks可以替换常见dll,我们也可以从windows手动复制dll,然后在winecfg里面设置该dll为“原装先于内建”,以便wine加载它。

不过,对于程序特有的dll,因为系统里不存在,所以用的总是原装dll,通常不存在问题。

但是,并不是所有dll都可以用原装,有时候内建确实更好。而把哪些dll由内建改为原装,就是一个需要根据经验做出的决定了。

上面生成的日志里有“这个程序加载了哪些dll”这样的信息。适配wine应用,基本上就是根据这些信息做出决定,选择把哪些内建dll替换为原装。

回复列表(8|隐藏机器人聊天)
  • @Ta / 2020-11-13 / /

    老虎为何执着玉wine?让他安心做开发环境不好吗。
    小米8(白)

  • @Ta / 2020-11-14 / /

    @艾木友尔尔巴wine游戏助手是我新推出的服务(代码来自开源项目),我当然要好好重视它。否则我干嘛要推出该服务。

  • @Ta / 2020-11-14 / /

    @老虎会游泳
    小米8(白)

  • @Ta / 2020-11-14 / /

    @老虎会游泳,单机游戏支持吗。我去玩玩。隔壁老王游戏很好玩
    小米8(白)

  • @Ta / 2020-11-14 / /

    @艾木友尔尔巴,如果在steam购买的游戏,可以直接使用steam play功能游玩。
    在其他地方购买的游戏,如果在网站的列表中,可以一键安装。
    如果不在列表中,可以自行尝试安装:
    https://hu60.cn/q.php/bbs.topic.94926.html

    不保证游戏能够启动。有些游戏需要专门适配才能启动。有些游戏以目前的wine不可能启动。

  • @Ta / 2023-02-24 / /
    @ChatGPT steam如何在任何Linux发行版使用EAC反作弊
  • @Ta / 2023-02-24 / /

    [新会话] @244099121,要在Linux上使用EAC反作弊程序,您需要使用Wine兼容层。Wine允许您在Linux上运行Windows应用程序,包括EAC。

    以下是在Linux上使用EAC的步骤:

    1. 安装Wine

    在大多数Linux发行版上,您可以使用包管理器来安装Wine。例如,在Ubuntu上,您可以打开终端并运行以下命令:

    sudo apt install wine
    
    1. 下载Steam和EAC

    下载Steam和EAC的最新版本。您可以从Steam官方网站下载Steam,而EAC只能从Steam游戏内下载。您需要安装至少一个游戏使用EAC。

    1. 启动Steam

    使用Wine启动Steam。在终端中,进入Steam所在的目录并运行以下命令:

    wine steam.exe
    

    如果您使用的是其他Linux发行版,请将此命令中的"wine"替换为您的Wine二进制文件的路径。

    1. 启用EAC

    在Steam中打开使用EAC的游戏,并启用EAC。您可以在游戏选项中找到EAC设置。确保您的游戏是最新版本,并且已经安装EAC。

    1. 运行游戏

    现在,您可以运行使用EAC的游戏并开始游戏。如果EAC正常工作,它将在游戏开始时运行,并在游戏运行期间保持运行状态。

    需要注意的是,EAC对Wine的支持并不完美,因此有些游戏可能无法正常运行。此外,某些游戏可能会有关于使用Wine和EAC的限制和警告。在使用Wine和EAC之前,请确保仔细阅读游戏的文档和EAC的文档。

添加新回复
回复需要登录