Ubuntu 16.04
Salida de uname -a
:
Linux HOST 4.4.0-22-generic #40-Ubuntu SMP Thu May 12 22:03:46 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Grado de escritorio:
- CPU: Intel
- GPU: Nvidia con 361.42
Lo que quiero:
- la GPU de Intel ejecutará el servidor x y mi monitor, que está conectado al DP integrado
- la GPU nvidia solo se utilizará para el cálculo específico de CUDA, etc.
- control total sobre el nvidia gpu (tiempo real, estadísticas, velocidades del ventilador de temperatura ...)
Mi problema:
- ni
nvidia-smi
tampoconvidia-settings
el trabajo y no puedo controlar mi GPU NVIDIA (los errores se citan más abajo)
Mi historia:
Después del breve resumen de mi problema, quiero profundizar en el tema; Desde el lanzamiento de Ubuntu 16.04, estoy jugando y no puedo lograr lo siguiente:
- Quiero que mi GPU Intel (i7 6700K) controle mi Xserver y todo lo relacionado con él.
- Quiero que mi GPU nvidia dedicada solo se use para computación basada en Cuda y similares.
- Agregaré más de una GPU nvidia al sistema, después de resolver mis problemas.
Un breve resumen de mi estado inicial:
Instalé los controladores propietarios para nvidia e intel (intel-microcode y nvidia-361.42) a través de apt-get y deshabilité el arranque seguro a través de mokutul --disable-validation.
Luego configuré nvidia-prime para usar la tarjeta Intel.
Luego edité mi xorg.conf para contener solo una pantalla con intel gpu y controlador intel. (solicite detalles si es necesario) Al
probar la GPU para renderizar con Blender, todo parecía estar bien, excepto que no pude obtener ninguna estadística de mi gpu y la configuración de nvidia parecía vacía.
Errores:
sudo nvidia-smi
NVIDIA-SMI couldn't find libnvidia-ml.so library in your system. Please make sure that the NVIDIA Display Driver is properly installed and present in your system:
Please also try adding directory that contains libnvidia-ml.so to your system PATH.
Lo que he aprendido hasta ahora a través de todos mis intentos e investigaciones desde el lanzamiento (versión corta, solicite detalles en cualquier momento):
Mis dos problemas están relacionados pero no son lo mismo:
Nvidia-settings Empty:
- Esto se debe a que esta configuración solo aparece cuando hay un servidor X conectado a la GPU NVIDIA
- la solución para esto sería agregar una nueva pantalla en xorg.conf que obligue a xserver no utilizado a ejecutarse en la GPU nvidia
- pero esto actualmente no es posible (vea otro problema) y no se desea, ya que solo quiero que la GPU nvidia se centre en Cuda
Nvidia-smi no funciona:
- bbswitch no es un problema ya que mi GPU (550ti) no lo admite (errores en dmesg)
- nvidia prime cambia la entrada para x86_64-linux-gnu_gl_conf a
/usr/lib/nvidia-361/ld.so.conf
(GPU nvidia seleccionada) o/usr/lib/nvidia-361-prime/ld.so.conf
(GPU Intel seleccionada) - a la configuración de la selección de Intel le faltan rutas esenciales a los módulos nvidia esenciales que están presentes en la selección conf para nvidia
- al cambiar a nvidia a través de prime-select, no tengo un servidor X ya que la pantalla está conectada a la GPU integrada, pero iniciar sesión en una consola virtual nvidia-smi funciona
Mi suposición:
- Nvidia Prime es malo y no quiere lo que yo quiero.
- Tengo que superar de alguna manera Prime y configurar el sistema (¿incluso escribir manualmente nuevas configuraciones?)
Mis intentos:
- Intenté desinstalar nvidia-prime pero solo reconocí después que esto no puede funcionar. Cuando se elimina el archivo conf para x86_64-linux-gnu_gl_conf, el resultado es un desastre ...
- Incluso intenté agregar las rutas faltantes a los archivos x86_64-linux-gnu_gl_conf manualmente, pero realmente no sabía lo que estaba haciendo y no tuve éxito.
Mis preguntas:
1) ¿Cómo puedo resolver el problema de nvidia-smi? ¿Estoy en el camino correcto? ¿Alguien tiene instrucciones de cómo podría proceder?
2) ¿Es posible habilitar el control del ventilador y otros controles para el nvidia gpu (coolbits en xorg.conf) sin un Xserver en el gpu (sin una pantalla para el gpu en xorg.conf)?
Muchas gracias de antemano por cualquier respuesta. Literalmente peiné la web, el peine es mi problema.
Si me perdí algo importante, dígame y no dude en solicitar archivos de registro, etc.
GRACIAS
fuente
Respuestas:
La respuesta aceptada utiliza el servidor X para habilitar los dispositivos Nvidia. Esto no es necesario y significa que el servidor X usará algo de memoria de la tarjeta.
En su lugar,
nvidia-modprobe
debe instalarse como se describe en las preguntas frecuentes del controlador (se puede encontrar en el siguiente enlace).Entonces mi solución recomendada es:
1) Instale el último controlador de Nvidia a través del archivo de ejecución de ftp://download.nvidia.com/XFree86/Linux-x86_64/ con el indicador
--no-opengl-files
y--dkms
.2) Instalar la correspondiente
nvidia-modprobe
versión a través demake all
ysudo make install
desde ftp://download.nvidia.com/XFree86/nvidia-modprobe/El
--dkms
indicador se asegura de que el módulo del núcleo se vuelva a compilar cuando actualice su núcleo.fuente
¡Yo (creador de esta publicación) encontré la solución que necesito por mi cuenta!
¡Ahora explicaré la solución para cualquier otra persona que se encuentre en una situación similar y necesite esta ayuda!
SOLUCIÓN: ¡
INSTALE EL CONDUCTOR NVIDIA A TRAVÉS DEL ARCHIVO DE FUNCIONAMIENTO PROPORCIONADO EN http://www.nvidia.com/object/unix.html CON LA BANDERA "--no-opengl-files" !!
¡Esto evita que no solo los archivos nvidia opengl sobrescriban los archivos mesa existentes, sino que también instala el controlador sin nvidia prime !!
Entonces, todos mis problemas se resuelven, simplemente instalando el controlador manualmente, en lugar de instalarlo desde los repositorios. El paquete de los repositorios es "Optimus-Friendly" y, por lo tanto, incluye a todos los alborotadores inútiles.
EN SEGUNDO LUGAR
xorg.conf debe ampliarse con otra pantalla para las GPU (s) dedicadas para que tengan / tengan entradas en la configuración de nvidia.
el mío se ve así
fuente
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
Obtuve la configuración que desea (también la quería;)):
utilizando
bumblebee
.Pero antes de entrar en detalles, debo advertirle que al cambiar la configuración de nvidia-settings o xorg.conf o nvidia prime, debe reiniciar su sistema (tal vez ya lo sepa). No reiniciar podría dejar el sistema en un estado no coherente.
En mi configuración no toqué
xorg.conf
. Hacerlo para mí siempre ha sido fuente de dolor. Por favor, déjelo al estado original. Si no desea realizar una instalación nueva, puede encontrar algunas copias de seguridad en/etc/X11/
(ls /etc/X11/xorg.conf*
).El primer paso es tratar de hacer el
nvidia-settings
trabajo. Si logra hacerlo, puede usar nvidia PRIME para cambiar a la GPU Intel, como usted menciona que ya lo hizo. Es necesario tener nvidia prime point para la GPU Intel si desea usar la GPU NVIDIA solo para cálculos CUDA (es especialmente necesario si desea usar el depurador cudacuda-gdb
).Después de eso, puedes intentar instalar el abejorro :
Reiniciar. Puedes monitorear el estado del abejorro usando
o
Lo que hace el abejorro es activar la GPU NVIDIA e intentar insertar el controlador nvidia en el núcleo solo cuando sea necesario. Puede usar bumblebee pre-pendiente
optirun
al comando que desea ejecutar.Para que Bumblebee funcione, tuve que editar manualmente
/etc/bumblebee/bumblebee.conf
para configurar correctamente el nombre y la ruta del controlador nvidia.Luego, después de un
sudo service bumblebeed restart
, logré activar el sistema de abejorro.De hecho
nvidia-smi
vuelvepero
optirun nvidia-smi
:Espero que esto ayude.
fuente
Reinstalé los controladores de nvidia sin opengl como se menciona en las soluciones anteriores, pero no funcionó para mí. Además, estas soluciones son bastante insatisfactorias, ya que implican eliminar alguna capacidad de los controladores (opengl).
Encontré una solución mucho más simple, para la cual no necesita reinstalar el controlador:
export LD_LIBRARY_PATH=/usr/lib/nvidia-387:$LD_LIBRARY_PATH
Tenga en cuenta que, según el controlador instalado, es posible que deba agregar otra carpeta en la ruta de la biblioteca, por ejemplo / usr / lib / nvidia-384 .
Puede agregar este comando al archivo ~ / .bashrc para exportar automáticamente la ruta al cargar un nuevo bash.
fuente
principalmente como un recordatorio para mí: en ubuntu 18.04 usar igpu para renderizar y nvidia gpu para cuda, instalar controladores predeterminados de nvidia, abrir nvidia-settings y configurar para usar intel gpu. Después de eso, haga una lista negra de los controladores nouveau y parte de los controladores nvidia:
Abra /etc/modprobe.d/blacklist-nvidia.conf y comente las líneas de esta manera:
después de eso abra /etc/modprobe.d/blacklist-nvidia-nouveau.conf y agregue esas líneas:
para estar realmente seguro de que nouveau están deshabilitados, puede incluirlos en la lista negra en /etc/modprobe.d/blacklist.conf también: al final agregue:
luego reiniciar.
escriba
nvidia-smi
para verificar que nvidia esté cargado y escribalspci -nnk | grep -iA2 3D
para verificar que el controlador en uso sea nvidia y no nouveau.fuente