尝试按照以下步骤为 ubuntu Desktop 18.04 LTS 安装 nvidia 驱动程序关联。遵循上述链接中的所有提示。
但有些困惑:我使用的是 nvidia 驱动程序还是 nouveau?我使用的 nvidia 版本是否正确?我想使用 390 版本。
我有 Nvidia GTX 1060 并且使用 Ubuntu Linux Desktop 18.04 LTS。
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
不知道该相信什么?
編輯1 感谢 Luis 的回答。根据您的评论,当我尝试安装 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.
編輯2 试过这个关联 甚至 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*
而且根据上述输出,这似乎是我可以获得的最大分辨率。
编辑5 恢复 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
编辑7 昨天收到一条评论“有机大理石”- 我想周末试试。但在开始之前,作为一个好的练习 - 我想记录我当前的状态并发出以下命令:
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
是的,已经修好了,但是怎么修、什么时候修?我不知道? 感谢大家的帮助和建议。
编辑8 在我的 Dell 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-内核源在通过以下命令安装驱动程序之前:
~$ sudo apt install nvidia-kernel-source-396
然后通过以下命令安装驱动程序:
~$ sudo apt install nvidia-driver-396
答案2
针对您的具体情况,请严格按照以下步骤操作,以便能够将最新的 nvidia 与特定的 Nvidia 卡一起使用。我假设您有互联网:
添加 Nvidia PPA
sudo add-apt-repository ppa:graphics-drivers/ppa
在 18.04 上,您不需要更新存储库。添加 PPA 后,此操作会自动完成。更新完成后,请为您的 nvidia 驱动程序执行以下操作:
对于 Nvidia 390
sudo apt install nvidia-driver-390
对于 Nvidia 396(我为 1080 使用的,也适用于你的 1060)
sudo apt install nvidia-driver-396
没有必要安装 nvidia-settings 包,因为在 18.04 中,建议和推荐的包是默认安装的(至少据我所知),但如果 nvidia-settings 包没有安装,则
sudo apt install nvidia-settings
此外,如果您想要 Vulkan,那么只需:
sudo apt install vulkan
之后,您可以重新启动计算机,然后就完成了。以下是此步骤与 1080 完美配合的屏幕截图(包括 Vulkan)
答案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
昨天升级到 18.04 时我遇到了同样的问题。
我已经安装了 Nvidia 390,但我应该安装 Nvidia 396。我只需通过以下命令删除 Nvidia 390:
sudo apt purge nvidia-390
然后安装推荐的驱动(396),现在困扰了几个月的问题终于解决了。