将 GeForce 驱动程序安装到 Kali

将 GeForce 驱动程序安装到 Kali

我目前正在尝试为 Kali Linux 安装 GeForce 驱动程序,但进展不太顺利。我有一个 GTX 285,当我尝试使用 apt-get 方法获取驱动程序时,我被告知我的卡不再支持这种方式,我需要从 nVidia 下载 340.96 驱动程序。问题是,当我尝试安装它时,我遇到了“用于编译内核的编译器是 gcc 5.4;当前编译器是 gcc 6.1”。

我已经尝试了我最好的 Google-fu 技能,但到目前为止我还没有取得任何进展。我发现的所有修复都没有任何效果,而且由于我已经卸载了 nouveau,我已经厌倦了 1080p 显示器上的 1280x720 显示屏:3 如果有人有任何建议,我会洗耳恭听!感谢:D

这是一个链接我的 Dropbox 上的 nvidia-installer.log 文件-

答案1

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

首先让我告诉你我的系统的规格 -

CPU - Intel® Core™ i5-8250U CPU @ 1.60GHz × 8

GPU #1 - 英特尔® 超核芯显卡 620

GPU #2 - Nvidia GeForce MX150

root@europa:~# uname -a
Linux europa 4.14.0-kali3-amd64 #1 SMP Debian 4.14.17-1kali1 (2018-02-16) x86_64 GNU/Linux

发布-

root@europa:~# 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 步:验证您有混合显卡

root@europa:~# 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 步:现在我们根据 Nvidia 的指南生成带有此总线 ID 的 /etc/X11/xorg.conf 文件:

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

 root@europa:~# glxinfo | grep -i "direct rendering" direct rendering: Yes

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

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

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

root@europa:~# 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 Sync 来解决此问题。

1.验证PRIME是否被禁用

 xrandr --verbose|grep PRIME

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

 PRIME Synchronization: 0
 PRIME Synchronization: 1

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

2.编辑/etc/default/grub,在GRUB_CMDLINE_LINUX_DEFAULT中的quiet后面追加nvidia-drm.modeset=1,如下:

...
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+F2 或 CTRL+ALT+F3,使用您的密码登录。

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

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

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

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

如果存在任何问题,请将其发布在卡利形态

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

相关内容