尝试为ubuntu桌面18.04安装nvidia驱动程序

・23 分钟阅读

问题:

正在按照这个链接为ubuntu Desktop 18.04安装nvidia驱动程序 ,遵循链接中的所有提示。

但事情却有些困惑: 我是否正在使用nvidia驱动程序或新产品? 我是否在使用正确版本的nvidia? 我想使用版本390.

我正在使用Nvidia GTX 1060,并使用Ubuntu Linux Desktop 18.04.


lspci -k | grep -EA2 'VGA|3D' 


01:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1)


 Subsystem: Dell GP106 [GeForce GTX 1060 6GB]


 Kernel driver in use: nouveau



上面的命令显示我正在使用nouveau

额外的驱动程序显示我正在使用nvidia驱动程序 enter image description here

不知道该信任什么?

Edit1感谢你的回答,在试图安装396驱动程序时,基于你的评论,我正在获得以下错误:


sudo apt install nvidia-driver-396


Reading package lists... Done


Building dependency tree 


Reading state information... Done


Some packages could not be installed. This may mean that you have


requested an impossible situation or if you are using the unstable


distribution that some required packages have not yet been created


or been moved out of Incoming.


The following information may help to resolve the situation:



The following packages have unmet dependencies:


 nvidia-driver-396 : Depends: nvidia-dkms-396 (= 396.24-0ubuntu0~gpu18.04.1) but it is not going to be installed


 Depends: nvidia-kernel-source-396 (= 396.24-0ubuntu0~gpu18.04.1) but it is not going to be installed


 Depends: nvidia-compute-utils-396 (= 396.24-0ubuntu0~gpu18.04.1) but it is not going to be installed


 Depends: libnvidia-decode-396 (= 396.24-0ubuntu0~gpu18.04.1) but it is not going to be installed


 Depends: libnvidia-encode-396 (= 396.24-0ubuntu0~gpu18.04.1) but it is not going to be installed


 Depends: nvidia-utils-396 (= 396.24-0ubuntu0~gpu18.04.1) but it is not going to be installed


 Depends: xserver-xorg-video-nvidia-396 (= 396.24-0ubuntu0~gpu18.04.1) but it is not going to be installed


 Depends: libnvidia-cfg1-396 (= 396.24-0ubuntu0~gpu18.04.1) but it is not going to be installed


 Recommends: libnvidia-decode-396:i386 (= 396.24-0ubuntu0~gpu18.04.1)


 Recommends: libnvidia-encode-396:i386 (= 396.24-0ubuntu0~gpu18.04.1)


 Recommends: libnvidia-ifr1-396:i386 (= 396.24-0ubuntu0~gpu18.04.1)


 Recommends: libnvidia-fbc1-396:i386 (= 396.24-0ubuntu0~gpu18.04.1)


E: Unable to correct problems, you have held broken packages.



然后


sudo apt install nvidia-settings


Reading package lists... Done


Building dependency tree 


Reading state information... Done


nvidia-settings is already the newest version (396.24-0ubuntu0~gpu18.04.1).


nvidia-settings set to manually installed.


0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.



Edit2尝试了这个链接,甚至是来自nvidia的专有驱动程序,nouveau非常卡顿,即使被列入黑名单,并且试图将它删除,也不行。

编辑3重新安装没有解决问题,似乎它是这里 提到的常见的错误

编辑4尝试下列操作


sudo apt purge nvidia-390


sudo apt install nvidia-kernel-source-396


sudo apt install nvidia-driver-396



然后(添加了nomodeset条目)


sudo vi /etc/default/grub


GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"



当我在执行以下命令时重新启动:


lspci -k | grep -EA2 'VGA|3D' 


01:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1)


 Subsystem: Dell GP106 [GeForce GTX 1060 6GB]


 Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia



但是,问题是我现在有了更低的分辨率-更大的字体,内核模块:nvidiafb,nouveau,nvidia_drm,nvidia它按照显示的顺序拥有所有4个模块?当前分辨率为


xdpyinfo | awk '/dimensions/{print $2}'


800x600



通过这个更改,辅助监视器已停止工作。 xrandr


xrandr: Failed to get size of gamma for output default


Screen 0: minimum 800 x 600, current 800 x 600, maximum 800 x 600


default connected primary 800x600+0+0 0mm x 0mm


 800x600 75.00* 



看来这是我可以根据上面的输出获得的最大分辨率。

Edit5恢复grub nomodeset条目以获得正常的分辨率。 在重启并仔细查看日志文件之后,这就是我所发现的(只是相关的行),


/var/log# cat gpu-manager.log


can't access /run/u-d-c-nvidia-was-loaded file


can't access /opt/amdgpu-pro/bin/amdgpu-pro-px


Looking for nvidia modules in /lib/modules/4.15.0-20-generic/updates/dkms


Found nvidia module: nvidia.ko


Looking for amdgpu modules in /lib/modules/4.15.0-20-generic/updates/dkms


Is nvidia loaded? no


Was nvidia unloaded? no


Is nvidia blacklisted? no


Is intel loaded? yes


Is nouveau loaded? yes


Is nouveau blacklisted? yes


Is nvidia kernel module available? yes


Is amdgpu kernel module available? no


Vendor/Device Id: 8086:3e92


BusID"PCI:0@0:2:0"


Has amd? no


Has intel? yes


Has nvidia? yes


How many cards? 2


The number of cards has changed!


Has the system changed? Yes


System configuration has changed


Unsupported discrete card vendor: 8086


Nothing to do



Xorg.0.log


[ 5.649] (--) PCI:*(0:1:0:0) 10de:1c03:1028:11d7 rev 161, Mem @ 0xeb000000/16777216, 0xa0000000/268435456, 0xb0000000/33554432, I/O @ 0x0000e000/128, BIOS @ 0x????????/131072


[ 5.649] (II) LoadModule:"glx"


[ 5.649] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so


[ 5.649] (II) Module glx: vendor="X.Org Foundation"


[ 5.649] compiled for 1.19.6, module version = 1.0.0


[ 5.649] ABI class: X.Org Server Extension, version 10.0


[ 5.649] (==) Matched nouveau as autoconfigured driver 0


[ 5.649] (==) Matched modesetting as autoconfigured driver 1


[ 5.649] (==) Matched fbdev as autoconfigured driver 2


[ 5.649] (==) Matched vesa as autoconfigured driver 3


[ 5.649] (==) Assigned the driver to the xf86ConfigLayout


[ 5.649] (II) LoadModule:"nouveau"


[ 5.650] (II) Loading /usr/lib/xorg/modules/drivers/nouveau_drv.so


[ 5.650] (II) Module nouveau: vendor="X.Org Foundation"


[ 5.650] compiled for 1.19.3, module version = 1.0.15


[ 5.650] Module class: X.Org Video Driver


[ 5.650] ABI class: X.Org Video Driver, version 23.0


[ 5.650] (II) LoadModule:"modesetting"


[ 5.650] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so


[ 5.650] (II) Module modesetting: vendor="X.Org Foundation"


[ 5.650] compiled for 1.19.6, module version = 1.19.6


[ 5.650] Module class: X.Org Video Driver


[ 5.650] ABI class: X.Org Video Driver, version 23.0


[ 5.650] (II) LoadModule:"fbdev"


[ 5.650] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so


[ 5.650] (II) Module fbdev: vendor="X.Org Foundation"


[ 5.650] compiled for 1.19.3, module version = 0.4.4


[ 5.650] Module class: X.Org Video Driver


[ 5.650] ABI class: X.Org Video Driver, version 23.0


[ 5.650] (II) LoadModule:"vesa"


