使用 CUDA 驱动程序 Ubuntu 20.04 时 Steam 无法打开

使用 CUDA 驱动程序 Ubuntu 20.04 时 Steam 无法打开

我需要使用 CUDA 11.1 驱动程序进行机器学习。Steam 需要libnvidia-gl-450:i386安装驱动程序才能打开。但是,安装一个驱动程序会删除另一个。我如何才能同时使用它们或在使用 CUDA 驱动程序时玩 Steam 游戏?

我试过了如何在 Ubuntu 中安装 NVIDIA 和 CUDA 驱动程序?但它只适用于 18.04。有人问过类似的问题这里但没有答案。

答案1

Steam 和 Linux 上的大多数游戏都依赖于可用的 32 位 OpenGL 库。然而,Nvidia计划暂时放弃对 CUDA 的 32 位支持。幸运的是,可以手动安装必要的 32 位库以使 Steam 正常工作。

我建议你从Nvidia 存储库首先,然后检查已安装的驱动程序版本。显然,32 位库文件必须与安装的驱动程序版本相匹配。可以使用安装程序提供的仅提取选项获取相应的文件,例如 465.19.01找司机然后执行 ./NVIDIA-Linux-x86_64-465.19.01.run -x

i386 库文件位于名为“32”的文件夹中。要手动安装 32 位库:

chmod u+x NVIDIA-Linux-x86_64-465.19.01.run
./NVIDIA-Linux-x86_64-465.19.01.run -x
cd NVIDIA-Linux-x86_64-465.19.01
cd 32
sudo cp libEGL* libGLESv* libGLX* libnvidia-egl* libnvidia-gl* libnvidia-tls* /usr/lib32

有一些应该创建的符号链接:

cd /usr/lib32
sudo ln -s libEGL_nvidia.so.465.19.01 libEGL_nvidia.so.0
sudo ln -s libGLESv1_CM_nvidia.so.465.19.01 libGLESv1_CM_nvidia.so.1
sudo ln -s libGLESv2_nvidia.so.465.19.01 libGLESv2_nvidia.so.2
sudo ln -s libGLX_nvidia.so.465.19.01 libGLX_indirect.so.0
sudo ln -s libGLX_nvidia.so.465.19.01 libGLX_nvidia.so.0

您可能需要运行此程序以便系统检测新的库:

sudo ldconfig

答案2

我找到了解决方案。从官方网站安装 Anaconda(下载并运行其脚本)。然后在终端中运行:

conda create -n environment_name
conda activate environment_name
conda install cudatoolkit=11   
conda install python=3.7

之后,每次开始处理项目时,您都需要使用 conda activate 您的环境。要搜索软件包,请使用 conda search。它将在虚拟环境中安装 CUDA 工具包,而不是在系统中安装。

相关内容