我设法使我安装的 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 ...
那么我的 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 同步。
验证 PRIME 是否已禁用
# xrandr --verbose | grep PRIME
它应该输出类似这样的内容:
PRIME Synchronization: 0 PRIME Synchronization: 1
第一个是我们的连接显示器。因此 PRIME 同步被禁用。
编辑
/etc/default/grub
并追加nvidia-drm.modeset=1
到GRUB_CMDLINE_LINUX_DEFAULT
afterquiet
。就像下面这样:︙ GRUB_CMDLINE_LINUX_DEFAULT="quiet nvidia-drm.modeset=1" ︙
使用以下命令保存更改并更新 grub:
# update-grub
重新启动您的系统。
验证 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 /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