![64 位版本的应用程序因 Wine 崩溃](https://linux22.com/image/161790/64%20%E4%BD%8D%E7%89%88%E6%9C%AC%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%9B%A0%20Wine%20%E5%B4%A9%E6%BA%83.png)
免责声明:我是Linux新手,对计算机一无所知。抱歉,如果下面有任何明显或愚蠢的内容。
我正在运行 Mint 19(64 位),带有 winehq-staging=3.21.0~bionic(版本 4似乎会导致错误与我想要运行的应用程序)。
在过去的几个月里,我一直在玩《星际争霸》,它是通过暴雪的 Battle.net 应用程序启动的,自从将 Wine 降级到 3.21 后就没有出现任何问题。截至昨天,我发现游戏在到达初始加载屏幕时崩溃(在菜单选项可用之前)。启动器仍然运行良好,所以我用它来检查更新并扫描丢失或损坏的文件 - 什么也没有。我重新安装了游戏,然后重新安装了Wine,然后重新启动,但没有效果。然后我想看看启动器中的“游戏设置”,尝试以32位模式启动游戏,结果成功了。
一个多星期没有更新或补丁。但为了确定,我再次检查了更新并扫描了丢失或损坏的文件。后者没有返回任何内容,但更新检查现在无限期地运行,据我所知,没有发送或接收任何大量数据。启动器仍然响应其他输入。我检查了我的互联网连接,一切正常。无论如何,游戏本身不需要互联网连接来运行。
启动器可以从三个不同的可执行文件运行,我记得当我试图让 Wine 4 工作时,至少提到其中一个可能是问题的根源。所以,为了彻底,我尝试过三个全部。似乎更新问题仅在我使用 StarCraft Launcher.exe 启动时发生,尽管无论我如何启动启动器,64 位游戏客户端的失败和 32 位游戏客户端的成功都是一致的。我也遇到过一两种情况,启动器本身出现错误窗口,但无法复制这种情况。
我遇到的错误并不是 100% 一致,但以下是我看到的主要错误(完整日志链接在下面)。令人困惑的是,即使一切似乎都正常,它们有时也会出现,而当事情不起作用时,它们中没有一个总是出现(第一个除外,无论如何它每次都会出现),这表明它们可能不属于问题...
003c:err:ole:CoCreateInstanceEx apartment not initialised
00e4:err:secur32:schan_free_handle Handle 0(0x15d0b0) is not of type 0x1
00e4:err:secur32:schan_free_handle Handle 1(0x15d0b8) is not of type 0x1
0019:err:winsock:WSAIoctl -> SIO_ADDRESS_LIST_CHANGE request failed with status 0x2733
[1005/201735.676:ERROR:network_change_notifier_win.cc(157)] WSALookupServiceBegin failed with: 8
[1005/201741.085:ERROR:gpu_process_transport_factory.cc(1031)] Lost UI shared context.
[1005/184835.251:ERROR:command_buffer_proxy_impl.cc(111)] ContextResult::kFatalFailure: Shared memory region is not valid
这是日志。
打开启动器然后运行32位游戏客户端(成功):
打开启动器然后运行64位游戏客户端(游戏崩溃,启动器仍然运行):
打开启动器然后检查更新:
- 星际争霸启动器.exe(无限期地继续,但启动器仍然响应其他输入)
- 战网启动器.exe(成功)
- 战网.exe(成功)
刚刚打开启动器: