在 64 位 Ubuntu 上使用专有 Nvidia 驱动程序的 Wine

在 64 位 Ubuntu 上使用专有 Nvidia 驱动程序的 Wine

我安装了 Ubuntu 18.04 64 位,其中安装了专有 NVidia 驱动程序。当我尝试启动任何 Windows 图形应用程序时,出现以下错误:

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  151 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  257
  Current serial number in output stream:  256

在 SO 社区上浏览过类似的问题后,我意识到这可能是由 wine 使用 32 位图形库引起的。

问题是 NVidia 专有 32 位驱动程序安装程序检查体系结构并安装失败(尽管我已经安装了多体系结构支持包)。

有没有办法解决这个问题,同时保留专有驱动程序?如果没有,那么设置这些库的最可靠方法是什么?

谢谢!

答案1

我确实知道这个问题,并且已经解决了。
我正在使用较新的操作系统,但命令可能类似。

如果您还没有任何 32 位软件包,则可能需要运行此命令:

dpkg --add-architecture i386

您必须手动安装 Nvidia 的所有 32 位库才能运行 32 位游戏和程序。如果您没有安装所有文件,则会收到“swrast”错误。

我使用这些命令,并且它们有效。

sudo apt install nvidia-driver-430:i386 libnvidia-gl-430:i386 xserver-xorg-video-nvidia-430:i386 libnvidia-cfg1-430:i386 libnvidia-ifr1-430:i386 libnvidia-decode-430:i386 libnvidia-encode-430:i386 nvidia-settings
sudo apt install nvidia-driver-430 libnvidia-gl-430 nvidia-utils-430 xserver-xorg-video-nvidia-430 libnvidia-cfg1-430 libnvidia-ifr1-430 libnvidia-decode-430 libnvidia-encode-430 nvidia-settings

在那之后:

  1. 将 430 更改为您已安装的 64 位驱动程序版本。
  2. 如果任何文件无法安装,或者已经安装,只需将其从列表中删除,然后尝试执行步骤
  3. 仔细检查 Synaptic 中的文件是否libnvidia包含nvidia-driver

它们的作者可以定期更改文件名称或添加新文件。我希望从 430 到 440 没有任何变化。

PS:apt您可以使用

sudo aptitude install .... 

当然,我使用 PPA

sudo add-apt-repository ppa:graphics-drivers/ppa

(需要 sudo apt-get update)。

PPS:您有一块显卡吗?
还是笔记本电脑有两块显卡?
如果您有两块,则必须使用nvidia-primebumblebeeoptirun来运行如下应用程序:

optirun wine

您可以通过运行以下命令获取视频卡的名称:

inxi -G" or "glxinfo | grep OpenGL

要测试 Nvidia 驱动程序的 32 位部分,只需运行任何 32 位 wine 程序。即使英雄无敌 3

答案2

不能保证这能解决您的问题,但 2014 年也发生过同样的错误:

当时的解决方案(请阅读完整链接)是创建一个新的符号链接。

答案3

经过多次尝试应用针对该问题和其他类似问题的答案的解决方案后,我找到了解决我的特殊情况的解决方案。

  1. 从 NVidia 网站下载最新的专有 64 位 NVidia 驱动程序
  2. 在 root 下以 cmd 模式启动 Ubuntu:https://askubuntu.com/a/859640/924671
  3. 运行安装程序
  4. 安装程序有时会询问您是否要安装 32 位兼容库。回答 [是]
  5. 当系统询问您是否要覆盖现有文件(可能有几个地方)时,请确认选项
  6. 重启

答案4

有什么理由不升级到新的 LTS?如果 NVidia 驱动程序仍然有问题,也许可以换成 Pop OS 或看看他们的驱动程序……https://support.system76.com/articles/upgrade-ubuntu/

相关内容