![使用 CUDA 驱动程序 Ubuntu 20.04 时 Steam 无法打开](https://linux22.com/image/1177042/%E4%BD%BF%E7%94%A8%20CUDA%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%20Ubuntu%2020.04%20%E6%97%B6%20Steam%20%E6%97%A0%E6%B3%95%E6%89%93%E5%BC%80.png)
我需要使用 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 工具包,而不是在系统中安装。