安装专有的 nvidia 驱动程序 Kali 2016.2

安装专有的 nvidia 驱动程序 Kali 2016.2

我设法使我安装的 kali linux 2016.2 无用,因此我重新安装了它,并按照以下教程重新开始该过程: https://www.blackmoreops.com/2014/03/13/install-proprietary-nvidia-driver-kali-linux/

以下是该教程中概述的步骤。

echo "deb http://http.kali.org/kali kali-rolling main contrib non-free" >> etc/apt/sources.list
apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y
apt-get install -y aptitude 
aptitude -r install linux-headers-$(uname -r)
apt-get install nvidia-kernel-$(uname -r)
aptitude install nvidia-kernel-dkms
aptitude install nvidia-xconfig
nvidia-xconfig
reboot

由于安装在接下来的步骤中再次停止,

aptitude -r install linux-headers-$(uname -r)

具有以下输出

找不到任何名称或描述与“linux-headers-4.6.0-kali1-amd64”匹配的包无法应用某些操作,正在中止

我将推荐的存储库添加到 /etc/apt/sources.list

echo "deb http://old.kali.org/kali sana main non-free contrib" >> /etc/apt/sources.list
echo "deb-src http://old.kali.org/kali sana main non-free contrib" >> /etc/apt/sources.list
echo "deb http://http.kali.org/kali kali-rolling main contrib non-free" >> /etc/apt/sources.list
echo "deb-src http://http.kali.org/kali kali-rolling main contrib non-free" >> /etc/apt/sources.list

并重试该步骤,但仍然失败并显示错误。我完全陷入困境,我不知道下一步该尝试什么

我想我必须从 NVIDIA 手动下载驱动程序,这是我下载的文件“NVIDIA-Linux-x86_64-304.132.run”,大约有 69.4 MB 大

这是有关该驱动程序包的信息: LINUX X64 (AMD64/EM64T) DISPLAY DRIVER 版本:304.132 发布日期:2016.9.26 操作系统:Linux 64 位 语言:英语(美国) 文件大小:66.21 MB

支持的产品为: ... GeForce 200 系列:GeForce GTX 295、GeForce GTX 285、GeForce GTX 280、GeForce GTX 275、GeForce GTX 260、GeForce GTS 250、GeForce GTS 240、GeForce GT 230、GeForce GT 240、GeForce GT 220 、GeForce G210、GeForce 210、GeForce 205 ...

链接在这里 http://www.nvidia.com/content/DriverDownload-March2009/confirmation.php?url=/XFree86/Linux-x86_64/304.132/NVIDIA-Linux-x86_64-304.132.run&lang=us&type=GeForce

那么我的 GeForce 210 支持此驱动程序包,但是我该如何手动安装它以及应该在哪一步之后安装呢?

请帮忙!我会将所有内容编译成教程,这样其他在 kali linux 2016.2 中遇到相同错误的人也能得到帮助。

谢谢

答案1

事实上,我刚刚让专有的 Nvidia 驱动程序在我的台式机和笔记本电脑上运行,请向下滚动笔记本电脑指南。在 Optimus 笔记本电脑上这有点棘手,但仍然相当可行。

NVIDIA 桌面驱动程序安装

首先,我假设以 root 身份登录并全新安装 kali 2016.2。

先决条件

leafpad /etc/apt/sources.list

确保sources.list仅具有以下来源:

deb http://http.kali.org/kali kali-rolling main contrib non-free

1. 获取您需要的包

apt-get update
apt-get upgrade
apt-get dist-upgrade
apt-get update
apt-get upgrade

2. 从内核中卸载nouveau。

modprobe -r nouveau

3. 安装内核头文件

apt-get install gcc make linux-headers-$(uname -r)

4.安装dkms

apt-get install dkms

5. 将新司机列入黑名单

leafpad /etc/modprobe.d/nouveau-blacklist.conf

并将行“blacklist nouveau”(不带引号)添加到 conf 文件中,保存并关闭。

