
Obviamente soy un usuario novato de ubuntu, así que perdone cualquier error terrible que pueda cometer o cualquier conocimiento requerido que quizás no tenga: D
El comportamiento esperado
Tengo una computadora portátil Dell XPS13
con una instalada recientemente Ubuntu 20.04 focal
y quiero mejorar la experiencia de video con una Nvidia GTX 1660 SUPER
eGPU, Razor Core X
idealmente usando la salida en una pantalla externa.
El comportamiento real
Nunca obtuve nada más que una pantalla negra en la pantalla externa.
lo que he probado
He habilitado la compatibilidad con Thunderbolt en BIOS y lo configuré para que no requiera seguridad para que se reconozca tan pronto como lo conecto. He instalado los controladores enumerados, ubuntu-driver devices
que es principalmente la versión 440 del controlador nvidia:
ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/0000:04:01.0/0000:06:00.0/0000:07:01.0/0000:08:00.0 ==
modalias : pci:v000010DEd000021C4sv00001462sd0000C758bc03sc00i00
vendor : NVIDIA Corporation
model : TU116 [GeForce GTX 1660 SUPER]
manual_install: True
driver : nvidia-driver-440 - distro non-free recommended
driver : nvidia-driver-440-server - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin
Lo he ejecutado sudo ubuntu-driver autoinstall
y reboot
la pantalla de inicio de sesión sigue apareciendo aunque estoy ingresando mi contraseña correctamente.
Si desconecto la eGPU puedo pasar a la pantalla de inicio de sesión.
Si lo vuelvo a conectar y lo ejecuto nvidia-smi
me sale esto:
sudo nvidia-smi
[sudo] password for andrei:
Tue Sep 8 17:55:42 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.100 Driver Version: 440.100 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| 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 GTX 166... Off | 00000000:3C:00.0 Off | N/A |
| 0% 40C P0 12W / 130W | 0MiB / 5944MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
Otras notas:
- No tengo
/etc/X11/xorg.conf
- se
/usr/lib/modprobe.d/nvidia-graphics-drivers.conf
ve así:
blacklist nouveau
blacklist lbm-nouveau
alias nouveau off
alias lbm-nouveau off
Corro también nvidia-settings
y me sale esto:
ERROR: Unable to load info from any available system
(nvidia-settings:4382): GLib-GObject-CRITICAL **: 18:09:30.505: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
** Message: 18:09:30.507: PRIME: Requires offloading
** Message: 18:09:30.507: PRIME: is it supported? yes
** Message: 18:09:30.534: PRIME: Usage: /usr/bin/prime-select nvidia|intel|on-demand|query
** Message: 18:09:30.534: PRIME: on-demand mode: "1"
** Message: 18:09:30.534: PRIME: is "on-demand" mode supported? yes
No hay salida en la pantalla externa.
Agregué, también probé con el repositorio de controladores gráficos de Ubuntu sudo apt-add-repository ppa:graphics-drivers/ppa
y repetí el proceso presentado arriba con un controlador recientemente recomendado; nvidia-driver-450
sin embargo, los resultados fueron similares, principalmente incapacidad para iniciar sesión o pantalla de inicio de sesión parpadeante y lamentablemente no hay salida a través de la tarjeta de video externa.
También intenté usar egpu-switcher
'nvidia-config which , I guess mainly tried to create/modify the
/etc/X11/xorg.conf`, sin embargo, nunca hubo una salida en mi pantalla externa (que es funcional :) porque funciona cuando el mismo cable se conecta directamente a mi computadora portátil).
Si alguien puede sugerir algo que ponga fin a este sufrimiento de una manera feliz para mí y para todo el hardware y software mencionado, será muy apreciado :)
¡Gracias!
Actualizar
Ejecutar nvidia-settings
está registrando esto:
ERROR: Unable to load info from any available system
(nvidia-settings:20812): GLib-GObject-CRITICAL **: 01:58:56.002: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
** Message: 01:58:56.005: PRIME: Requires offloading
** Message: 01:58:56.005: PRIME: is it supported? yes
** Message: 01:58:56.039: PRIME: Usage: /usr/bin/prime-select nvidia|intel|on-demand|query
** Message: 01:58:56.039: PRIME: on-demand mode: "1"
** Message: 01:58:56.039: PRIME: is "on-demand" mode supported? yes
Respuesta1
Después de largas batallas, pude resolver mi problema principalmente en este comentario:https://forums.developer.nvidia.com/t/nvidia-xconfig-doesnt-do-what-i-want-it-to-nor-does-nvidia-settings/107883/7
Por lo tanto, creo que es vital comprender que eso xorg.conf
no puede ayudarle en este contexto. No importa lo que hice, no pude obtener ningún resultado mientras tuve un xorg.conf
.
Lo que funcionó para mí fue:
- Elimina todas las cosas de nvidia que hayas probado: sudo apt --purge remove 'nvidia-*'
- Descargue el controlador Nvidia más reciente del sitio web de nvidia y hágalo ejecutable.
- reinicie en modo de recuperación (o sin el servidor ax ejecutándose) y ejecute el instalador del controlador incluso si dice que no se encontró ninguna gpu en su sistema
- elimina cualquiera
/etc/X11/xorg.conf
que puedas tener reboot
normalmente- Instalar
nvidia-prime
si aún no está instalado sudo prime-select nvidia
- Actualizar
/usr/share/X11/xorg.conf.d/10-amdgpu.conf
el controlador de reemplazo conmodesetting
Section "OutputClass"
Identifier "AMDgpu"
MatchDriver "amdgpu"
Driver "modesetting"
EndSection
- Actualice a algo como:
Section "OutputClass"
Identifier "nvidia"
MatchDriver "nvidia-drm"
Driver "nvidia"
Option "AllowEmptyInitialConfiguration"
ModulePath "/usr/lib/x86_64-linux-gnu/nvidia/xorg"
Option "PrimaryGPU" "Yes"
Option "AllowExternalGpus" "True"
EndSection
- Cree dos archivos
optimus.desktop
que/etc/xdg/autostart/
contengan/usr/share/gdm/greeter/autostart/
:
[Desktop Entry]
Type=Application
Name=Optimus
Exec=sh -c "xrandr --setprovideroutputsource modesetting 0; xrandr --auto"
NoDisplay=true
X-GNOME-Autostart-Phase=DisplayServer
(@generix dice eso, modesetting NVIDIA-0;
pero para mí nunca funcionó así. Sin embargo, funciona con modesetting 0;
)
reboot
Pruebe que todo esté bien ejecutando:
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo | grep vendor
Si no devuelve líneas con nvidia, no está bien. En mi caso me sale:
server glx vendor string: NVIDIA Corporation
client glx vendor string: NVIDIA Corporation
OpenGL vendor string: NVIDIA Corporation
Otra verificación es que la ejecución nvidia-smi
le enumerará al menos algunos procesos.
Y recibo señal de la gpu nvidia en una pantalla externa, como quería :)
Gracias ;)
Respuesta2
También se encontraronla soluciónpor @bluehipy, muy útil para que mi Acer Predator Helios 300 con Ubuntu 20.04 funcione con un monitor externo y tenga la pila NVIDIA/CUDA instalada correctamente para el trabajo de aprendizaje profundo, ya que estaba causando problemas.
Solo encontré este hilo cuando pensaba en devolver el Acer Predator Helios 300 y ver si Dell XPS 13 con eGPU podría funcionar para el tipo de flujo de trabajo de "cliente ligero" al depurar modelos de aprendizaje automático/ciencia de datos localmente y entrenar en la nube.
Entonces, ¿podría también hacer pequeños ajustes a las instrucciones originales si alguien más tiene dificultades para que su computadora portátil funcione?
Requisitos previos:
sudo apt install gcc make mesa-utils mpich
Instalar el controlador NVIDIA
Lo que funcionó para mí fue:
Elimina todas las cosas de nvidia que hayas probado:
sudo apt --purge remove nvidia-*
Las instrucciones originales decían que descargara los controladores más recientes, pero es posible que desee encontrar la versión del controlador en elúltimo kit de herramientas CUDAasí que verifique qué es eso cuando esté instalando cosas. ¿Podría funcionar con el último controlador NVIDIA? Necesitascomprobar los controladores antiguoslo más probable es que coincida con la versión del controlador del kit de herramientas CUDA; por ejemplo, en el momento de estas instrucciones, la versión coincidente era 470.57.02 (NVIDIA-Linux-x86_64-470.57.02.run).
reinicie en modo de recuperación (o sin el servidor ax ejecutándose) y ejecute el instalador del controlador incluso si dice que no se encontró ninguna gpu en su sistema (vaya a raíz y, por ejemplo,
cd ../home/username/Downloads
y./NVIDIA-Linux-x86_64-470.74.run
)elimina cualquiera
/etc/X11/xorg.conf
que puedas tenerreiniciar (presione
e
el menú grub para Ubuntu y agregue elnomodeset
al final)Instale nvidia-prime si aún no está instalado
sudo prime-select nvidia
Actualizar
/usr/share/X11/xorg.conf.d/10-amdgpu.conf
reemplazar controlador conmodesetting
Section "OutputClass"
Identifier "AMDgpu"
MatchDriver "amdgpu"
Driver "modesetting"
EndSection
- Cree el archivo de configuración de nvidia (
sudo gedit /usr/share/X11/xorg.conf.d/10-nvidia.conf
) con algo como:
Section "OutputClass"
Identifier "nvidia"
MatchDriver "nvidia-drm"
Driver "nvidia"
Option "AllowEmptyInitialConfiguration"
ModulePath "/usr/lib/x86_64-linux-gnu/nvidia/xorg"
Option "PrimaryGPU" "Yes"
Option "AllowExternalGpus" "True"
EndSection
10 Cree dos archivos optimus.desktop
que /etc/xdg/autostart/
contengan /usr/share/gdm/greeter/autostart/
:
[Desktop Entry]
Type=Application
Name=Optimus
Exec=sh -c "xrandr --setprovideroutputsource modesetting 0; xrandr --auto"
NoDisplay=true
X-GNOME-Autostart-Phase=DisplayServer
Modificar la comidapara que nomodeset esté ahí siempre:
sudo gedit /etc/default/grub
reiniciar
Prueba que todo está bien ejecutando:
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo | grep vendor
Verifique que eso
nvidia-smi
le enumerará al menos algunos procesos.
| NVIDIA-SMI 470.57.02 Driver Version: 470.57.02 CUDA Version: 11.4 | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M.
| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A
| N/A 42C P8 14W / N/A | 264MiB / 5946MiB | 1% Default
Instalar el kit de herramientas CUDA
El último kit de herramientas CUDAen el momento de la instrucción estaba cuda_11.4.2_470.57.02_linux.run
tan instalado que sin reinstalar el controlador NVIDIA
wget https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux.run
sudo sh cuda_11.4.2_470.57.02_linux.run
Instalación del kit de herramientas CUDA
Verificar la instalación de CUDA
Verhttps://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#install-samples
Requisitos previos:(si desea tener todas las muestras compiladas correctamente)De:
sudo apt-get install g++ freeglut3-dev build-essential libx11-dev \
libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev libfreeimage-dev
por ejemplo ./deviceQuery
, devuelve:
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "NVIDIA GeForce RTX 3060 Laptop GPU"
CUDA Driver Version / Runtime Version 11.4 / 11.4
CUDA Capability Major/Minor version number: 8.6
Total amount of global memory: 5947 MBytes (6235422720 bytes)
(030) Multiprocessors, (128) CUDA Cores/MP: 3840 CUDA Cores
GPU Max Clock rate: 1425 MHz (1.42 GHz)
...
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 11.4, CUDA Runtime Version = 11.4, NumDevs = 1
Result = PASS
instalación cudnn
Ver guía dehttps://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html
Descargue cuDNN v8.2.4 (2 de septiembre de 2021), para CUDA 11.4
-> Biblioteca cuDNN para Linux (x86_64), por ejemplocudnn-11.4-linux-x64-v8.2.4.15.tgz
Respuesta3
Tengo una configuración similar con un NUC con Ubuntu Mate 20.4 y un Razor Core X con una NVidia RTX 2060 Super.
Básicamente, estaba en el mismo punto que tú y nada funcionó. Luego arruiné algo y tuve que reinstalar Ubuntu. Sin embargo, hice esto con la carcasa de la eGPU conectada. Durante la instalación, los controladores NVidia 440 se instalaron automáticamente.
En este punto encontré la siguiente publicación:
https://egpu.io/forums/thunderbolt-linux-setup/ubuntu-19-04-easy-to-use-setup-script-for-your-egpu/
¡Con el script proporcionado en el repositorio finalmente pude hacer que la GPU funcionara! Puedo acceder a CUDA y también usar dos monitores externos con la eGPU.
Espero que este script pueda ayudarte también. Buena suerte.