我的 Ubuntu 16.04 PC 今天(违背我的意愿 :-/)将 nvidia 驱动程序更新为 375.66。之前,我安装了 375.38(不确定 38 是不是这个,但差不多)。我为什么要更新?好吧,Ubuntu 没有给我选择。我的 PC 有一块 Nvidia 1050 4Go 显卡。更新前一切都运行良好。现在我无法让新的 nvidia 驱动程序工作。而且我卡在了 1024x768 的屏幕分辨率上!当然,我使用了命令
sudo apt-get purge nvidia*
删除所有内容并重新安装 nvidia 驱动程序,但仍然不起作用。我不使用任何外部 PPA,仅支持经过充分测试的驱动程序。欢迎任何帮助。
答案1
我找到了解决方案。我没有删除我的问题,而是发布了解决方案,因为它可能对其他人有帮助。问题的原因是我必须使用多个版本的 gcc。我使用命令回到版本 5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 100
--slave /usr/bin/g++ g++ /usr/bin/g++-5 --slave /usr/bin/gcov gcov /usr/bin/gcov-5
并且新驱动程序安装顺利。
答案2
NVIDIA 驱动程序包会在驱动程序更新和内核更新时重建其内核模块。如果您使用较新版本的 GCC(将其放在路径中),则无法构建内核模块。
update-alternatives 是切换 GCC 版本的解决方案。但是,在更新任何内核或图形驱动程序之前必须记住切换回旧版本,这很麻烦。
相反,您可以将指向较新版本的 gcc、g++、gcc-ar、gcc-ranlib、gcc-nm 和 cc 的符号链接放在您自己的路径中,例如 ~/.local/bin,它们将在登录时为您设置的默认路径中找到。然后,系统工具会看到原始 gcc,但您可以在一个开发项目中无缝使用新版本。