[ 5.650] (II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so


[ 5.650] (II) Module vesa: vendor="X.Org Foundation"


[ 5.650] ABI class: X.Org Video Driver, version 23.0


[ 5.650] (II) NOUVEAU driver Date: Fri Apr 21 14:41:17 2017 -0400


[ 5.650] (II) NOUVEAU driver for NVIDIA chipset families :


[ 5.650] RIVA TNT (NV04)


[ 5.650] RIVA TNT2 (NV05)


[ 5.650] GeForce 256 (NV10)


[ 5.651] GeForce 2 (NV11, NV15)


[ 5.651] GeForce 4MX (NV17, NV18)


[ 5.651] GeForce 3 (NV20)


[ 5.651] GeForce 4Ti (NV25, NV28)


[ 5.651] GeForce FX (NV3x)


[ 5.651] GeForce 6 (NV4x)


[ 5.651] GeForce 7 (G7x)


[ 5.651] GeForce 8 (G8x)


[ 5.651] GeForce GTX 200 (NVA0)


[ 5.651] GeForce GTX 400 (NVC0)


[ 5.651] (II) modesetting: Driver for Modesetting Kernel Drivers: kms


[ 5.651] (II) FBDEV: driver for framebuffer: fbdev


[ 5.651] (II) VESA: driver for VESA chipsets: vesa


[ 5.651] xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)


[ 5.769] (EE) [drm] Failed to open DRM device for pci:0000:01:00.0: -19


[ 5.769] (EE) open /dev/dri/card0: No such file or directory


[ 5.769] (WW) Falling back to old probe method for modesetting


[ 5.769] (EE) open /dev/dri/card0: No such file or directory


[ 5.769] (II) Loading sub module"fbdevhw"


[ 5.769] (II) LoadModule:"fbdevhw"


[ 5.770] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so


[ 5.770] (II) Module fbdevhw: vendor="X.Org Foundation"


[ 5.770] compiled for 1.19.6, module version = 0.0.2


[ 5.770] ABI class: X.Org Video Driver, version 23.0


[ 5.770] (**) FBDEV(1): claimed PCI slot 1@0:0:0


[ 5.770] (II) FBDEV(1): using default device


[ 5.770] (WW) Falling back to old probe method for vesa


[ 5.770] (EE) Screen 0 deleted because of no matching config section.


[ 5.770] (II) FBDEV(0): Creating default Display subsection in Screen section


"Default Screen Section" for depth/fbbpp 24/32


[ 5.770] (==) FBDEV(0): Depth 24, (==) framebuffer bpp 32


[ 5.770] (==) FBDEV(0): RGB weight 888


[ 5.770] (==) FBDEV(0): Default visual is TrueColor


[ 5.770] (==) FBDEV(0): Using gamma correction (1.0, 1.0, 1.0)


[ 5.770] (II) FBDEV(0): hardware: EFI VGA (video memory: 2400kB)


[ 5.770] (II) FBDEV(0): checking modes against framebuffer device...


[ 5.770] (II) FBDEV(0): checking modes against monitor...


[ 5.770] (--) FBDEV(0): Virtual size is 800x600 (pitch 800)


[ 5.770] (**) FBDEV(0): Built-in mode"current": 48.0 MHz, 46.9 kHz, 75.1 Hz


[ 5.770] (II) FBDEV(0): Modeline"current"x0.0 48.00 800 832 928 1024 600 604 608 624 -hsync -vsync -csync (46.9 kHz b)


[ 5.770] (==) FBDEV(0): DPI set to (96, 96)


[ 5.770] (II) Loading sub module"fb"


[ 5.770] (II) LoadModule:"fb"


[ 5.770] (II) Loading /usr/lib/xorg/modules/libfb.so


[ 5.770] (II) Module fb: vendor="X.Org Foundation"


[ 5.770] compiled for 1.19.6, module version = 1.0.0


[ 5.770] ABI class: X.Org ANSI C Emulation, version 0.4


[ 5.770] (**) FBDEV(0): using shadow framebuffer


[ 5.770] (II) Loading sub module"shadow"


[ 5.770] (II) LoadModule:"shadow"


[ 5.770] (II) Loading /usr/lib/xorg/modules/libshadow.so


[ 5.772] (II) Module shadow: vendor="X.Org Foundation"


[ 5.772] compiled for 1.19.6, module version = 1.1.0


[ 5.772] ABI class: X.Org ANSI C Emulation, version 0.4


[ 5.772] (II) UnloadModule:"vesa"


