正如希望变得清楚的那样,我真的不知道我在做什么,所以对下面的任何愚蠢行为表示歉意,并且请不要假设任何未隐含在我已经做过的事情中的背景知识(即使如此,可能最好谨慎行事)。
我正在使用 MATE 运行 Mint 18 64 位,Winehq-staging 4.12.1~xenial。我的图形硬件是 Intel 的 HD Graphics 510 iGPU。
当启动Battle.net应用程序时,我可以登录,并且该应用程序显然运行良好,例如下载和安装游戏;但除了某些鼠标悬停信息(有关游戏安装进度)和光标之外,主窗口的内容不会显示,光标会根据其在窗口中的位置更改类型。
窗户一开始是黑色的;如果我打开另一个应用程序然后返回Battle.net,它会显示其后面的固定图像,然后如果我移动窗口则返回黑色。我可以通过右键单击 MATE 任务栏通知区域中的 Battle.net 图标来访问“设置”和其他窗口。
从终端运行时,我得到一个很多修复消息以及一些基本类型的错误:
00bb:err:vulkan:wine_vkCreateInstance Failed to create instance, res=-9
[0711/165930.162:ERROR:gpu_process_transport_factory.cc(1031)] Lost UI shared context.
[0711/165934.016:ERROR:command_buffer_proxy_impl.cc(130)] ContextResult::kTransientFailure: Failed to send GpuChannelMsg_CreateCommandBuffer.
主要的就是这些,不过我也看到过
[0710/231759.122:ERROR:command_buffer_proxy_impl.cc(111)] ContextResult::kFatalFailure: Shared memory region is not valid
[0710/231900.486:ERROR:latency_info.cc(144)] Surface::TakeLatencyInfoFromFrame, LatencyInfo vector size 101 is too big.
0035:err:ole:CoCreateInstanceEx apartment not initialised
[0711/221922.748:ERROR:network_change_notifier_win.cc(157)] WSALookupServiceBegin failed with: 8
我尝试过一些事情,其中一些可能会让事情变得更糟。
来自 WineHQ:
- 禁用浏览器硬件加速
- 杀死Agent.exe
从 Lutris github 页面(我没有使用 Lutris):
- 删除应用程序数据下的缓存文件夹
- 禁用流媒体
- 检查 Wine 是否启用了 32 位架构
- 检查我是否从 Battle.net.exe 启动而不是从 Battle.net Launcher.exe 启动
- 安装为我的设置推荐的所有库(libgnutls30:i386 libldap-2.4-2:i386 libgpg-error0:i386 libxml2:i386 libasound2-plugins:i386 libsdl2-2.0-0:i386 libfreetype6:i386 libdbus-1-3:i386 libsqlite3- 0:i386)
- 安装 Padoka(稳定),其中包括 Vulkan 驱动程序;然后删除它,因为它是为 Ubuntu 18.04 设计的,而 Mint 18 基于 Ubuntu 16.04;但显然我的系统上仍然有一些 Vulkan 驱动程序 (mesa-vulkan-drivers mesa-vulkan-drivers:i386)
这些似乎都没有做任何事情。
尤其是最后一个让我很困惑。当我在网上查找有关 Vulkan 驱动程序的信息时,我找到了适用于 Nvidia 或 AMD 显卡的信息(Mesa 似乎适用于后者)。我两者都没有,而且英特尔的 iGPU 最近才开始支持 Vulkan...但我认为无论如何都有人在带有 iGPU 的系统上运行 Battle.net,所以我真的不知道该得出什么结论。
当我运行 vulkaninfo | grep --ignore-case err 我明白了
ERROR: [loader] Code 0 : /usr/lib/i386-linux-gnu/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
ERROR: [loader] Code 0 : /usr/lib/i386-linux-gnu/libvulkan_intel.so: wrong ELF class: ELFCLASS32
我开始尝试研究这个问题,但开始迷失方向。
我的旧 iGPU 是否可以让 Vulkan 正常工作?如果没有,我还能让 Battle.net 运行吗?
答案1
我在 Debian 上也遇到同样的问题:Battle.net 中出现黑屏,但不仅限于此。据我所知,Wine staging 4.12.1 似乎有问题......
尝试降级回 4.11,看看是否有帮助。