Ubuntu 16.04 Nvidia驱动程序不起作用


21

我刚刚安装了新的ubuntu 16.04,
干净安装了新设备,登录后的第一件事是,我选择了nvidia的专有驱动程序361,重新启动了计算机。
重新启动后,我可以登录,但没有显示统一性,但是我仍然可以右键单击并打开终端,尝试了许多答案:
link1 link2

并没有帮助,我感到沮丧,启动到USB并重新安装它,这一次我尝试了340个驱动程序,同样的问题。
我的意思是这是16.04 LTS天哪
我有基于华硕笔记本电脑的双显卡nvidia gt 740m。

grep“ EE \ | WW” /var/log/Xorg.0.log的输出:

(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    23.758] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[    23.758] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[    23.758] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[    23.758] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[    23.758] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[    23.761] (WW) "glamoregl" will not be loaded unless you've specified it to be loaded elsewhere.
[    25.323] (WW) Unresolved symbol: fbGetGCPrivateKey
[    25.448] (WW) NVIDIA(0): Unable to get display device for DPI computation.
[    25.613] (WW) modeset(G0): Option "AllowEmptyInitialConfiguration" is not used
[    25.613] (WW) modeset(G0): Option "IgnoreDisplayDevices" is not used
[    25.902] (EE) NVIDIA(0): Failed to initiate mode change.
[    25.902] (EE) NVIDIA(0): Failed to complete mode change
[    26.214] (WW) evdev: SteelSeries Sensei Raw Gaming Mouse: ignoring absolute axes.
[    26.216] (WW) evdev: SteelSeries SteelSeries Apex Raw Gaming Keyboard: ignoring absolute axes.
[    26.272] (II) XINPUT: Adding extended input device "USBest Technology SiS HID Touch Controller" (type: TOUCHSCREEN, id 16)

完整的日志文件 LOG

xorg.conf文件:

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection

Section "Device"
    Identifier "intel"
    Driver "modesetting"
    BusID "PCI:0@0:2:0"
    Option "AccelMethod" "None"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:4@0:0:0"
    Option "ConstrainCursor" "off"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration" "on"
    Option "IgnoreDisplayDevices" "CRT"
EndSection

是什么grep "EE\|WW" /var/log/Xorg.0.log节目?
Hi-Angel

@ Hi-Angel我已经用输出更新了答案
saeed hardan

从那部分来看,Option "IgnoreDisplayDevices" is not used我猜您是在xorg.conf某个地方归档的。我首先尝试将其移动到某个位置,例如移至主目录,以查看它是否可以解决问题。它很可能在/etc/X11/xorg.conf。如果不存在,您可以通过执行命令来查看路径grep "Using config file" /var/log/Xorg.0.log
Hi-Angel

@ Hi-Angel,它在/etc/X11/xorg.conf中,并尝试将其复制到〜/,没有帮助:/
saeed hardan

不,不是复制,我的意思是将其移动到某个位置,即进行备份,然后将其删除到原始目录中:)
Hi-Angel

Answers:


10

我还安装了Ubuntu 16.04,在新硬盘上进行全新安装,一切正常,直到切换到NVIDIA驱动程序为止。重新启动后,我无法通过登录屏幕。对我有用的解决方案是禁用安全启动

陷入登录循环后,我切换到控制台Ctl+Alt+F1,重新启动并在中禁用安全启动UEFI。现在,一切都可以在安装了nvidia驱动程序的情况下进行。


是的,您的解决方案对我有用。我从没想到UEFI + nvidia会导致这种错误!
迈达斯国王(King Midas)

除了禁用安全启动,我们还必须从“ UEFI + CSM”切换到“ UEFI”,然后我们才能正常启动。
哈鲁克

你不必禁用安全启动使用NVIDIA驱动askubuntu.com/questions/761886/...
QkiZ

3

我也有这个问题。我只是在控制台中运行此命令(在登录页面中按Ctrl+ Alt+ F1,以显示第一个虚拟tty):

sudo apt-get purge nvidia*

在此之后,重新启动,然后我可以登录。之后,我先安装了英特尔驱动程序,然后安装了nvidia-361。