6.安装Nvidia驱动程序并重新启动

apt-get install nvidia-kernel-dkms nvidia-xconfig nvidia-settings
reboot

登录后就完成了。如果您需要配置驱动程序,请从终端运行 nvidia-settings。

支持 Optimus 的笔记本电脑 M 系列 GPU 上的 NVIDIA 设置

首先,KALI 发行版网站上的说明是错误的,它们不起作用,并且永远不会与 Kali 安装一起使用。

无论如何,这里是

步骤1。

安装 Kali 后,当 GRUB 加载时,选择 kali 引导项并按“e”。

转到加载 Linux 内核的行并附加不带引号的“nomodeset”,但在“安静”文本后包含前缀空格,这将允许您加载显示管理器。

它应该类似于以下示例

linux /boot/vmlinuz-linux root=/dev/sda3 initrd=/boot/initramfs-linux.img 安静 nomodeset

第2步。

登录后,打开终端并发出以下命令:

apt-get update
apt-get dist-upgrade
apt-get upgrade

这将确保您的发行版是最新的。完成后,重新启动 Kali,记得按 e 并再次指定 nomodeset。

步骤 3.

apt-get install -y linux-headers-$(uname -r)
apt-get install nvidia-kernel-dkms nvidia-xconfig nvidia-settings
apt-get install nvidia-vdpau-driver vdpau-va-driver mesa-utils

这将安装适当的 nvidia 驱动程序、配置软件和 mesa-utils,以验证通过 glxgears 进行的驱动程序安装。

步骤4。

发出 lspci 来识别您的 nvidia 芯片的 BusID,您将需要它来配置 xorg.conf。

在终端中发出以下命令:

lspci | grep "3D"

我得到以下输出

01:00.0 3D 控制器:NVIDIA Corporation GM107M [GeForce GTX 960M](rev a2)

记下您的 nvidia 卡的 BusID。

步骤 5。

leafpad /etc/X11/xorg.conf

将以下配置放入 xorg.conf 中,请务必对其进行编辑,将 <#:#:#> 替换为 lspci 中的 BusID,例如,如果 LSPCI 报告 01:00.00,则 BusID 值应为“1:0:0”

Section "Module"
     Load          "modesetting" 
EndSection

 Section "Device"
     Identifier     "nvidia"
     Driver         "nvidia"
     VendorName     "NVIDIA Corporation"
     BusID          "<#:#:#>"
     Option         "AllowEmptyInitialConfiguration" 
EndSection

在我的实例中,BusID 设置为“1:0:0”

步骤 6。

创建一个 lightdm 配置脚本,这将在显示管理器启动之前执行,并告诉 X 使用哪个输出源。

leafpad /etc/lightdm/display_setup.sh

将以下行粘贴到新文件中,保存并关闭

#!/bin/sh 
xrandr --setprovideroutputsource modesetting NVIDIA-0 
xrandr --auto

接下来,我们需要使该脚本从终端可执行。

chmod +x /etc/lightdm/display_setup.sh

步骤 7。

最后,需要告诉 lightdm 在加载时执行脚本。您需要打开 lightdm.conf 文件,向下滚动到 [Set:*] 部分,并在其正下方添加以下文本。

显示设置脚本=/etc/lightdm/display_setup.sh

重新启动就完成了。在 grub 中启动时无需设置 nomodeset,登录后,弹出打开终端并发出问题

glxgears

就是这样。大功告成,您现在可以使用 nvidia 卡进行 3D 加速。

我为 Kali 的 XFCE 变体执行了此操作,您需要根据您选择的显示管理器调整步骤 6 和步骤 7。

NVIDIA Optimus - 显示管理器 (Arch Linux)有关其他显示管理器配置的更多信息。

答案2

