El comportamiento esperado

El comportamiento esperado

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 XPS13con una instalada recientemente Ubuntu 20.04 focaly quiero mejorar la experiencia de video con una Nvidia GTX 1660 SUPEReGPU, Razor Core Xidealmente 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 devicesque 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 autoinstally 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-smime 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.confve así:
blacklist nouveau
blacklist lbm-nouveau
alias nouveau off
alias lbm-nouveau off

Corro también nvidia-settingsy 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/ppay repetí el proceso presentado arriba con un controlador recientemente recomendado; nvidia-driver-450sin 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-settingsestá 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.confno 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:

  1. Elimina todas las cosas de nvidia que hayas probado: sudo apt --purge remove 'nvidia-*'
  2. Descargue el controlador Nvidia más reciente del sitio web de nvidia y hágalo ejecutable.
  3. 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
  4. elimina cualquiera /etc/X11/xorg.confque puedas tener
  5. rebootnormalmente
  6. Instalar nvidia-primesi aún no está instalado
  7. sudo prime-select nvidia
  8. Actualizar /usr/share/X11/xorg.conf.d/10-amdgpu.conf el controlador de reemplazo conmodesetting
Section "OutputClass"
        Identifier "AMDgpu"
        MatchDriver "amdgpu"
        Driver "modesetting"
EndSection
  1. 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
  1. Cree dos archivos optimus.desktopque /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;)

  1. reboot

  2. 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-smile 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:

  1. Elimina todas las cosas de nvidia que hayas probado:sudo apt --purge remove nvidia-*

  2. 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).

  3. 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/Downloadsy ./NVIDIA-Linux-x86_64-470.74.run)

  4. elimina cualquiera /etc/X11/xorg.confque puedas tener

  5. reiniciar (presione eel menú grub para Ubuntu y agregue elnomodesetal final)

  6. Instale nvidia-prime si aún no está instalado

  7. sudo prime-select nvidia

  8. Actualizar /usr/share/X11/xorg.conf.d/10-amdgpu.confreemplazar controlador conmodesetting

Section "OutputClass" 
    Identifier "AMDgpu" 
    MatchDriver "amdgpu" 
    Driver "modesetting"
EndSection
  1. 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.desktopque /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
  1. Modificar la comidapara que nomodeset esté ahí siempre: sudo gedit /etc/default/grub

  2. reiniciar

  3. Prueba que todo está bien ejecutando:__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo | grep vendor

  4. Verifique que eso nvidia-smile 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.runtan 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.

información relacionada