Depois de passar alguns dias em how-tos e depurar o problema da tela preta na inicialização depois de instalar os drivers da nvidia, finalmente consegui encontrar uma solução para todos os meus problemas. A principal razão que eu estou escrevendo este post é para que você saiba que o tutorial encontrado no site oficial da Kali está quebrado a partir de 11 de abril de 2018. De acordo com ele mencionado em seu site você pode ser capaz de instalar com êxito os pacotes - ocl- icd-libopencl1, driver nvidia, nvidia-cuda-toolkit, mas você pode encontrar problemas durante a reinicialização. Você pode ter uma tela preta e não conseguirá fazer login através da GUI. Então vamos começar -
Primeiro, deixe-me contar as especificações do meu sistema -
CPU - CPU Intel® Core ™ i5-8250U a 1.60GHz × 8
GPU # 1- Gráficos Intel® UHD 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
Lançamento -
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/"
Antes de começarmos, algumas notas:
USE POR SUA PRÓPRIA CONTA E RISCO
Este tutorial é para o driver oficial da NVIDIA
Tutorial encontrado no site oficial da Kali é BROKEN! Nunca funciona para laptop otimizado / híbrido com gráficos habilitados
Etapa 1: verifique se você possui gráficos híbridos
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)
Etapa 2: desativar o nouveau
echo -e "blacklist nouveau\noptions nouveau modeset=0\nalias nouveau off" > /etc/modprobe.d/blacklist-nouveau.conf
update-initramfs -u && reboot
Etapa 3: o sistema será reinicializado e o nouveau deverá ser desativado. Verifique se o nouveau está desativado:
lsmod |grep -i nouveau
Se não mostrar nada, significa que o nouveau foi desativado com sucesso.
Etapa 4: Instale o driver nvidia do repositório do kali:
apt-get install nvidia-driver nvidia-xconfig
Você também pode baixar o arquivo .run mais recente do site da Nvidia. Execute e prossiga com a instalação. Seja a partir do repositório da Kali ou do site da Nvidia, o procedimento é o mesmo. Código para instalar o arquivo .run:
sudo sh ./Nvidia-driver-filename.run
Passo 5: Agora temos que encontrar o id do nosso cartão nvidia:
nvidia-xconfig --query-gpu-info | grep 'BusID : ' | cut -d ' ' -f6
deve mostrar algo assim:
PCI:1:0:0
Este é o nosso ID de ônibus.
Passo 6: Agora nós geramos o arquivo /etc/X11/xorg.conf com este ID de barramento de acordo com o guia da Nvidia:
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
Substitua a string dentro ** ** pelo seu ID de Barramento e salve-a em /etc/X11/xorg.conf
Passo 7: Agora temos que criar alguns scripts de acordo com o nosso gerenciador de exibição. Como estou usando o padrão Kali linux que é o GDM, eu criei dois arquivos: /usr/share/gdm/greeter/autostart/optimus.desktop / etc /xdg/autostart/optimus.desktop com o seguinte conteúdo:
[Desktop Entry]
Type=Application
Name=Optimus
Exec=sh -c "xrandr --setprovideroutputsource modesetting NVIDIA-0; xrandr --auto"
NoDisplay=true
X-GNOME-Autostart-Phase=DisplayServer
Passo 8: Agora reinicie e você deve estar usando o driver da Nvidia. Verifique se está tudo bem: instale o mesa-utils, se não instalado anteriormente.
apt-get install mesa-utils
root@europa:~# glxinfo | grep -i "direct rendering" direct rendering: Yes
Passo 9: Agora você pode instalar os toolkits e drivers cuda
apt install -y ocl-icd-libopencl1 nvidia-driver nvidia-cuda-toolkit
Passo 10: Agora que nosso sistema deve estar pronto, precisamos verificar se os drivers foram carregados corretamente. Podemos verificar isso rapidamente, executando a ferramenta 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 |
+-----------------------------------------------------------------------------+
Corrigindo problema de captura de tela: Depois de inicializar com sucesso com Nvidia Driver, você provavelmente estaria tendo problema de tela rasgando por exemplo: falhas ao reproduzir vídeos no VLC, vídeos do Youtube no Chrome / Firefox etc. Felizmente, podemos corrigir isso por habilitando o PRIME Sync.
1.Verifique se o PRIME está desativado
xrandr --verbose|grep PRIME
deve ser algo assim:
PRIME Synchronization: 0
PRIME Synchronization: 1
O primeiro é o nosso monitor conectado. Assim, a sincronização PRIME está desativada.
2.Editar / etc / default / grub e anexe nvidia-drm.modeset = 1 em GRUB_CMDLINE_LINUX_DEFAULT após quiet.Like o seguinte:
...
GRUB_CMDLINE_LINUX_DEFAULT="quiet nvidia-drm.modeset=1"
...
3. Salve as alterações e atualize o grub usando o comando:
update-grub
4. Reinicialize seu sistema.
5.Verifique se o PRIME está ativado:
xrandr --verbose|grep PRIME
Agora deve sair:
PRIME Synchronization: 1
PRIME Synchronization: 1
Se ainda mostrar 0 para você, então provavelmente há algo errado com o seu sistema config / kernel. Como este ainda é um recurso experimental da Nvidia, você está sem sorte.
SE VOCÊ ESTAR NA TELA DE BOOT
Reverter o que fizemos até agora:
Pressione CTRL + ALT + F2 ou CTRL + ALT + F3, faça o login com sua senha.
apt-get remove --purge nvidia-*
rm -rf /etc/X11/xorg.conf
Remova os arquivos do gerenciador de exibição que criamos anteriormente (para o GDM):
rm -rf /usr/share/gdm/greeter/autostart/optimus.desktop
rm -rf /etc/xdg/autostart/optimus.desktop
Agora reinicie. Você deve poder voltar ao seu antigo sistema.
Se algum problema existir, por favor poste-o em Kali's formulário .
Meus sinceros agradecimentos a Tiger11 que fez todo o trabalho duro.