如何安装Nvidia显卡驱动程序?

我刚刚订购了Nvidia GTX显卡。然而,我现在面临一个困扰。我应该继续使用Ubuntu中“附加驱动”中提供的驱动程序,还是应该安装来自Nvidia官网的驱动程序呢?
那么,哪个驱动程序对我来说最好呢?

14个回答

更新 - 2020年1月25日

1. 快速方法

在添加此PPA之前,请阅读PPA页面上的描述,其中提到了关于使用它的重要信息,以及适合您的Nvidia显卡的版本等。这适用于希望获得最新驱动程序版本或其显卡的最后支持版本的桌面用户。

使用18.04+运行以下命令进行安装:

sudo add-apt-repository ppa:graphics-drivers/ppa

这将自动更新存储库,然后您可以运行以下命令:
sudo apt install nvidia-driver-440

如果在安装相应的驱动程序后,您的桌面无法加载,请按照以下步骤操作:
sudo nano /etc/gdm3/custom.conf

然后从注释行(#符号)中删除说的那一行。
# WaylandEnable=false

然后保存。然后重新启动。如果这仍然不起作用,请禁用安全启动,因为您可能实际上正在使用UEFI。

2. Nvidia常见问题

有关Nvidia问题的故障排除或超频设置,请参阅this answer,其中包括:

  1. 使用最新驱动程序解决了哪些常见错误?
  2. 我的显卡无法安装(安装问题)
  3. 调整和优化视频卡
  4. 快速设置默认屏幕分辨率的方法

下面讨论了关于视频卡的热门问题:

  1. 我可以在旧版本的Ubuntu上使用最新驱动程序吗?
  2. 视频卡和驱动程序之间的区别:官方Nvidia网站、Ubuntu的默认驱动程序、PPA和Nouveau?
  3. 在使用任何视频卡时推荐使用哪些PPA?
  4. 如何知道要安装哪个驱动程序或软件包?
  5. 如何安装驱动程序?
  6. 专有驱动程序之间的区别?
  7. 如何知道我的视频卡在Ubuntu中是否受支持?

2.1 我可以在旧版本的Ubuntu上使用最新驱动程序吗?

从12.04版本开始,视频驱动程序得到更频繁的维护和更新。处理和解决旧版本出现的问题变得更加容易。除非你使用最新的Nvidia显卡,否则你很可能不需要额外的PPA。

2.2 视频卡和驱动程序之间的区别:官方Nvidia网站、Ubuntu默认、PPA和Nouveau

根据发现的问题、对最终用户的“开箱即用”体验、兼容性、更新、安装或卸载的简便程度以及设置完成后的感受,我建议按照以下顺序选择:

  • Nvidia PPA - 性能出色。对于大多数显卡来说,它可以直接使用PPA中包含的驱动程序(每一代Nvidia显卡的驱动程序都不同)。

  • Ubuntu 默认推荐驱动程序 - Ubuntu在确定您所使用的显卡需要哪个Nvidia驱动程序方面做得非常出色。

  • Nouveau - 这是Nvidia驱动程序的开源实现。他们也做得非常出色,尽管与官方驱动程序或PPA中的驱动程序(尤其是最新的Nvidia显卡)相比还有差距,但他们每周的开发速度、承诺、奉献和进步给人以信心,这确实是一个可选项并值得推广。

  • 官方Nvidia网站 - 这些是官方驱动程序(与PPA中的驱动程序相同),关键区别在于它们不会自动升级,并且在更新、卸载和安装时可能会出现一些问题(非常罕见但确实会发生)。

以下是这些方法的区别:

官方网站

  • 提供最新的驱动程序
  • 通过终端安装
  • 当有更新时,必须手动下载新的软件包
  • 比其他方法更容易出现问题(尤其是对于Nvidia)

PPA存储库

  • 在官方发布后几小时/几天内提供最新的驱动程序
  • 可以通过终端或图形界面进行安装
  • 如果之前已安装了驱动程序,它会自动更新软件包
  • 当有更新时,将收到通知并使用更新管理器进行更新
  • 比官方驱动程序更稳定且经过测试
  • 与使用其他任何方法相比,问题较少(所有显卡的问题较少)
  • 对于Nvidia显卡,这是第一推荐的方法。

默认Ubuntu驱动程序

  • 每次新发布都会有更好的驱动程序
  • 更新频率比PPA低
  • 在大多数情况下,驱动程序可以直接使用(Nvidia的Nouveau驱动)
  • 与官方网站或PPA相比不是最新的
  • 在Ubuntu中,它经过了远比其他方式(PPA或官方)更多的测试
  • 更容易更新

2.4 如何知道要安装哪个驱动程序或软件包?

根据您拥有的显卡数量以及它们是否集成,安装方法和要安装的软件包将与上述针对单个显卡的PPA有所不同。

具有两个混合模式视频卡的计算机

从Nvidia 319.xx开始,Nvidia Optimus和常见的PCIe驱动程序被集成到一个驱动程序中,因此如果您安装Nvidia-319或更新版本,您将获得用于集成的Nvidia卡和PCI卡的驱动程序。

混合卡有两种可能的解决方案:第一种是一个名为bumblebee的软件包,它能够为不同的应用程序使用不同的配置。要安装它,请运行:

sudo apt install bumblebee linux-headers-generic

第二个是一个官方的NVIDIA软件包,称为nvidia-prime,它会自动与nvidia-355软件包一起安装。它能够在配置文件级别上决定使用哪张显卡,即用户登录时。这个决策可以在NVIDIA X服务器设置控制面板上进行调整。请注意,nvidia-primebumblebee不兼容:如果安装了bumblebeenvidia-prime将无法正常运行,并且其选项将不会显示在NVIDIA X服务器设置控制面板上。您需要1.删除bumblebee 2.重新安装nvidia-430以使其再次正常工作。

完成后,建议关闭计算机,然后重新启动。

当安装了nvidia-prime时,应该看到以下图片,但当同时安装了bumblebee时,则不一定会显示。

具备SLI设置的计算机

如果您的计算机中有2个或更多支持SLI模式的显卡,您可以进行以下操作:

对于NVidia显卡,在创建Xorg.conf时,在行中添加以下内容:
sudo nvidia-xconfig --sli=On

最后,Ubuntu有一种聪明的方式来推荐使用哪个驱动程序,这取决于你的显卡和可用的驱动程序(这也是为什么我建议首先添加PPA)。只需输入以下命令即可:
ubuntu-drivers devices

它应该显示您的硬件可用的驱动程序包列表,包括但不限于显卡。如果您想查看推荐的显卡驱动程序,则只需输入以下内容:
ubuntu-drivers devices | grep recommended

2.5 如何安装驱动程序?

安装驱动程序的方法取决于您拥有多少个显卡以及您使用的显卡类型。以下是安装Nvidia显卡的一些方法:

NVIDIA(需要头文件的旧版驱动程序)

对于Nvidia,很多时候您需要先安装与当前使用的内核版本相对应的头文件,以便驱动程序能够正确安装。因此,您首先需要执行以下命令:

sudo apt-get install linux-headers-generic

然后安装与驱动程序相关的软件包(对于Nvidia显卡,安装nvidia*)。在其他情况下,您可能需要进一步安装源代码和特定的头文件,例如:

sudo apt install linux-source linux-headers-3.5.0-16-generic

安装linux-source软件包和特定的头文件,假设你在此情况下有3.5.0-16-generic内核版本。
要检查你当前使用的内核版本,请键入uname -r,它会给出你所使用的具体内核版本。
对于Nvidia显卡,它取决于显卡和所需的软件包,对于最新的显卡,并假设你已经添加了上述提到的PPA,终端命令行为:
sudo apt install nvidia-driver-440

最后的数字会根据您的显卡年龄或新旧程度而变化(可用版本包括390、410、415和418)。

对于GeForce 10、20和RTX系列的GPU,请使用nvidia-430
对于GeForce 8和9系列的GPU,请使用nvidia-340
对于GeForce 6和7系列的GPU,请使用nvidia-304

最新版本修复了与图形损坏、HDMI支持、热量支持等最新Nvidia显卡相关的问题。通常,更新视频驱动程序可以解决许多问题。

请注意,风扇控制和其他未在nvidia-settings应用程序中找到的Nvidia功能与Ubuntu无关,而是与Nvidia相关。我建议您在官方Nvidia论坛上咨询Nvidia开发人员,了解您可能想要包含的功能(风扇控制、超频功能等)。

CUDA

有关CUDA的安装和测试,请参考此链接在Ubuntu 14.04上安装和测试CUDA

Bumblebee

对于Bumblebee(NVIDIA Optimus),您可以使用以下PPA(Ubuntu 15.04+用户可以选择不进行此操作,因为它已经包含在内):
 sudo add-apt-repository ppa:graphics-drivers/ppa
 sudo apt-get update
 sudo apt-get install bumblebee linux-headers-generic

2.6 专有驱动程序的区别是什么?

请访问附加驱动程序(Nvidia)的区别以获取有关专有驱动程序的更多信息。

2.7 如何知道我的显卡在Ubuntu中是否受支持?

以下是一些提示,可以了解您的显卡是否在Ubuntu中受支持:

如果你使用的Ubuntu版本发布之前就有这款显卡,那么它有99%的可能性会得到支持。
如果你使用的Ubuntu版本发布后不到6个月,而且你一直保持该版本的更新,那么它有很大的可能性会得到支持。
如果你添加了我上面提到的PPA之一,那么它有99.99%的可能性会得到支持。
查看Nvidia网站或PPA以获取支持可能会更快地得到答案,但几乎在所有情况下,你的显卡都将通过开源驱动程序或专有驱动程序得到支持。
使用最新的Ubuntu版本也会提高你的最新显卡得到支持的机会。
总的来说,我认为如果你拥有最新的显卡或几乎是最新的显卡,你将需要最新的驱动程序。因此,如果你有最新的Nvidia显卡,请始终通过PPA或随Ubuntu提供的软件源安装最新的驱动程序。
注意 - Ubuntu在“关于本机”中的图形选项中可能显示值为“未知”。如果发生这种情况,请安装mesa-utils软件包。
这个答案旨在解决常见的Nvidia错误(黑屏、驱动程序总体不工作、低帧率等)。
1. 使用最新驱动程序可以解决哪些常见错误? 2. 我的显卡无法安装(安装问题) 3. 调整和优化显卡 4. 快速设置默认屏幕分辨率
2.7.1 使用最新驱动程序可以解决哪些常见错误?
所有显卡共享的常见错误有:
  • 缺少Unity启动器或面板
  • Nvidia设置中缺少选项
  • 桌面不显示(黑屏)
  • 屏幕的顶部/底部被切掉了
  • 视频看起来被切成了几段
  • 无法使用更高的分辨率(找不到)
  • 使用VGA时可以显示视频,但使用HDMI时不能(反之亦然)
  • 笔记本电脑合上盖子后无法进入待机状态
  • 风扇转速噪音大或始终保持全速运转
  • 发热问题
  • nvidia-xconfig无法正确创建xorg.conf

如果您遇到以上任何问题,建议您添加一个PPA并将您的显卡驱动程序更新到最新版本。几乎所有情况下,更新并重新启动后问题都会得到解决。对于这些情况,我还建议使用Graphics Drivers PPA。

我还邀请您查看一些相关问题:

哪种ATI/AMD、Intel或NVIDIA显卡适用于Unity?

如何直接从AMD正确安装专有的ATI Catalyst视频驱动程序(fglrx)?

如何在Unity 3D中正确启用桌面立方体?

为Nvidia卡启用HDMI音频

如何启用桌面视觉效果?

升级后NVIDIA驱动程序无法工作。为什么我只能看到终端?

安装NVIDIA驱动程序后桌面不显示!

最新的Nvidia/Ati显卡在启动LightDM/Ubuntu时出现黑屏

HDMI/VGA连接会剪裁屏幕边框或导致文字模糊

/etc/X11/xorg.conf文件不存在?

从Xorg PPA安装最新的Nvidia会导致黑屏

现在我想提一些要点:

对于NVIDIA显卡,使用nvidia-xconfig命令行创建xorg.conf文件也是有帮助的。只需在终端中输入以下命令,然后重新启动:
sudo nvidia-xconfig
请注意,如果nvidia-xconfig出现以下错误之一,您很可能需要在执行nvidia-xconfig命令之前先删除现有的xorg.conf文件:
VALIDATION ERROR - 可能会提到缺少部分、部分中的不正确信息、未关闭的部分或者至少需要一个部分才能继续。
WARNING - 可能会提到某个部分中的多个值错误,例如没有明确指定参数的值。
FATAL SERVER ERROR - 运行nvidia-xconfig后,可能会在某些情况下出现“找不到屏幕”错误,这很可能意味着上述建议(如安装PPA)尚未首先应用,或者可能仍在工作的模块(无论是加载nouveau还是使用nvidia网站上的Nvidia驱动程序包安装的nvidia驱动程序)。
ERROR - 如果您在没有sudo的情况下执行nvidia-xconfig命令,则会收到类似“无法写入目录'/etc/X11'”的错误。如果通过nvidia-settings持续出现此错误,则需要首先删除xorg.conf文件。
对于所有需要删除xorg.conf文件的情况,请务必在删除之前备份对其所做的任何更改。
重新安装驱动程序可以解决多个问题。例如,如果您使用nvidia-graphics-drivers-355驱动程序包,则可以执行以下操作重新安装它:
sudo apt-get install --reinstall nvidia-graphics-drivers-355
重新安装Xorg也有助于其他情况:
1. 使用以下命令删除现有的xorg: sudo apt-get remove --purge xserver-xorg
2. 使用以下命令安装xorg: sudo apt-get install xserver-xorg
3. 使用以下命令重新配置xorg: sudo dpkg-reconfigure xserver-xorg
4. 在此之后,如果您使用的是Nvidia或ATI,请建议重新安装视频驱动程序,如上所述。
我必须补充一点,如果你在从PPA安装Nvidia驱动程序并重新启动后遇到黑屏问题(而且你没有混合系统),那么你的问题可能是需要删除bumblebee软件包以及bumblebee.conf文件。按照从Xorg PPA安装最新的Nvidia驱动程序会导致黑屏中提供的步骤进行操作,或者直接运行以下命令行:
sudo apt-get purge bumblebee primus   
sudo rm -fr /etc/modprobe.d/bumblebee.conf
sudo reboot

2.7.2 我的显卡安装不正确(安装问题)
大多数与 ATI 或 Nvidia 相关的安装问题可以通过按照无法安装 Nvidia 驱动程序 中提供的步骤解决,但简而言之,我可以总结一下以下步骤,假设您有以下问题之一:
- 安装了官方的 Nvidia 驱动程序,但在更新或删除时遇到问题 - 屏幕显示异常/损坏 - Unity 无法加载或加载失败 - 无法以任何方式访问 GUI 环境
如果您已经安装了官方的 Nvidia 驱动程序,请在启动 Ubuntu 进入恢复模式后按照以下所有步骤操作。如果没有,请跳到第二步:
  1. 如果您从Nvidia官方网站安装了Nvidia驱动程序,或者从AMD官方网站安装了ATI驱动程序,请在终端中输入以下命令(假设您使用的是Ubuntu 64位系统,Nvidia版本为304.51):

    sudo sh NVIDIA-Linux-x86_64-304.51.run --uninstall
    
  2. 如果您安装了任何nvidia软件包,例如nvidia-currentnvidia-current-updates,请将其删除。同样适用于ATI驱动程序。例如,运行sudo apt-get remove nvidia-current

  3. 您对黑名单中的Nvidia/ATI驱动程序进行的任何更改,或者对与Nvidia/ATI驱动程序相关的任何其他文件的更改都应该被撤销。这只是为了防止您过度编辑(我知道有时候会发生这种情况^^)。

  4. 删除或备份/移动xorg.conf文件。您现在不需要这个文件。

  5. 在完成上述所有步骤后,重新启动计算机,并确保它加载的是Nouveau而不是任何Nvidia驱动程序(对于Nvidia情况),或者加载的是ATI驱动程序而不是fglrx(对于Ati/AMD情况)。

  6. 如果您现在确定正在使用Nouveau驱动程序(或ATI开源驱动程序),或者如果您遇到视频错误,或者无法正确加载LightDM,请不要担心,所有3个选项最终都会得到相同的结果。在重新启动时,在GRUB菜单中选择“恢复模式”。在恢复模式显示恢复选项后,选择“root”选项或“Failsafe X”选项。在执行了所有先前的步骤之后,在这些模式下,使用我上面提到的PPA安装Nvidia/ATI驱动程序。如果您有一张较新的显卡,请始终尝试安装最新的驱动程序:对于Nvidia显卡,运行sudo apt-get install nvidia-430;对于最新的Ati/AMD显卡,运行sudo apt-get install fglrx。请记住,在执行此操作之前,不应该安装任何与Nvidia/ATI驱动程序相关的内容(当然,Nouveau驱动程序除外)。

  7. 现在重新启动,一切应该正常工作。

注意 - 在第6步中,如果看起来电脑卡在加载界面上,只需按下CTRL+ALT+F1键进入TTY1终端,并在那里执行第6步。
其他常见的安装问题涉及分辨率。您可以通过终端以以下方式检查和更改分辨率:
  1. 打开终端并输入 xrandr,这将显示所有可能支持的分辨率(这取决于您的显卡和显示器/电视)。请注意它们出现的顺序。第一行显示的分辨率是第1行,下一个是第2行,以此类推,适用于所有支持的分辨率。设置分辨率后,将值设为0将重置分辨率为默认值。

  2. 输入 xrandr -s X,其中X是上述提到的行号。所以它看起来应该像这样:xrandr -s 1

    最后,对于那些在更新内核和/或Nvidia版本后报告看不到Unity启动器/面板的用户,首先要做的是检查Unity插件是否已启用。为此,请转到Compiz配置设置管理器(假设已安装)并转到Unity插件。检查复选框是否已激活。如果没有,请激活此选项并按照屏幕上的建议进行操作。

2.7.3 调整和优化我的显卡

对于Nvidia显卡,请按照以下步骤进行操作:

在终端中输入:sudo nano /etc/X11/xorg.conf 找到设备部分并添加以下行: Option "Coolbits" "4"
应该看起来像这样:
 Section "Device"
     Identifier     "Device0"
     Driver         "nvidia"
     VendorName     "NVIDIA Corporation"
     Option         "Coolbits" "4"
 EndSection

现在保存并重新启动。您现在应该会看到(根据您的显卡型号)一个关于风扇速度的新选项,就像这样:

CoolBits的简要说明:
CoolBits可以启用各种不受支持的功能,例如在NV-CONTROL X扩展中支持GPU时钟调整。此选项接受一个功能的位掩码以启用。这意味着值可以是0、1、2或4。
CoolBits = 1 - 当“Coolbits”选项值中设置了“1”(位0)时,nvidia-settings实用程序将包含一个标有“Clock Frequencies”的页面,通过该页面可以操纵时钟设置。“Coolbits”仅适用于GeForce FX及以上型号。
CoolBits = 2 - 当设置为“2”(位1)时,它将尝试在使用具有不同视频内存量的GPU时初始化SLI。
CoolBits = 4 - 当设置为“4”(位2)时,热监视器页面将允许配置具有可编程风扇功能的图形板的GPU风扇速度。
默认选项为0(不支持的功能被禁用)。
截至Nvidia 337.XX版本,以下选项可用:
CoolBits = 8 - 当设置为“8”(位3)时,nvidia-settings控制面板中的PowerMizer页面将显示一个表格,允许设置每个时钟域和每个性能级别的偏移量以应用于时钟值。这仅适用于某些GeForce GTX 400系列及更高版本的显卡。并非所有时钟域或性能级别都可以修改。
CoolBits = 12 - 当设置为“12”(位3 + 2)时,这将等同于激活Coolbits 8 + Coolbits 4的效果。因此,您将获得新的超频功能和风扇控制。

这个选项也可以通过输入以下命令来激活:
nvidia-xconfig --cool-bits=4

警告:这可能会导致系统损坏并使保修失效。

我还想补充一点,专有驱动程序的信息通常保存在主文件夹中。例如,由nvidia-settings保存的信息存储在~/.nvidia-settings-rc中,您可以通过输入以下内容访问:

nano ~/.nvidia-settings-rc

我提到这个是因为如果不使用xorg.conf,那么ATI或Nvidia的设置如何工作呢?原因是X可以自动检测和配置xorg.conf的许多选项,如输入/输出设备和显卡。在2010年之前,这并不是自动发生的,但自从2010年以来,X可以处理许多选项并且无需任何问题或需要为它们配置文件进行检测。
请注意,其中许多选项仍然存在,但分成了更具体的文件,位于/usr/share/X11/xorg.conf.d/中。
例如,某些显卡如果没有xorg.conf,则不会显示Unity启动器或顶部面板。在其他情况下,希望调整他们的显卡的用户可能需要添加到xorg.conf的Coolbits选项。这就是为什么存在nvidia-xconfig的原因。为了在X未能检测或提供所有视频卡选项时提供额外的支持级别。
另一个技巧是运行update-pciids,以便更新PCI Id列表。在非常罕见的情况下,找不到或错误地检测到视频卡的ID(实际上是任何PCI设备),因此这将有助于解决与之相关的任何问题。
在某些情况下,将OpenGL插件中的纹理过滤器值更改为快速也有帮助。您可以在Compiz Config设置管理器中进行此操作。
最后,在Nvidia设置面板的OpenGL设置中,将图像设置选项更改为“高性能”也可以在某些情况下提供帮助。

2.7.4 快速设置默认屏幕分辨率的方法

我已经阅读并尝试了一些关于使用xrandr或编辑xorg.conf文件的技巧,但我发现最快的方法实际上是编辑~/.config/monitors.xml文件,并在第15至18行(提到宽度、高度和刷新率的行)之间更改分辨率。因此,请设置正确的宽度、高度和刷新率,并重新启动以测试。这仅用于设置计算机启动时您希望看到的默认分辨率。

6这真的救了我,我真的觉得这份文档应该放在Ubuntu的网站上或者其他更容易获取的地方。花了几天时间搜索和找到这个(尤其是那个推荐正确驱动程序的工具,这正是我一开始遇到的问题)。 - shaneonabike
2我试图编辑这个但是无法(有一个大小限制 :/)不管怎样,人们应该注意到Quantal之后X SWAT已经不再可用了! - shaneonabike
非常出色。省了我很多时间。真的非常感谢你的努力。 - Eric Lindauer
3我投票给这个答案作为今年的最佳答案。:) 我上次处理 Ubuntu + nVidia 是在 2007 年,我很担心会遇到同样的问题。多亏了 Luis 的帖子,安装过程非常顺利。 - Waldir Leoncio
@LuisAlvarado: xorg-edgers链接页面明确指出:“请不要发布关于如何从此存档安装的说明,而不链接到此页面!使用此存档中的软件包的人应该首先阅读此页面,并建议定期查看可能出现的问题的通知。”问:你的文本中是否应该包含这个警告,或者至少提醒去阅读他们的页面?请不要生气!我只是在问。 我没有编辑你的问题,这只是一条评论... - Fabby
1@Fabby 你的评论真是杀人不眨眼……这也是为什么我在那里加了链接作为“Xorg标题”的原因。不过没错,我会采纳你的绝佳建议并指向它。谢谢伙计。 - Luis Alvarado
目前只有nvidia-355,没有nvidia-graphics-drivers-355 - Radu Rădeanu
@RaduRădeanu - 嘿伙计,我在谈论这个 https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa - Luis Alvarado
@LuisAlvarado :希望你不介意我在你的出色而全面的教程中添加了一个指向我的答案的链接。 我这样做是因为我的答案更加关注现代GPU硬件,并且已经合并,这样用户就更容易找到正确的驱动程序安装方法。 顺便说一下,我给你点赞,这是一份非常棒的工作 - 做得非常好,Luis! :) - cl-netbox
干得好,@cl-netbox +1朋友。 - Luis Alvarado
1笑死我了!刚才看了我的文章又看了你的。顺便说一下,你的工作真是太出色了。 - Luis Alvarado
我只有一个问题。为什么Ubuntu开发者没有将您的答案包含在官方文档中。工作得很出色。非常感谢你。 - vskubriev
@VladimirSkubriev 谢谢你朋友,但是我不知道。如果你给我他们文档的链接,我或许可以联系到那里的某个人来处理这个问题。 - Luis Alvarado
那就是个问题。我也不知道。Askubuntu可能是最好的地方。)) - vskubriev
非常出色的工作-写得很好。你能帮我解决我的问题吗?(https://askubuntu.com/questions/1032938/trying-to-install-nvidia-driver-for-ubuntu-desktop-18-04-lts) - Ashu
Nvidia 390及以上版本在Ubuntu 18.04与xorg上安装后无法加载,是否存在问题? - sziraqui
你有什么型号的显卡? - Luis Alvarado
我最好用三个字W-O-W进行评论。 - WinEunuuchs2Unix
sudo apt install nvidia-driver-396 - 此软件包已不再可用。 - reducing activity
@reducingactivity 谢谢朋友。已更新至最新版本。 - Luis Alvarado
证据与“快速方法”相反。18.04版本推荐使用来自Ubuntu软件源的nvidia-graphics-driver-435:通过lshw -c video命令可以确认驱动程序配置为nvidia。重新启动:登录成功,但桌面无法正常显示。在WaylandFalse中进行了评论。重新启动:卡在“正在等待引导过程完成”的启动作业上。编辑引导加载程序,SecureBoot已经禁用启用引导和桌面后可以正常运行。重新启动:gnome shell和XWayland出现在/var/crash目录下。撤销WaylandFalse设置。重新启动:一切正常,但sudo lshw -c video命令缺少驱动程序条目。在“软件和更新”中的“附加驱动程序”确认正在使用Nvidia 435驱动程序。 - XavierStuvw
...继续:'grep -iq nouveau /var/log/Xorg.0.log' 失败,而 'grep -iq nvidia /var/log/Xorg.0.log' 成功。所以我推测NVIDIA驱动实际上正在运行,尽管 lshw 不再检测到它 -- 在启用安全启动之后,我猜想。 - XavierStuvw
嗨 @XavierStuvw,你能否提出一个问题呢?因为这样看起来你会更快地得到帮助解决这个问题。 - Luis Alvarado
欢迎访问 https://askubuntu.com/q/1218153/446253。 - XavierStuvw

首先,您应该确定您的NVIDIA图形硬件 - 所以打开一个终端并执行:
lspci -k | grep -EA2 'VGA|3D'

以下选项不应全部采取。 在达到目标时停止。 数字越高,解决方案就越复杂(且不稳定)。
选项1 - 检查官方Ubuntu软件仓库中是否有NVIDIA驱动程序可用:
apt-cache search nvidia

选项 2.1 - 在 Launchpad 上检查是否有可用的 NVIDIA 驱动程序:

Proprietary GPU drivers PPA

选项 2.2 - 要包括最新的 NVIDIA 驱动程序 - 将存储库添加到软件源:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

搜索驱动程序...您将看到一个驱动程序列表...底部的版本是最新的。
apt-cache search nvidia | grep -oE "nvidia-[0-9]{1,3}"

选项3 - 在NVIDIA官网上搜索可用的驱动程序:

NVIDIA GPU驱动程序发布

然后按照以下步骤进行:

步骤1.1 - 选择您想要使用的NVIDIA驱动程序并执行:

sudo apt-get install nvidia-<version_number>

第1.2步 - 如果NVIDIA GPU支持Optimus,请执行以下操作:
sudo apt-get install nvidia-prime

第二步 - 完成驱动程序安装过程,请执行以下操作:
sudo reboot

附加信息:

支持的NVIDIA GPU产品

NVIDIA GPU驱动程序发布信息

NVIDIA对传统GPU版本的支持时间框架


4我建议稍微修改答案。让它更清楚地表明推荐的方式是通过sudo apt-get install nvidia-*从Ubuntu软件仓库安装。另外一种可选的方式是从PPA安装。这样的回答会很好。已经点赞了。 - Pilot6
1而且,最好还要添加如何获取GPU型号的方法。使用命令lspci -k | grep -EA2 VGA|3D。它将显示出GPU的型号以及驱动程序是否已安装。 - Pilot6
1你的回答非常模糊,回答中的选项并没有正确展示整个过程,而只是简单地列举了它们。 - Alex Jones
注意:最新的支持您的显卡。大多数情况下,即使这些驱动程序不再支持您的显卡,专有的视频驱动程序也会安装在计算机上。因此,请谨慎选择。这应该在README部分和/或NVIDIA GPU驱动程序发布信息中提到... - Kamiccolo

你不需要使用命令行或软件中心来安装NVIDIA驱动程序(而且最好不要以这种方式安装,因为有时可能会启动到黑屏)。
Ubuntu预配置了NVIDIA驱动程序(但未安装),你只需要做以下操作:
1. 打开Dash。 2. 搜索并启动“附加驱动程序”,等待搜索完成,然后选择要安装的驱动程序。它提供了两个驱动程序,一个是开源的Nouveau驱动程序,另一个是NVIDIA的专有驱动程序。 3. 选择驱动程序,点击“应用更改”并等待。可能需要一些时间和互联网连接来下载和安装驱动程序。 4. 现在重新启动电脑。

enter image description here

我选择了专有驱动程序。

Nouveau默认激活吗?不知道为什么它被选中作为我的系统?现在要改成Nvidia,因为每次重启后都会出现黑屏问题。 - Robert Houghton

安装驱动程序:
sudo apt-get update
sudo apt-get install nvidia-current
sudo apt-get update

安装mesa-utils以显示图形信息:
sudo apt-get install mesa-utils

glxinfo | grep OpenGL

重新启动计算机:

sudo shutdown -r now

解决问题:

配置/etc/X11/xorg.conf文件以获取所有分辨率。有关配置xorg.conf的信息 使用gtf创建模式行

创建一个名为xorg.conf的文件并将其放置在/etc/X11中。X会读取配置文件并尝试接受您的声明。然后,它将自动配置您未明确指定的任何内容。

运行nvidia-xconfig会创建一个带有基本配置的鱼骨图。其他二进制驱动程序可能存在类似的命令。

sudo service lightdm stop
sudo X -configure
sudo mv xorg.conf.new /etc/X11/xorg.conf
sudo start lightdm

这将在您当前的目录中创建一个xorg.conf.new文件。现在您应该按照以下步骤操作:
  1. 关闭X服务器
  2. 生成新的xorg.conf文件
  3. 重命名和移动
  4. 返回到图形界面

更好的图形用户界面(arandr)用于操作分辨率等:

sudo apt-get update
sudo apt-get install arandr

推荐的方法是从Ubuntu软件源中安装驱动程序。
现在,所有的Nvidia适配器都受到Ubuntu软件源中包含的驱动程序的支持。但这并不总是如此,在将来可能会出现一些新的适配器,暂时不受Ubuntu官方驱动程序的支持。
在大多数情况下,系统会自动选择正确的驱动程序。
首先,您需要找到您的GPU型号。
在终端中运行lspci -k | grep -EA2 'VGA|3D',您将得到类似的结果。
01:00.0 VGA compatible controller: NVIDIA Corporation GF116 [GeForce GTX 550 Ti] (rev a1)
Subsystem: Gigabyte Technology Co., Ltd Device 351a
Kernel driver in use: nvidia

所以,这个型号是GeForce GTX 550 Ti,并且安装了一些Nvidia专有驱动程序。
如果正在使用开源驱动程序,您将会看到
Kernel driver in use: nouveau

运行以下命令以检查已安装的专有驱动程序:
dpkg -l | grep nvidia

已安装标有ii的软件包。

您可以在以下链接查看支持此适配器的驱动程序版本:

Nvidia驱动程序网站

例如,我的显卡支持340、346、349、352和355等主要版本。

现在Ubuntu软件源中有340和352的驱动程序版本可供安装。 因此,安装352是合理的选择。

您可以按照上述提到的GUI方法进行安装,或者通过运行以下命令来完成:

sudo apt-get install nvidia-352

如果您的适配器在官方软件库中没有支持的驱动程序,或者您想尝试最新的驱动程序,您可以从ppa安装驱动程序。
混合图形
如果您的笔记本电脑配备了英特尔CPU,大多数情况下您也会有一个内置在CPU中的英特尔适配器。
在这种情况下,您还需要安装nvidia-prime软件包。但是,如果您从官方软件库安装,它将自动安装。
然后,您将能够在Nvidia X Server Settings(PRIME Profiles)中切换适配器。

enter image description here enter image description here

或者你可以在终端中进行操作。
- 使用sudo prime-select nvidia切换到Nvidia适配器。 - 使用sudo prime-select intel切换到Intel适配器。 - 使用prime-select query查看当前状态。
应用设置后,您需要注销并重新登录。
不受nouveau驱动程序支持的新适配器
您可能会遇到这样的情况,即您拥有一款非常新的Nvidia适配器,但开源的nouveau驱动程序对其支持不佳。
在这种情况下,您的系统可能无法启动到图形界面。
您可以参考this answer并使用nomodeset参数启动。当您从LiveUSB启动时,您必须以这种方式启动系统,然后安装Ubuntu。
安装完Ubuntu后,您需要再次使用nomodeset启动,并安装正确的Nvidia驱动程序。
当您以UEFI模式启动时,该选项不会出现。在这种情况下,您需要进入grub菜单,按键并手动输入。

你在你的Ubuntu上尝试过这种方法吗? - Alex Jones
@edwardtorvalds 这是我经常使用的方法。 - Pilot6
@Pilot6 我已经成功通过在 grub 中添加“nomodeset”来安装了 Nvidia 驱动程序。然而,现在在 Ubuntu 和驱动程序安装完成后,除非我从 grub 中删除“nomodeset”,否则我无法登录(在我点击登录后,登录窗口再次出现)。有没有办法永久删除 nomodeset?或者还有什么其他原因导致这个问题? - Ghazanfar Mir
安装驱动程序后,您不需要使用nomodeset。因此,请从/etc/default/grub中删除它,并运行sudo update-grub命令。 - Pilot6

让内置的 ubuntu-drivers 程序自动决定要安装哪些专有图形驱动程序。打开终端并输入:

sudo ubuntu-drivers autoinstall   
sudo reboot   

Ubuntu-drivers的autoinstall命令会安装适合自动安装的驱动程序及其依赖项。通过这些命令安装的图形驱动程序包将以与其他apt软件包相同的方式接收软件更新。

这里有一个详细的答案,告诉你如何完成这个任务。它将列出两种在Ubuntu 12.10到14.04上安装最新的Nvidia驱动程序的方法。如果你的系统上已经安装了synaptic,那就最好了,因为你需要它来安装一些文件。如果没有安装,只需按下键盘上的Ctrl+Alt+T打开终端。当终端打开时,运行以下命令:
sudo apt-get install synaptic

所有列出的步骤都需要使用终端。要打开它,只需在键盘上按下Ctrl+Alt+T第一种方法: 首先要做的是更新您的Ubuntu发行版。
sudo apt-get update && sudo apt-get dist-upgrade

如果需要的话,重新启动。
Nvidia下载您发行版的最新驱动程序。
安装linux-source + linux-headers-generic + dkms(使用Synaptic软件包管理器)。

enter image description here enter image description here enter image description here

安装Build Essentials、gcc和g++
sudo apt-get install build-essential gcc g++

重启系统。
系统恢复并运行后,编辑/etc/modprobe.d/blacklist.conf文件,在文件末尾添加以下内容。
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

保存并退出文件。

删除当前的Nvidia驱动程序。

sudo apt-get remove --purge nvidia*

删除任何xserver-xorg-video-nouveau驱动程序
sudo apt-get --purge remove xserver-xorg-video-nouveau

编辑grub文件
sudo nano /etc/default/grub

从包含GRUB_CMDLINE_LINUX的行中删除"quiet splash"并替换为"text" 使用以下命令更新grub
sudo update-grub
sudo update-initramfs -u

在这个时候重新启动您的系统。一旦系统重新启动,它将进入文本模式。登录到您的系统,然后执行以下操作。
sudo su

(输入您的密码)
cd Downloads

(假设Nvidia下载的文件已经保存在那里)
sh xxx.run 

(其中xxx是Nvidia文件名) 点击确定 如果出现关于驱动程序的消息,请点击“是”(非常重要,请点击“是”) 等待安装完成,然后

sudo nano /etc/default/grub

从包含GRUB_CMDLINE_LINUX的行中删除"test"并替换为"quiet splash",然后执行以下操作:
按下Ctrl+xyenter保存文件并退出。
使用以下命令更新grub。
sudo update-grub/
sudo update-initramfs -u

重新启动,然后你就好了。
第二种方法:
只需在键盘上按下Ctrl+Alt+T来打开终端。当它打开时,运行以下命令:
sudo add-apt-repository ppa:xorg-edgers/ppa 
sudo apt-get update 
sudo apt-get install nvidia-340

enter image description here

两种方法都已经在Nvidia驱动版本340上进行了测试,它们都能正常工作。事后进行了许多更新,一切都运行正常。

想在和大家聊一下这个话题之前,我先提出一个警告。在过去的两天里,我对此进行了深入研究。
我已经使用Ubuntu很多年了。上周,我退休了我的旧四核AMD 940处理器的电脑,换了一台新的AMD 8350八核处理器,搭配了华硕主板。由于我不玩游戏,所以购买了一张新的GTX 650显卡作为视频输出。
安装GTX 650后,使用Noveau驱动程序一切正常,但是我想使用显卡上的HDMI接口,但不知何故无法在我的HP w2207h显示器上工作。
NOTE:  I'd actually never tried the hdmi port on that monitor before so I don't know if 
it ever worked as that monitor is now nearly 4 years old.

所以我首先安装了Ubuntu NVIDIA的“当前专有”测试版。
HDMI仍然不可用,但Unity桌面等仍然正常工作。
想着也许我应该直接从NVIDIA下载Linux驱动程序,于是我去了他们的驱动程序部分,搜索了Linux GTX 650显卡并下载了那个.run文件 - 文件名可能会很长。
对于那些对Ubuntu/Unity不熟悉的人来说,下一步是按下Ctrl + Alt + F1进入终端。
在应用NVIDIA驱动程序之前,你还需要关闭后台运行的LIGHTDM。
       $ sudo service lightdm stop

一旦停止了lightdm,您必须将.run文件更改为可执行文件。

       $ sudo chmod +x ./<nvidia>.run

然后最后执行新的驱动程序安装程序。
       $ sudo ./<nvidia>.run

这将开始并询问您多个问题,您必须回答。
完成后重新启动。
现在是我的警告。
在您开始执行上述操作之前,您应该要么有第二台电脑/笔记本可用,以便在遇到问题时查找如何撤销上述操作的方法 - 或者 - 您应该已经打印出所有所需信息,包括:
您需要使用的命令行来"清除"新的Nvidia驱动程序。
       $ sudo ./<nvidia>.run --uninstall

一旦完成,您必须在重新启动之前安装一些视频驱动程序,除非您保留了Noveau驱动程序(即您没有删除它 -- 大多数人都说这不需要尝试上述的NVIDIA专有驱动程序)。
接下来...确保您知道如何使用命令行重新安装Noveau驱动程序。
那么我为什么要发布这个呢?
我在安装NVIDIA官网最新的GTX 650显卡驱动程序时非常小心。
然而,在重新启动后,我的Ubuntu 12.10 Unity桌面出现了各种问题。
  1. 我使用synaptic,但无法使用它,因为启动它只会将其最小化到左侧的Unity工具栏中,无法让其显示在屏幕上
  2. 我无法从桌面或命令行中启动"System Settings"。它和synaptic的情况一样
  3. 我发现我的鼠标可能会在登录时出现或不出现在屏幕上。如果没有出现,我就必须执行关机操作...而不是重新启动...才能将其恢复
因为我没有花时间准备自己如何删除该驱动程序并从命令行重新安装一个正常工作的驱动程序(还记得我无法使用System Settings工具吗?),所以回到之前正常工作的系统非常麻烦。

所以按照童子军的格言“做好准备”,在你开始这段旅程之前要有所准备。

对我来说,最糟糕的是... 即使安装了NVIDIA的最新驱动程序,我仍然无法让GTX 650上的HDMI端口显示到我的显示器上。为了确认一下,我将HDMI电缆连接到了第二台较新的支持HDMI的显示器上,但仍然没有信号。

所以我又回到了原点,仍在努力让我的HDMI端口工作,不过好处是在这个过程中我学到了很多东西。

希望这对其他人有所帮助。


1哎呀...我怎么就是学不乖呢!我上面写的说我组装了一台新电脑,刚买了一张全新的GTX 650 Nvidia显卡,但是无论如何都无法通过HDMI连接到两个不同的显示器上。今天我突然想,也许是我刚买的那根HDMI线有问题,于是我用其中一个电视上的HDMI线进行了更换...结果它居然可以用了。所以那根新的HDMI线是坏的。 - bmullan

一个简单的命令行安装方法(基于@edwardtorvalds的答案的文本变体):
运行以下命令: ``` ubuntu-drivers devices ``` (`/usr/bin/ubuntu-drivers`由`ubuntu-drivers-common`提供,该软件包自14.04以来作为一个软件包提供,并在早期版本中作为一个应用程序提供。)
几秒钟后,您应该会得到以下输出: ``` == /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 == modalias : pci:v000010DEd00000DE1sv000019DAsd00001167bc03sc00i00 model : GF108 [GeForce GT 430] vendor : NVIDIA Corporation driver : nvidia-346-updates - distro non-free driver : nvidia-340-updates - distro non-free driver : nvidia-304-updates - distro non-free driver : nvidia-340 - distro non-free driver : xserver-xorg-video-nouveau - distro free builtin driver : nvidia-304 - distro non-free driver : nvidia-346 - distro non-free recommended ``` 推荐的驱动程序是`nvidia-346`,因此运行以下命令: ``` sudo apt-get install nvidia-346 ``` (由于nVidia驱动程序是非免费软件,您需要首先确保启用了multiverse存储库。)

对于第二步,要快速找到推荐的驱动程序,只需运行以下命令:ubuntu-drivers devices | grep recommended - Corey Goldberg

它可在默认存储库中找到。

从现在开始,Nvidia驱动程序可以在默认存储库中找到。因此不需要任何ppa。

执行:

sudo apt-get update
sudo apt-get install nvidia-361

截至目前,nvidia-361是默认软件源中最新的版本。你可以通过使用apt-cache search nvidia命令来搜索所有可用的驱动程序,以确保这一点。

这绝对是最好、最简单的答案,所有使用ppa的解决方案都会导致pkcs签名问题。https://askubuntu.com/questions/1031375/pkcs-signature-error-warnings-running-dmesg-on-ubuntu-mate-18-04 - Vindicated Halcyon