[ 5.772] (II) Unloading vesa


[ 5.772] (==) Depth 24 pixmap format is 32 bpp


[ 5.772] (II) FBDEV(0): FBIOBLANK: Invalid argument (Screen blanking not supported by kernel - disabling)


[ 5.773] (==) FBDEV(0): Backing store enabled


[ 5.773] (==) FBDEV(0): DPMS enabled


[ 5.773] (==) RandR enabled


[ 5.774] (II) SELinux: Disabled on system


[ 5.775] (II) AIGLX: Screen 0 is not DRI2 capable


[ 5.775] (EE) AIGLX: reverting to software rendering



编辑6仍未为我解析,一个间歇的延迟。查看dmesg


# dmesg | grep nvidia


[ 2.391066] nvidia: loading out-of-tree module taints kernel.


[ 2.391070] nvidia: module license 'NVIDIA' taints kernel.


[ 2.393241] nvidia: module verification failed: signature and/or required key missing - tainting kernel


[ 2.397378] nvidia-nvlink: Nvlink Core is being initialized, major device number 240


[ 2.397558] nvidia 0000:01:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem


[ 2.398536] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 396.24 Wed Apr 25 23:54:18 PDT 2018


[ 2.399519] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver


[ 2.399519] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 0


[ 4.259151] nvidia-uvm: Loaded the UVM driver in 8 mode, major device number 238


[ 7.067363] nvidia-modeset: Allocated GPU:0 (GPU-2299f1b5-2a33-6f69-67d2-919f812a967a) @ PCI:0000:01:00.0



但是,在开始做一个好实践之前,我想记录我的当前状态并发出以下命令:


ashu# lspci -k | grep -EA2 'VGA|3D'


01:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1)


 Subsystem: Dell GP106 [GeForce GTX 1060 6GB]


 Kernel driver in use: nvidia



我的/etc/default/grub


GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"



/var/log# cat gpu-manager.log


log_file: /var/log/gpu-manager.log


last_boot_file: /var/lib/ubuntu-drivers-common/last_gfx_boot


new_boot_file: /var/lib/ubuntu-drivers-common/last_gfx_boot


can't access /opt/amdgpu-pro/bin/amdgpu-pro-px


Looking for nvidia modules in /lib/modules/4.15.0-22-generic/updates/dkms


Found nvidia module: nvidia.ko


Looking for amdgpu modules in /lib/modules/4.15.0-22-generic/updates/dkms


Is nvidia loaded? yes


Was nvidia unloaded? no


Is nvidia blacklisted? no


Is intel loaded? yes


Is radeon loaded? no


Is radeon blacklisted? no


Is amdgpu loaded? no


Is amdgpu blacklisted? no


Is amdgpu versioned? no


Is amdgpu pro stack? no


Is nouveau loaded? no


Is nouveau blacklisted? yes


Is nvidia kernel module available? yes


Is amdgpu kernel module available? no


Vendor/Device Id: 8086:3e92


BusID"PCI:0@0:2:0"


Is boot vga? no


Vendor/Device Id: 10de:1c03


BusID"PCI:1@0:0:0"


Is boot vga? yes


Skipping"/dev/dri/card0", driven by"i915"


Skipping"/dev/dri/card1", driven by"nvidia-drm"


Skipping"/dev/dri/card0", driven by"i915"


Skipping"/dev/dri/card1", driven by"nvidia-drm"


Skipping"/dev/dri/card0", driven by"i915"


Skipping"/dev/dri/card1", driven by"nvidia-drm"


Found"/dev/dri/card0", driven by"i915"


Number of connected outputs for /dev/dri/card0: 0


Does it require offloading? no


last cards number = 2


Has amd? no


Has intel? yes


Has nvidia? yes


How many cards? 2


Has the system changed? No


Unsupported discrete card vendor: 8086


Nothing to do



 root@ashu-XPS-8930:/var/log# lshw -c video 2>&1 | grep driver


 configuration: driver=nvidia latency=0


 configuration: driver=i915 latency=0