在花了几天时间研究如何操作并调试安装 NVIDIA 驱动程序后启动时的黑屏问题后,我终于找到了解决所有问题的方法。我写这篇文章的主要原因是让您知道 Kali 官方网站上的教程截至 2018 年 4 月 11 日已损坏。根据他在他们的网站中提到的,您可能能够成功安装软件包 – ocl- icd-libopencl1、nvidia-driver、nvidia-cuda-toolkit – 但您可能会在重新启动期间遇到问题。您可能会出现黑屏并且无法通过 GUI 登录。那么让我们开始吧:

首先,这是我的系统的规格:

  • CPU - Intel® Core™ i5-8250U CPU @ 1.60 GHz × 8
  • GPU #1 - 英特尔® 超核芯显卡 620
  • GPU #2 - Nvidia GeForce MX150
# uname -a
Linux europa 4.14.0-kali3-amd64 #1 SMP Debian 4.14.17-1kali1 (2018-02-16) x86_64 GNU/Linux

发布:

# cat /etc/*release*
DISTRIB_ID=Kali
DISTRIB_RELEASE=kali-rolling
DISTRIB_CODENAME=kali-rolling
DISTRIB_DESCRIPTION="Kali GNU/Linux Rolling"
PRETTY_NAME="Kali GNU/Linux Rolling"
NAME="Kali GNU/Linux"
ID=kali
VERSION="2018.1"
VERSION_ID="2018.1"
ID_LIKE=debian
ANSI_COLOR="1;31"
HOME_URL="http://www.kali.org/"
SUPPORT_URL="http://forums.kali.org/"
BUG_REPORT_URL="http://bugs.kali.org/"

在我们开始之前,请注意以下几点:

使用风险由您自行承担

本教程适用于NVIDIA官方驱动

Kali 官方网站上找到的教程已损坏!它不适用于支持 Optimus/混合显卡的笔记本电脑。

第 1 步:验证您有混合显卡

# lspci | grep -E "VGA|3D"
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07)
01:00.0 3D controller: NVIDIA Corporation GP108M [GeForce MX150] (rev a1)

第 2 步:禁用 nouveau

# echo -e "blacklist nouveau\noptions nouveau modeset=0\nalias nouveau off" > /etc/modprobe.d/blacklist-nouveau.conf
# update-initramfs -u && reboot

步骤 3:系统将重新启动,并且 nouveau 应被禁用。验证 nouveau 是否被禁用:

# lsmod | grep -i nouveau

如果没有显示任何内容,则表示 nouveau 已成功禁用。

第 4 步:从 Kali 存储库安装 nvidia 驱动程序:

# apt-get install  nvidia-driver nvidia-xconfig

您还可以从 Nvidia 网站下载最新的 .run 文件。执行并继续安装。无论是来自 Kali 的存储库还是 Nvidia 的网站,过程都是相同的。安装.run文件的命令是:

sudo sh ./Nvidia-driver-filename.run

第 5 步:现在我们必须找到 NVIDIA 卡的总线 ID:

# nvidia-xconfig --query-gpu-info | grep 'BusID : ' | cut -d ' ' -f6

它应该显示如下内容:

PCI:1:0:0

这是我们的巴士 ID。

第6步:现在我们/etc/X11/xorg.conf根据Nvidia的指南生成具有该总线ID的文件:

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

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

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration"
EndSection

Section "Device"
   Identifier "intel"
   Driver "modesetting"
EndSection

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

将 ** ** 中的字符串替换为您的总线 ID,并将文件保存到/etc/X11/xorg.conf.

第7步:现在我们必须根据我们的显示管理器创建一些脚本。
由于我使用的是默认的 Kali Linux,即 GDM,因此我创建了两个文件:  /usr/share/gdm/greeter/autostart/optimus.desktop/etc/xdg/autostart/optimus.desktop,其内容如下:

[Desktop Entry]
Type=Application
Name=Optimus
Exec=sh -c "xrandr --setprovideroutputsource modesetting NVIDIA-0; xrandr --auto"
NoDisplay=true
X-GNOME-Autostart-Phase=DisplayServer

