我在 18.04 上,我刚刚安装了 cuda-11,它需要 450 个驱动程序,我想知道为什么我找不到新软件包的 i386 版本。
我很不开心,因为我的机器上不能玩游戏。我缺少这个库:libnvidia-gl-450:i386
有什么方法可以下载这个软件包吗?或者有什么方法可以在我的机器上同时使用 cuda-11 和 steam?
答案1
遇到同样的问题(虽然场景不同,尝试安装暴雪战网),但找不到直接解决方案。
我从这里安装了我的 nvidia 450 驱动程序:http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/,并且显然它不包含 i386 的变体。
替代的驱动来源是:https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa 这个有 i386 版本的 libnvidia-gl 包,但仅适用于驱动程序版本440(截至本文撰写之时 - 2020 年 7 月 4 日)。
对我有用的唯一解决方案是彻底清除与驱动程序版本相关的驱动程序和软件包450,然后安装nvidia-驱动程序-440。
对于我来说,这个包的libnvidia-gl-440:i386
用途是一样的。
答案2
有时,libnvidia-gl-450 仅在存储库中以 64 位提供,但 nvidia 提供的二进制 blob 驱动程序包含相关的 32 位库。这些可以手动安装。
显然,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