这些是我遵循的步骤:

  1. sudo apt-get purge nvidia*
  2. 重新启动(现在我有noveau显示驱动程序在工作)
  3. sudo apt-get install intel-microcode
  4. sudo apt-get install intel-gpu-tools
  5. 重新启动(进行测试,一切正常
  6. sudo apt-get install nvidia-361 (我认为nvidia-current是更好的长期选择)。
  7. 重启

现在我有这些(对不起,它们是西班牙语):

其他驱动程序


您安装英特尔驱动程序是什么意思?
saeed hardan's

1
只需编辑答案即可显示我遵循的步骤。希望能对您有所帮助。
Shosta

对于其他用户:交换显卡后,我将其与18.04结合使用,然后返回。只需简单地执行第一步(清除nvidia),然后重新启动,使用默认驱动程序,搜索专有驱动程序,找到nvidia,然后使用该驱动程序结束。
dez93_2000

2

我也有16.04和Nvidia 361.42驱动程序的问题。您可以使用prime-select intel或Nouveau驱动程序作为临时解决方法。多年来,我一直在使用Nvidia官方Ubuntu驱动程序遇到无休止的问题,这是很受欢迎的。我认为Steam OS的推出以及Linux用户/游戏玩家的增加可能会鼓励他们更好地支持Linux:/


1

找到了解决方案(这次是真实的),
我决定成为Ubuntu专家,所以我去了google并输入:

调试ubuntu

然后它给了我Debug页面,我选择了unity。
在某些方面,我需要做:

$ unity --advanced-debug
GNU gdb (GDB) 7.2-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>

...

(gdb) set logging file unity.log
(gdb) set logging on
(gdb) b _exit
Function "_exit" not defined.
Make breakpoint pending on future shared library load? (y or [n])
[Answer yes (y)]

(gdb) run

[ and when compiz/unity crash, do...]

(gdb) bt full

[ then CTRL-D or re-run compiz to continue working ]

(gdb) run

运行此程序后,我注意到错误:
compiz(核心)-错误:未加载插件'opengl'。

我在google上搜索了此错误,它给了我这个线程Unity缺失?无法看到顶部或侧面面板,这里的答案是有效的。


1

我想我已经找到了解决方案。在主机上安装16.04时遇到了麻烦。Nvidia驱动程序崩溃,您无法登录,必须诉诸sudo apt-get purge nvidia- *。Chrome崩溃了。

我的带有传统BIOS的二手机器没有问题。这只是我带UEFI固件的主机。最令人沮丧的是,我每天从内部版本运行16.04已有几个月,这真是坚如磐石。

我注意到,如果在安装过程中下载驱动程序,安装程序会要求输入密码。解决方案是关闭安全启动。然后(从“ BIOS”菜单中的UEFI选项中)安装Ubuntu,然后继续进行,并且系统似乎很稳定。16.04并不完美,例如,要安装Chrome必须使用gdebi,但至少现在可以使用。


1

对我来说,经过大量搜索后的解决方案是在BIOS中禁用UEFI。我的机器仅运行Linux,因此禁用UEFI没什么大不了的。

我在使用VirtualBox和NVIDIA时遇到问题,无法在Ubuntu 16上使用。我一直在寻找“ ubuntu 16 UEFI Virtual Box Fail内核构建”,并且遇到了有关Virtualbox 的链接,这使我对UEFI感到困惑并禁用了它。

禁用UEFI后,我重新安装了Ubuntu16。在安装过程中,具有“安全启动”条目的对话框中没有该内容。

我很高兴地报告Ubuntu 16正在运行,并且NVIDIA或VirtualBox都没有问题!两者都按预期工作。

感谢那些分享他们知识的人,所以我可以前进。



1

Ubuntu 16.04带有xserver Xorg 1.18,其配置与以前有些不同。在双GPU设置,从Arch Linux的维基,在/etc/X11/xorg.conf中应该是这样的:

Section "Module"
    Load "modesetting"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:1:0:0"
    Option "AllowEmptyInitialConfiguration"
EndSection

PCI:1:0:0替换为您的nvidia总线ID。您可以使用以下方法进行检查:

$ lspci | grep -E "VGA|3D"

它适用于具有双GPU的HP笔记本电脑:Intel(Skylake)和NVIDIA 940m。请记住,可以使用prime-select命令(以root身份)或nvidia-settings官方应用程序在它们之间进行切换,然后重新启动计算机。


0

我遇到了类似的问题,但是我的问题尤其是由ESET NOD32 Antivirus引起的。

从ubuntu仓库和手动NVIDIA驱动程序安装的驱动程序安装都无法构建DKMS模块。

我找到了有关如何卸载ESET的说明,并且在卸载后,将运行级别设置为3:

sudo systemctl enable multi-user.target
sudo systemctl set-default multi-user.target

新黑名单:

/etc/modprobe.d/blacklist.conf以超级用户身份编辑并添加:

blacklist nouveau

然后清除NVIDIA并重新启动:

sudo apt purge nvidia*
sudo reboot

进入运行级别3后,我手动安装了最新的NVIDIA驱动程序,将运行级别设置回5,然后重新启动。

sudo sh ./NVIDIA...
sudo systemctl enable graphical.target
sudo systemctl set-default graphical.target
reboot

一切终于正常了,所以我重新安装了防病毒软件。将必须等待内核更新,以确保随后重新构建NVIDIA驱动程序。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.