root@ashu-XPS-8930:/var/log# dmesg | grep nvidia


[ 2.438396] nvidia: loading out-of-tree module taints kernel.


[ 2.438399] nvidia: module license 'NVIDIA' taints kernel.


[ 2.440419] nvidia: module verification failed: signature and/or required key missing - tainting kernel


[ 2.444471] nvidia-nvlink: Nvlink Core is being initialized, major device number 240


[ 2.444631] nvidia 0000:01:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem


[ 2.449781] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 396.24.02 Thu May 24 03:44:56 PDT 2018


[ 2.450402] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver


[ 2.450403] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 1


[ 4.272315] nvidia-uvm: Loaded the UVM driver in 8 mode, major device number 238


[ 7.201052] nvidia-modeset: Allocated GPU:0 (GPU-2299f1b5-2a33-6f69-67d2-919f812a967a) @ PCI:0000:01:00.0



还有添加其他的驱动也一样same

我没主意了,感谢大家的帮助和建议。

编辑8还可以修复我的戴尔XPS 9560笔记本电脑,应检查此文件:


/etc/modprobe.d/disable-nouveau.conf


blacklist nouveau


blacklist vga16fb


blacklist rivafb


blacklist nvidiafb


blacklist rivatv


blacklist amd76_edac


options nouveau modeset=0




回答1:

对于您的具体情况,请完全按照以下步骤使用您最新的特定Nvidia显卡。我假设你有互联网:

  • 添加Nvidia PPA

    
    sudo add-apt-repository ppa:graphics-drivers/ppa
    
    
    
    
  • 在18.04上,你不需要更新存储库,添加PPA后,自动完成这个操作,更新完成后,请为你的nvidia驱动程序执行这个操作:

  • for Nvidia 390

    
     sudo apt install nvidia-driver-390
    
    
    
    

    for Nvidia 396 (我使用的是1080,但也适用于你的1060 )

    
     sudo apt install nvidia-driver-396
    
    
    
    

    从18.04开始,无需安装nvidia设置软件包,建议和推荐的软件包已经安装了,但是,(至少我知道)设置包没有安装,

    
     sudo apt install nvidia-settings
    
    
    
    

    如果你想要Vulkan,那么只需:

    
     sudo apt install vulkan
    
    
    
    

    这样你就可以重启电脑了。

    enter image description here


回答2:

要解决此错误,请在安装驱动程序之前通过以下命令安装nvidia-kernel-source :


 ~$ sudo apt install nvidia-kernel-source-396



然后按以下命令安装驱动程序:


 ~$ sudo apt install nvidia-driver-396




回答3:

按这个答案:https://askubuntu.com/a/1044501/254024


sudo apt purge 'nvidia.*'


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


sudo apt install nvidia-390




回答4:

我有一个类似的问题,通过更新系统(不确定你是否错过了那个),修复了一些问题,包括更新(17.10 -> 18.04 ),添加,然后尝试安装。

所以:


 sudo apt update


 sudo apt upgrade


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


 sudo apt update


 sudo apt upgrade


 sudo apt install nvidia-driver-396 libvulkan1



我更熟悉的Red Hat Way (TM ),我采取了他们的方法,并且清除了我的rx缓存,重新检查更新升级命令,然后重新运行驱动程序安装命令,这样就可以正常工作了。

要清除高速缓存:


 sudo apt auto-clean



所以,要解决你的问题,我应该做的是:


 sudo apt auto-clean


 sudo apt update


 sudo apt upgrade


 sudo apt install nvidia-driver-396 libvulkan1



进行了升级,并寻找了我可以找到(popos存储库现在不同,我必须删除许多borked包,然后再次安装)的几个问题,重新启用ppa等等。

祝你好运
Andrew 。


回答5:

我昨天升级到18.04时遇到了同样的问题。

我已经安装了Nvidia 390,但是,我应该安装Nvidia 396,我只是通过以下命令删除了Nvidia 390 :

sudo apt purge nvidia-390

然后安装推荐的(396 )驱动程序,现在,一个持续数月的问题终于解决了。


讨论
Tianye profile image