Estoy tratando de instalar el controlador NVIDIA más actualizado en Debian Stretch. He descargado NVIDIA-Linux-x86_64-390.48.run
desde aquí , pero cuando trato de hacer
sudo sh ./NVIDIA-Linux-x86_64-390.48.run
como se sugiere, aparece un mensaje de error.
ERROR: An NVIDIA kernel module 'nvidia-drm' appears to already be loaded in your kernel. This may be because it is in use (for example, by an X server, a CUDA program, or
the NVIDIA Persistence Daemon), but this may also happen if your kernel was configured without support for module unloading. Please be sure to exit any programs
that may be using the GPU(s) before attempting to upgrade your driver. If no GPU-based programs are running, you know that your kernel supports module unloading,
and you still receive this message, then an error may have occured that has corrupted an NVIDIA kernel module's usage count, for which the simplest remedy is to
reboot your computer.
Cuando trato de averiguar quién está usando nvidia-drm
(o nvidia_drm
), no veo nada.
~$ sudo lsof | grep nvidia-drm
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
~$ sudo lsof -e /run/user/1000/gvfs | grep nvidia-drm
~$
Y cuando trato de eliminarlo, dice que está siendo utilizado.
~$ sudo modprobe -r nvidia-drm
modprobe: FATAL: Module nvidia_drm is in use.
~$
Reinicié y comencé en modo de solo texto (presionando Ctrl + Alt + F2 antes de dar nombre de usuario / contraseña), pero recibí el mismo error.
Además, ¿cómo "sé que mi kernel admite la descarga de módulos"?
Recibo algunas advertencias sobre el arranque relacionadas con nvidia, aunque no tengo idea si están relacionadas:
Apr 30 00:46:15 debian-9 kernel: nvidia: loading out-of-tree module taints kernel.
Apr 30 00:46:15 debian-9 kernel: nvidia: module license 'NVIDIA' taints kernel.
Apr 30 00:46:15 debian-9 kernel: Disabling lock debugging due to kernel taint
Apr 30 00:46:15 debian-9 kernel: NVRM: loading NVIDIA UNIX x86_64 Kernel Module 375.82 Wed Jul 19 21:16:49 PDT 2017 (using threaded interrupts)
systemctl stop systemd-logind
antes de descargar los módulos.systemctl stop systemd-logind.service
, pero esto cierra la pantalla y me lleva de nuevo al inicio de sesión gráfico, donde tengo que hacer Ctrl + Alt + F2 nuevamente.Respuestas:
Me imagino que quieres detener el administrador de pantalla, que es lo que sospecho que usaría los controladores de Nvidia.
Después de cambiar a una consola de texto (presionando Ctrl+ Alt+ F2) e iniciar sesión como root, use el siguiente comando para deshabilitar el objetivo gráfico, que es lo que mantiene el administrador de visualización en funcionamiento:
En este punto, esperaría que pudieras descargar los controladores de Nvidia usando
modprobe -r
(ormmod
directamente):Una vez que haya logrado reemplazarlo / actualizarlo y esté listo para iniciar nuevamente el entorno gráfico, puede usar este comando:
fuente
modprobe
paso.modprobe
paso.systemctl isolate
comando es hacer eso. Pero es posible que no esté configurado correctamente en su sistema ... Verifiqueps -ef
y vea si puede detectar lo que podría estar usando el controlador, luego haga que se detenga ese proceso. Eso debería permitirle descargar el controlador.lsof
enumera todos los archivos que están utilizando los procesos de espacio de usuario. Peronvidia_drm
es un módulo de núcleo, porlsof
lo que no necesariamente verá si realmente está en uso o no. (El archivo del módulo no se abrirá porque el núcleo ya lo ha cargado completamente en la RAM. Pero el módulo podría estar proporcionando servicios al espacio de usuario u otros componentes del núcleo, y eso es lo que impide la descarga del módulo).Ejecute
lsmod | grep nvidia.drm
y vea los números a la derecha delnvidia_drm
nombre del módulo. El primer número es simplemente el tamaño del módulo; el segundo es el recuento de uso. Para eliminar con éxito el módulo, el recuento de uso debe ser 0 primero.Si el servidor X11 se está ejecutando y está utilizando el
nvidia
controlador, entonces elnvidia_drm
módulo del núcleo seguramente estará en uso. Por lo tanto, necesitará, como mínimo, cambiar a la consola de texto y apagar el servidor X11. Por lo general, esto se puede hacer deteniendo el servicio X Display Manager que esté usando (depende del entorno de escritorio que esté usando).Como decía el mensaje de error, si está ejecutando
nvidia-persistenced
, deberá detenerlo también antes de poder descargar elnvidia_drm
módulo.fuente
lsmod
me dice que hay 1 proceso usandonvidia_drm
. Entonces lo hicesudo /etc/init.d/gdm3 stop
, lo que fueok
para detenerlo. Pero todavía 1 proceso enlsmod
. Ahora dentro de Gnome,ps aux | grep nvidia
espectáculos[irq/129-nvidia]
y[nvidia]
pero nonvidia-persistenced
. Además, aquí selsmod
muestran 2 procesos usandonvidia_drm
. Estoy atascado.Tuve un problema similar.
Lo arreglé purgando todos los paquetes de NVIDIA.
Elimine todas las instalaciones anteriores de NVIDIA con estos 2 comandos:
$ sudo apt-get purge nvidia*
$ sudo apt-get autoremove
El módulo debe ser removido.
Reiniciar y seguir adelante.
fuente
En los comentarios, informa que detener el servicio systemd-logind lo lleva de nuevo al inicio de sesión gráfico . Si tiene un inicio de sesión gráfico, X se está ejecutando, por lo que el controlador de video está cargado y en uso. Esto probablemente explica en parte por qué el módulo nvidia-drm está en uso.
Además, traicionas un error aparente cuando dices
Al presionar Ctrl + Alt + F2 se cambia a un terminal virtual # 2, que bien puede configurarse para el inicio de sesión en modo de texto, pero eso está muy lejos de "comenzar en modo de texto". Si tenía una pantalla de inicio de sesión gráfica en el terminal virtual predeterminado, entonces X se está ejecutando, y cambiar a un VT diferente no cambia eso. Solo está iniciando sesión en una sesión que no es X.
Lo primero y más fácil de probar es apagar el servidor X. La forma tradicional de hacerlo sería iniciar sesión en su sesión en modo de texto y ejecutar el comando
para cambiar al nivel de ejecución 3. Eso también debería funcionar con systemd, pero la forma nativa de systemd sería ejecutar en su lugar
Ambos requieren privilegios, por supuesto, por lo que deberá usar
sudo
o hacerse root.Si eso no elimina el módulo, o al menos hace posible que lo haga de forma manual, su próxima mejor opción sería iniciar el sistema directamente en el nivel de ejecución 3 (objetivo multiusuario), o tal vez incluso en el nivel de ejecución 1 (objetivo de rescate). Normalmente hago esto agregando "3" (o "1") al final de la lista de argumentos del kernel en el momento del arranque a través del gestor de arranque. También puede cambiar el destino de arranque predeterminado como se describe en este artículo .
También tenga en cuenta que el controlador nVidia está disponible en paquetes preconstruidos para la mayoría de las distribuciones de Linux. Pocos incluyen esos paquetes en sus propios repositorios estándar porque el controlador es, después de todo, propietario, pero seguramente puede encontrar un repositorio de terceros acreditado que lo tenga. Recomiendo encarecidamente utilizar dichos paquetes en lugar de ejecutar el instalador directamente, pero para llegar allí desde donde se encuentra ahora, es posible que primero deba desinstalar manualmente el controlador.
fuente
Instalación CUDA
1) Descargue el último kit de herramientas de CUDA
2) Cambie a tty3 presionando Ctl + Alt + F3
3) Descargue nvidia-drm antes de continuar.
3a) Aislar multiusuario.target
3b) Tenga en cuenta que nvidia-drm está actualmente en uso.
3c) Descargar nvidia-drm
4d) Tenga en cuenta que nvidia-drm ya no está en uso.
5) Ve a tu carpeta de descargas y ejecuta la instalación de cuda.
6) Responda cualquier pregunta durante la instalación.
7) Cuando finalice la instalación, confirme que la versión de CUDA se haya actualizado.
8) Inicie la GUI nuevamente.
fuente
Tuve el mismo problema con Debian Stretch al intentar instalar los controladores de Nvidia. Cuando en mod de texto, mi única solución era eliminar el controlador, reinstalar gdm y gnome-shell. Sé que es una solución torpe, pero recuerdo que primero intenté arreglar el gnome-shell y solo eliminé el controlador Nvidia y reinstalé GDM. Resultó que era mucho más fácil volver a instalar todo el shell.
fuente
También encontré el mismo problema. La razón del error fue que accidentalmente seleccioné "Instalar controlador nvidia" durante la instalación de cuda.
Entonces, durante la instalación de CUDA, cuando encuentre las siguientes opciones:
Seleccione q , el problema se resolverá.
fuente
lo que funcionó para mí fue cambiar el sistema para comenzar en texto más
luego reinicie e instale el controlador nvidia cuda una vez que haya terminado, es posible que desee cambiar el sistema para comenzar nuevamente en modo gráfico
fuente
Dejar de
systemd-logind
arreglarlo para mí:Esto se sugiere como una solución alternativa en este problema de github en la página github de nvidia-xrun:
fuente