如何在不破坏 Nvidia 显卡驱动程序的情况下在 12.04 LTS 上更新到 Ubuntu 内核 3.13.0?

如何在不破坏 Nvidia 显卡驱动程序的情况下在 12.04 LTS 上更新到 Ubuntu 内核 3.13.0?

我在联想 W530(Nvidia Optimus 架构)上运行 Ubuntu 12.04“LTS”,并将内核更新为 3.13.0-32-generic,因为我运行的内核版本 3.5.0-52-generic 不再受支持。我收到以下警告;

“您当前的硬件支持堆栈 (HWE) 将于 2014 年 8 月 7 日停止支持。在此日期之后,您系统的关键部分(内核和图形堆栈)的安全更新将不再可用。”

过去,我曾费了一番周折才让第二台显示器与这台机器配合使用,但在更新到新内核后,所有这些工作都消失了。屏幕分辨率变为 800x600,辅助显示器不再工作。我的机器是一台工作笔记本电脑,我以为 LTS 是一个安全的选择,但显然不是……

我对这个问题进行了一些调查,并尝试了以下方法;

清除 nvidia 驱动程序,重新安装 nvidia 当前版本并重新启动;

sudo apt-get purge 'nvidia*'
sudo apt-get install nvidia-current
sudo reboot

尝试在 repo 中安装最新版本的 nvidia 驱动程序;

sudo apt-get purge 'nvidia*'
sudo apt-get install nvidia-331
sudo reboot

配置nvidia xconfig,加载驱动并重新启动UI;

sudo nvidia-xconfig
sudo modprobe nvidia
sudo service lightdm restart

这导致我在尝试使用 modprobe 加载 Nvidia 驱动程序时在 dmesg 中抛出错误。基本上驱动程序没有加载。

nvidia:模块许可证“NVIDIA”污染了内核

nvidia:未知符号 acpi_os_wait_events_complete(错误 0)

这让我进入了 nvidia 论坛,其中概述了一种修补系统的方法 https://devtalk.nvidia.com/default/topic/644906/linux/331-20-on-3-13-rc1-kernel/

关于修复的信息五花八门,但没有什么具体内容。新内核中有一个错误会破坏 Nvidia 驱动程序(据我所知),并且有一些步骤可以自己修补它。这台机器是用来工作的,我不想乱搞,所以我决定恢复到以前的工作内核;

sudo apt-get remove linux-image-3.13.0-32-generic
sudo reboot
uname -r

3.5.0-52-通用

sudo apt-get purge 'nvidia*'
sudo apt-get install nvidia-current
sudo nvidia-xconfig
sudo modprobe nvidia
sudo service lightdm restart

一切都恢复原样,但这并不能解决 8 月之后我将不再收到安全更新的事实。我以为这是一个 LTS...

有没有关于 8 月之前官方修复此问题的信息?或者有谁知道如何在不破坏 Nvidia 显卡驱动程序的情况下更新到 3.13.0?

答案1

这是一个错误,我希望他们能修复它,以便它很快就能正常工作,但如果您想使用新内核,您可以进行更新,然后在启动后执行以下操作以使其再次工作。

打开终端(按住CTRLALTT)添加 xorg-edgers PPA 并更新

sudo add-apt-repository ppa:xorg-edgers/ppa

系统提示时,您必须输入密码。您将获得有关此存储库的各种信息,但要继续,只需按ENTER

现在在同一个终端:

sudo add-get update
sudo apt-get install nvidia-current

如果您有旧机器,只需将其替换nvidia-currentnvidia-304。您需要按Y+ENTER才能安装它。

完成后,重新启动系统。要确认您确实在使用 Nvidia 驱动程序,您可以打开系统设置在右上角的菜单中选择附加驱动程序从硬件部分。它需要一些时间才能启动,但启动后它会告诉您是否正在使用 Nvidia 驱动程序。也许您实际上可以从此视图激活您的驱动程序,sudo add-get update但我没有这样做,所以我不能 100% 确定。在 HWE 更新之前,我在这里有几个选择,但现在我只有我安装的那个。

希望这能解决问题,直到 2017 年 4 月 :-p

相关内容