我今天从 Ubuntu 18.04 更新到了 19.04,但令我惊讶的是,更新后 steam 停止工作了。
从命令行运行 steam 会出现以下错误:
SteamUpdateUI: An X Error occurred
X Error of failed request: GLXBadContext
SteamUpdateUI: An X Error occurred
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 152 (GLX)
Minor opcode of failed request: 3 (X_GLXCreateContext)
Value in failed request: 0x0
Serial number of failed request: 51
xerror_handler: X failed, continuing
Major opcode of failed request: 152 (GLX)
Minor opcode of failed request: 6 (X_GLXIsDirect)
Serial number of failed request: 52
xerror_handler: X failed, continuing
由于重启后问题仍未解决,我用 Google 搜索并发现我的 opengl 驱动程序坏了。
glxinfo 的输出:
name of display: :0
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: 152 (GLX)
Minor opcode of failed request: 6 (X_GLXIsDirect)
Serial number of failed request: 63
Current serial number in output stream: 62
我做了以下尝试来解决这个问题:
sudo apt install mesa-utils
sudo add-apt-repository ppa:ubuntu-x-swat/updates
sudo apt dist-upgrade
现在,输出为glxinfo | grep "OpenGL version"
:(glxgears 也可以)
OpenGL version string: 4.6.0 NVIDIA 430.26
但 Steam 仍然给出完全相同的错误。我该如何解决这个问题?
如能得到任何帮助我将非常感激,提前谢谢。
答案1
Steam 使用 32 位库 (i386),而你没有。就我而言,我有 nvidia 390 驱动程序,所以我安装了libnvidia-gl-390:i386软件包,问题就解决了。对于你的情况,因为你有 nvidia 430 驱动程序,所以这应该可以为你解决问题:
sudo apt install libnvidia-gl-430:i386
答案2
请注意,在我的例子中,这与 CUDA 问题有关
CUDA repos 有 Nvidia 驱动程序的替代版本,但它们不提供 i386 版本,因此产生了依赖性问题。
解决方案是禁用 CUDA 存储库。
请点击此处: NVIDIA 440.64 32 位库包破坏 64 位驱动程序包
现在的问题是,当你想同时拥有 CUDA 和 Steam 时。那是另一个问题。