La configuración del servidor NVIDIA X no funciona y la GPU se muestra como desconocida

La configuración del servidor NVIDIA X no funciona y la GPU se muestra como desconocida

Recientemente compré un Thinkpad T490 con una CPU Intel i7 y una tarjeta gráfica NVIDIA GeForce MX250 (y un Intel HD-Graphics 620 integrado) e instalé Ubuntu 18.04 LTS. Después de encontrar algunos errores gráficos, quería comprobar si todos los controladores están actualizados.

Lo primero que noté es que en la pestaña "Controladores adicionales" software-properties-gtk, Intel aparece como "Intel Corporation: Desconocido - este dispositivo no funciona" y mi tarjeta gráfica Nvidia aparece como "NVIDIA Corporation: Desconocido" (consulteimagen).

Luego intenté abrir "Configuración del servidor NVIDIA X", pero la ventana está casi vacía (imagen). Cuando lo abro desde la consola a través de nvidia-settings, obtengo el siguiente resultado:

# nvidia-settings
ERROR: Error querying enabled displays on GPU 0 (Missing Extension).


ERROR: Error querying connected displays on GPU 0 (Missing Extension).

** Message: 09:38:37.446: PRIME: Requires offloading
** Message: 09:38:37.446: PRIME: is it supported? yes

ERROR: nvidia-settings could not find the registry key file. This
       file should have been installed along with this driver at
       /usr/share/nvidia/nvidia-application-profiles-key-documentati
       on. The application profiles will continue to work, but
       values cannot be prepopulated or validated, and will not be
       listed in the help text. Please see the README for possible
       values and descriptions.

Intenté deshabilitar el arranque seguro, ya que parece haber solucionado problemas similares para otras personas, pero eso no cambió nada. También intenté instalar los controladores NVIDIA más nuevos, como se indicó en muchas publicaciones con problemas similares, pero nada cambió.

Actualizar: Eliminé todos los controladores sudo apt purge nvidia*y reinstalé el controlador más reciente (440) como se indica enestehilo. Nada cambió, excepto que nvidia-settingsahora solo existe la opción "perfiles principales", por lo que incluso menos que antes (verimagen).


Algunos resultados que podrían ser relevantes:

# lshw -c display
  *-display                 
       description: VGA compatible controller
       product: UHD Graphics 620 (Whiskey Lake)
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 02
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:147 memory:dc000000-dcffffff memory:70000000-7fffffff ioport:3000(size=64) memory:c0000-dffff
  *-display
       description: 3D controller
       product: GP108M [GeForce MX250]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:3c:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list
       configuration: driver=nvidia latency=0
       resources: irq:156 memory:db000000-dbffffff memory:80000000-8fffffff memory:90000000-91ffffff ioport:2000(size=128)

# lspci -v
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (Whiskey Lake) (rev 02) (prog-if 00 [VGA controller])
    Subsystem: Lenovo Device 2278
    Flags: bus master, fast devsel, latency 0, IRQ 147
    Memory at dc000000 (64-bit, non-prefetchable) [size=16M]
    Memory at 70000000 (64-bit, prefetchable) [size=256M]
    I/O ports at 3000 [size=64]
    [virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
    Capabilities: [40] Vendor Specific Information: Len=0c <?>
    Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
    Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-
    Capabilities: [d0] Power Management version 2
    Capabilities: [100] Process Address Space ID (PASID)
    Capabilities: [200] Address Translation Service (ATS)
    Capabilities: [300] Page Request Interface (PRI)
    Kernel driver in use: i915
    Kernel modules: i915
...
3c:00.0 3D controller: NVIDIA Corporation GP108M [GeForce MX250] (rev a1)
    Subsystem: Lenovo Device 2278
    Flags: bus master, fast devsel, latency 0, IRQ 156
    Memory at db000000 (32-bit, non-prefetchable) [size=16M]
    Memory at 80000000 (64-bit, prefetchable) [size=256M]
    Memory at 90000000 (64-bit, prefetchable) [size=32M]
    I/O ports at 2000 [size=128]
    Capabilities: [60] Power Management version 3
    Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
    Capabilities: [78] Express Endpoint, MSI 00
    Capabilities: [100] Virtual Channel
    Capabilities: [250] Latency Tolerance Reporting
    Capabilities: [258] L1 PM Substates
    Capabilities: [128] Power Budgeting <?>
    Capabilities: [420] Advanced Error Reporting
    Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
    Capabilities: [900] #19
    Kernel driver in use: nvidia
    Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia

Respuesta1

Siempre tuve problemas al instalar los controladores NVIDIA desde ppa:graphics-drivers, sugeriría descargar los controladores desdeSitio web de NVIDIA.

Instalación (algunos comandos requieren "sudo")

Una vez que haya descargado el controlador correcto para su tarjeta:

  • Configure el archivo de ejecución como ejecutable (ya sea a través del menú de propiedades o mediante la línea de comando)
    • comando: chmod u+x <file>para agregar el bit de ejecución para el usuario actual en el archivo especificado

NOTA: tendrá que hacer esta parte solo en CLI (sin imágenes, le sugiero abrir esto en su teléfono para seguirlo, puede presionar ctrl+ alt+, F1es posible que necesite usar F2, F3, F4, etc.)

  • Detenga su administrador de pantalla ( gdmpor defecto o el que tenga)
    • dominio:service gdm stop
  • Cambie el nivel de ejecución (esto ya no parece ser necesario, pero por si acaso)
    • dominio:init 3
  • Cambie al directorio del archivo de ejecución de instalación de NVIDIA
    • dominio:cd ~/Downloads/
  • Ejecute el archivo de ejecución
    • comando: ./NVIDIA...(debería ser posible completar con tabulación; de lo contrario, utilícelo lspara verificar el nombre)
    • Si falla debido a la versión de gcc, puede intentar ignorar la versión de gcc usando el siguiente comando:./NVIDIA... --no-cc-version-check
    • Si esto no funciona, baje la versión de gcc a la versión solicitada o actualice la versión del kernel (en lugar de eso, intente bajar la versión de gcc o configurar el gcc predeterminado a uno anterior temporalmente)
    • por ejemplo, si necesita gcc 5.x (no olvide deshacerlo después, el primer comando es verificar el enlace actual para /usr/bin/gcc)
ls -l /usr/bin/gcc
unlink /usr/bin/gcc
sudo ln -s /usr/bin/gcc-5 /usr/bin/gcc
  • Siga las indicaciones (dkms no funciona para mí actualmente, las bibliotecas de 32 bits dependen de usted, etc.) (selección predeterminada si no se puede instalar)
  • Reiniciar
    • dominio:reboot

Comprobando si tuvo éxito

Normalmente pruebo usando cualquiera de los siguientes o todos ellos:

  • glxinfo|egrep "OpenGL vendor|OpenGL renderer*"
  • nvidia-settings
  • nvidia-smi

Pie de página

Puedo ver que ya estás lo suficientemente familiarizado con Ubuntu como para que no necesites algunos de los comandos indicados para ti. Lo estoy haciendo para cualquiera que pueda tropezar con esto, espero que también les ayude.

Extras

Un extra interesante: el archivo de ejecución tiene muchas banderas, para enumerarlas, puede usar -Auna bandera de esta manera:./NVIDIA... -A

información relacionada