我目前正在尝试为 Kali Linux 安装 GeForce 驱动程序,但进展不太顺利。我有一个 GTX 285,当我尝试使用 apt-get 方法获取驱动程序时,我被告知我的卡不再支持这种方式,我需要从 nVidia 下载 340.96 驱动程序。问题是,当我尝试安装它时,我遇到了“用于编译内核的编译器是 gcc 5.4;当前编译器是 gcc 6.1”。
我已经尝试了我最好的 Google-fu 技能,但到目前为止我还没有取得任何进展。我发现的所有修复都没有任何效果,而且由于我已经卸载了 nouveau,我已经厌倦了 1080p 显示器上的 1280x720 显示屏:3 如果有人有任何建议,我会洗耳恭听!感谢:D
答案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谁做了所有的艰苦工作。