安装kali后,我发现自己台式机的gnome桌面卡的要死,通过 设置>细节 查看显卡设置,发现只启动了Intel的集成显卡nv120。
官网给出的教程并不能切换N卡。
简单搜索后,在kali论坛找到方案,成功切换显卡。
由于linux系统N卡切换过程较为繁琐,特此记录。
参考:kali官方论坛《 Installing official NVIDIA driver in Optimus laptop》
https://forums.kali.org/showthread.php?35748-TUTORIAL-Installing-official-NVIDIA-driver-in-Optimus-laptop](https://forums.kali.org/showthread.php?35748-TUTORIAL-Installing-official-NVIDIA-driver-in-Optimus-laptop
以下主要摘录自上面的官方论坛链接,并简单介绍了下自己遇到的坑和解决方案。
一:作者个人电脑信息。
My system:
Code:
uname -a
输出:Linux linux 4.9.0-kali3-amd64 #1 SMP Debian 4.9.13-1kali3 (2017-03-13) x86_64 GNU/Linux
Code:
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="2016.2"
VERSION_ID="2016.2"
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/"
以上信息没啥用。我的系统已经是kali2019.2,N卡GTX980,照此操作依旧可以成功切换。
二、确认是否有N卡
Code:
lspci | grep -E "VGA|3D"
输出:
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
0a:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 850M] (rev a2)
能看到自己的N卡就可以了。
三、禁用 nouveau
问题就出在这个nouveau上,这是一个开源显卡驱动,但他只调用集成显卡。。
所以我们首先要禁用它!!然后重启电脑。
Code:
echo -e "blacklist nouveau\noptions nouveau modeset=0\nalias nouveau off" > /etc/modprobe.d/blacklist-nouveau.conf
update-initramfs -u && reboot
如果重启之后进不了图形界面也不要慌,直接在命令行继续操作即可。
操作方法:CTRL+ALT+F2 或 CTRL+ALT+F3 ,切换到命令行,然后输入用户名、密码登陆继续操作即可。
四、确认重启后是否成功禁用nouveau
Code:
lsmod | grep -i nouveau
如果什么输出都没有,说明成功禁用nouveau。
五、安装N卡驱动
Code:
apt-get install nvidia-driver nvidia-xconfig
六、查找BusID
Code:
nvidia-xconfig --query-gpu-info | grep 'BusID : ' | cut -d ' ' -f6
会有形如下面的输出:
PCI:10:0:0
这个输出很重要,不能省略,待会儿还要用到。
七、我们需要自己创建一个/etc/X11/xorg.conf 文件
文件内容如下:
Section "ServerLayout"
Identifier "layout"
Screen 0 "nvidia"
Inactive "intel"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:10: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
直接在指定目录下创建文件,然后复制上面的代码就可以。
注意:PCI:10:0:0请改成你自己的。
八、创建两个optimus.desktop文件
/usr/share/gdm/greeter/autostart/optimus.desktop
/etc/xdg/autostart/optimus.desktop
我们要在两个不同的地方创建两个相同内容的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
依旧直接复制粘贴就可以。
九、重启电脑,然后看看是否安装成功。
但是在重启电脑过程中,你可能会陷在重启过程中,如果不能成功启动,请跳过此步。查看补救方法。
用以下代码查看是否安装成功。
glxinfo | grep -i "direct rendering"
如果输出为:direct rendering: Yes ,则成功。
如果提示没有glxinfo工具,可先运行如下代码,然后在查看:
apt-get install mesa-utils
十、如果重启之后卡在了boot处(代码黑屏中。。)
那就命令行操作回退吧。
我猜测是显卡驱动冲突造成的,具体怎么解决我也不知道。只能回退。。
方法如下:
Press CTRL+ALT+F2 or CTRL+ALT+F3 ,login with your password.
Code:
apt-get remove --purge nvidia*
rm -rf /etc/X11/xorg.conf
Remove those display manager files we created earlier (for GDM):
Code:
rm -rf /usr/share/gdm/greeter/autostart/optimus.desktop
rm -rf /etc/xdg/autostart/optimus.desktop
如果执意要用N卡,就重装吧。。然后照着操作再来一遍,或者搜搜看其他教程。
十一、安装CUDA
再补充一条吧,kali官网给出的方案虽然不能切换N卡,但是安装CUDA还是没问题的。
参考链接
apt update && apt dist-upgrade -y && reboot
apt install -y ocl-icd-libopencl1 nvidia-driver nvidia-cuda-toolkit