第 8 步:现在重新启动,您应该可以使用 Nvidia 驱动程序。验证一切是否正常:如果之前没有安装,请安装 mesa-utils。

# apt-get install mesa-utils

# glxinfo | grep -i "direct rendering" direct rendering: Yes

第9步:现在您可以安装cuda工具包和驱动程序:

# apt install -y ocl-icd-libopencl1 nvidia-driver nvidia-cuda-toolkit

第 10 步:现在我们的系统应该已准备就绪,我们需要验证驱动程序是否已正确加载。我们可以通过运行 nvidia-smi 工具来快速验证这一点。

# nvidia-smi
Wed Apr 11 11:08:55 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.42                 Driver Version: 390.42                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce MX150       Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   60C    P0    N/A /  N/A |    368MiB /  2002MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0       763      G   /usr/lib/xorg/Xorg                            20MiB |
|    0       793      G   /usr/bin/gnome-shell                          19MiB |
|    0      1108      G   /usr/lib/xorg/Xorg                            82MiB |
|    0      1191      G   /usr/bin/gnome-shell                         242MiB |
|    0      2132      G   gnome-control-center                           1MiB |
+-----------------------------------------------------------------------------+

修复屏幕撕裂问题:使用 Nvidia 驱动程序成功启动后,您很可能会遇到屏幕撕裂问题,即在 VLC 中播放视频、在 Chrome/Firefox 上播放 YouTube 视频等时出现故障。幸运的是,我们可以通过以下方式解决此问题启用 PRIME 同步。

  1. 验证 PRIME 是否已禁用

    # xrandr --verbose | grep PRIME
    

    它应该输出类似这样的内容:

    PRIME Synchronization: 0
    PRIME Synchronization: 1
    

    第一个是我们的连接显示器。因此 PRIME 同步被禁用。

  2. 编辑/etc/default/grub并追加nvidia-drm.modeset=1GRUB_CMDLINE_LINUX_DEFAULTafter quiet。就像下面这样:

    
    GRUB_CMDLINE_LINUX_DEFAULT="quiet nvidia-drm.modeset=1"
    
  3. 使用以下命令保存更改并更新 grub:

    # update-grub
    
  4. 重新启动您的系统。

  5. 验证 PRIME 是否已启用:

    # xrandr --verbose | grep PRIME
    

    现在它应该输出:

    PRIME Synchronization: 1
    PRIME Synchronization: 1
    

    如果它仍然显示 0,那么您的系统配置/内核可能有问题。由于这仍然是 Nvidia 的一个实验性功能,所以你运气不好。

如果您卡在启动屏幕

恢复我们迄今为止所做的事情:

Ctrl+ Alt+F2Ctrl+ Alt+ F3,使用您的密码登录。

# apt-get remove --purge nvidia-*
# rm -rf /etc/X11/xorg.conf

删除我们之前创建的显示管理器文件(针对 GDM):

# rm /usr/share/gdm/greeter/autostart/optimus.desktop
# rm /etc/xdg/autostart/optimus.desktop

现在重新启动。您应该能够回到旧系统。

如有问题请在帖子里留言卡利的论坛

衷心感谢虎虎511谁做了所有艰苦的工作。

答案3

我也想知道同样的事情。出于同样的原因,安装标头的安装步骤总是失败。您能否发布 echo $(uname -r) 的输出

应该是 4.6.0-kali1-amd64

你的sources.list也应该有以下内容

deb http://old.kali.org/kali sana main non-free contrib
deb-src http://old.kali.org/kali sana main non-free contrib
deb http://http.kali.org/kali kali-rolling main contrib non-free
deb-src http://http.kali.org/kali kali-rolling main contrib non-free

答案4

我认为您正在使用 kali-rolling 版本,但您的源列表包含旧的 kali sana 存储库。使用这些镜像进行 kali 滚动 2016.2


deb http://http.kali.org/kali kali-rolling main contrib non-free

deb-src http://http.kali.org/kali kali-rolling main contrib non-free

相关内容