Wine 无法运行 32 位 Windows 程序

Wine 无法运行 32 位 Windows 程序

我在使用 wine 时遇到了问题,因为它可以运行 64 位 Windows 程序,但不能运行 32 位程序。我尝试安装 32 位的 utorrent,但 wine 返回了此信息...

abhirup@debian:~/Downloads$ wine ./uTorrent.exe 
000f:err:service:process_send_command receiving command result timed out
000f:fixme:service:scmdatabase_autostart_services Auto-start service L"winebus" failed to start: 1053
0032:fixme:ver:GetCurrentPackageId (0xaeff0c (nil)): stub
0032:fixme:wbemprox:client_security_SetBlanket 6795E768, 0084AB78, 10, 0, (null), 3, 3, 00000000, 0x00000000
0032:fixme:wbemprox:client_security_Release 6795E768
0032:fixme:wbemprox:client_security_SetBlanket 6795E768, 0083A9E8, 10, 0, (null), 3, 3, 00000000, 0x00000000
0032:fixme:wbemprox:client_security_Release 6795E768
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  151 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  170
  Current serial number in output stream:  174

现在我在谷歌上搜索了两行“libGL 错误:未找到匹配的 fbConfigs 或视觉效果”和“libGL 错误:无法加载驱动程序:swrast”,我了解到 libGl 是一个 openGL 库,wine 使用它在屏幕上显示某些内容,而 libGL 有两个组件:32 位和 64 位。

我在 debian 10 上,使用带有 RTX 2060 gpu 的 Nvidia 450.80.02 Linux 驱动程序,libGL 文件位于:

/usr/lib/x86_64-linux-gnu/libGL.so.1.7.0 (64 bit)
/usr/lib/i386-linux-gnu/libGL.so.1.7.0 (32 bit)

以下是这些库的符号链接:

/usr/lib/libGL.so.1->/usr/lib/x86_64-linux-gnu/libGL.so.1->/usr/lib/x86_64-linux-gnu/libGL.so.1.7.0
/usr/lib/i386-linux-gnu/libGL.so.1->/usr/lib/i386-linux-gnu/libGL.so.1.7.0

因此,在确认我的系统中有一个 32 位库之后,我不知道如何知道 Wine 试图使用哪个 32 位 openGL 库来运行 32 位程序,以及如何更改它,因为我猜测该库不高于 1。此外,我注意到 32 位和 64 位库的符号链接“树”结构不同。那么这是导致问题的原因吗?

有人知道如何修复该问题吗,或者建议我一些其他方法让 wine 能够在 32 位上运行吗?

答案1

您是否wine安装了 32 位版本?检查您的软件包管理器,看是否已wine32安装。您可能需要将体系结构 ( sudo dpkg --add-architecture i386) 添加到您的系统,更新软件包列表 ( sudo apt update) 并安装 wine32 ( sudo apt install wine32)。

要安装/运行 32 位 Windows 程序,您必须基于 wine32 创建一个新 wine 前缀并在那里安装程序。他们有一个关于此的部分在他们的常见问题解答中其本质是:

WINEARCH=win32 WINEPREFIX=path_to_wineprefix winecfg

(使用 wineprefix 的实际路径)

不要将现有目录用于新的 wineprefix:Wine 必须创建它。

然后在那里安装 µTorrent。

相关内容