Eu não resolvi o problema. Mas eu tenho uma solução para você.
1. editar /etc/default/grub
Modifique GRUB_CMDLINE_LINUX_DEFAULT
para
GRUB_CMDLINE_LINUX_DEFAULT='pcie_port_pm=off acpi_backlight=none acpi_osi=Linux acpi_osi=! acpi_osi="Windows 2009"'
Este passo é prevenir a tela em branco após o login.
2. mover diretórios da biblioteca nvidia para /etc/ld.so.conf.d/nvidia.conf
O conteúdo de nvidia.conf
é
/usr/lib/nvidia-390
/usr/lib32/nvidia-390
Esses diretórios dependem da versão do driver no seu computador.
3. crie /etc/init.d/nvidia
Para desativar e ativar bibliotecas de tempo de execução nvidia.
#!/bin/sh
### BEGIN INIT INFO
# Provides: nvidia
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 5
# Default-Stop: 0 6
# Short-Description: load/unload nvidia library
# Description: load/unload nvidia library
### END INIT INFO
PRIME=$(prime-select query)
if [ "$PRIME" = "nvidia" ]; then
exit 0
fi
case "$1" in
start)
sleep 10
cd /etc/ld.so.conf.d
mv nvidia.conf.bak nvidia.conf
ldconfig
nvidia-smi
;;
stop)
cd /etc/ld.so.conf.d
mv nvidia.conf nvidia.conf.bak
ldconfig
esac
4. executar update-rc.d nvidia defaults
Você deve encontrar SXXnvidia
em /etc/rc5.d/
e KXXnvidia
em /etc/rc6.d/
, /etc/rc0.d/
.
Tente executar /etc/init.d/nvidia stop
e nvidia-smi
, você verá mensagens de erro de bibliotecas não encontradas.
Tente executar /etc/init.d/nvidia start
e, em seguida, nvidia-smi
está bom novamente.
Se tudo estiver OK, você pode reiniciar agora. Espera-se que você faça login na área de trabalho.
5. Se algo der errado
O problema mais possível é o nvidia
script não executado. Se isso acontecer, você pode pressionar Ctrl + Alt + F1 para o modo tty, executar /etc/init.d/nvidia stop; reboot
. Então você pode voltar para a unidade desktop para depurar.
6. efeito colateral conhecido
Quando usar Intel como GPU principal, unity-control-center
(configurações do sistema) não será iniciado.
GLib-CRITICAL **: g_strsplit: assertion 'string != NULL' failed.
Nota: minha especificação do sistema
# uname -r
4.13.0-32-generic
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
# dpkg -l | grep cuda
ii cuda-9-0 9.0.176-1 amd64 CUDA 9.0 meta-package
ii cuda-command-line-tools-9-0 9.0.176-1 amd64 CUDA command-line tools
ii cuda-core-9-0 9.0.176-1 amd64 CUDA core tools
ii cuda-cublas-9-0 9.0.176.1-1 amd64 CUBLAS native runtime libraries
ii cuda-cublas-dev-9-0 9.0.176.1-1 amd64 CUBLAS native dev links, headers
ii cuda-cudart-9-0 9.0.176-1 amd64 CUDA Runtime native Libraries
ii cuda-cudart-dev-9-0 9.0.176-1 amd64 CUDA Runtime native dev links, headers
ii cuda-cufft-9-0 9.0.176-1 amd64 CUFFT native runtime libraries
ii cuda-cufft-dev-9-0 9.0.176-1 amd64 CUFFT native dev links, headers
ii cuda-curand-9-0 9.0.176-1 amd64 CURAND native runtime libraries
ii cuda-curand-dev-9-0 9.0.176-1 amd64 CURAND native dev links, headers
ii cuda-cusolver-9-0 9.0.176-1 amd64 CUDA solver native runtime libraries
ii cuda-cusolver-dev-9-0 9.0.176-1 amd64 CUDA solver native dev links, headers
ii cuda-cusparse-9-0 9.0.176-1 amd64 CUSPARSE native runtime libraries
ii cuda-cusparse-dev-9-0 9.0.176-1 amd64 CUSPARSE native dev links, headers
ii cuda-demo-suite-9-0 9.0.176-1 amd64 Demo suite for CUDA
ii cuda-documentation-9-0 9.0.176-1 amd64 CUDA documentation
ii cuda-driver-dev-9-0 9.0.176-1 amd64 CUDA Driver native dev stub library
ii cuda-drivers 390.12-1 amd64 CUDA Driver meta-package
ii cuda-libraries-9-0 9.0.176-1 amd64 CUDA Libraries 9.0 meta-package
ii cuda-libraries-dev-9-0 9.0.176-1 amd64 CUDA Libraries 9.0 development meta-package
ii cuda-license-9-0 9.0.176-1 amd64 CUDA licenses
ii cuda-misc-headers-9-0 9.0.176-1 amd64 CUDA miscellaneous headers
ii cuda-npp-9-0 9.0.176-1 amd64 NPP native runtime libraries
ii cuda-npp-dev-9-0 9.0.176-1 amd64 NPP native dev links, headers
ii cuda-nvgraph-9-0 9.0.176-1 amd64 NVGRAPH native runtime libraries
ii cuda-nvgraph-dev-9-0 9.0.176-1 amd64 NVGRAPH native dev links, headers
ii cuda-nvml-dev-9-0 9.0.176-1 amd64 NVML native dev links, headers
ii cuda-nvrtc-9-0 9.0.176-1 amd64 NVRTC native runtime libraries
ii cuda-nvrtc-dev-9-0 9.0.176-1 amd64 NVRTC native dev links, headers
ii cuda-repo-ubuntu1604 9.1.85-1 amd64 cuda repository configuration files
ii cuda-runtime-9-0 9.0.176-1 amd64 CUDA Runtime 9.0 meta-package
ii cuda-samples-9-0 9.0.176-1 amd64 CUDA example applications
ii cuda-toolkit-9-0 9.0.176-1 amd64 CUDA Toolkit 9.0 meta-package
ii cuda-visual-tools-9-0 9.0.176-1 amd64 CUDA visual tools
ii libcuda1-390 390.12-0ubuntu1 amd64 NVIDIA CUDA runtime library
ii libcudnn7 7.0.5.15-1+cuda9.0 amd64 cuDNN runtime libraries
ii libcudnn7-dev 7.0.5.15-1+cuda9.0 amd64 cuDNN development libraries and headers
# dpkg -l | grep nvidia
ii nvidia-390 390.12-0ubuntu1 amd64 NVIDIA binary driver - version 390.12
ii nvidia-390-dev 390.12-0ubuntu1 amd64 NVIDIA binary Xorg driver development files
ii nvidia-modprobe 390.12-0ubuntu1 amd64 Load the NVIDIA kernel driver and create device files
ii nvidia-opencl-icd-390 390.12-0ubuntu1 amd64 NVIDIA OpenCL ICD
ii nvidia-prime 0.8.2 amd64 Tools to enable NVIDIA's Prime
ii nvidia-settings 390.12-0ubuntu1 amd64 Tool for configuring the NVIDIA graphics driver