
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-settings
ahora 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
- comando:
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
+, F1
es posible que necesite usar F2, F3, F4, etc.)
- Detenga su administrador de pantalla (
gdm
por defecto o el que tenga)- dominio:
service gdm stop
- dominio:
- Cambie el nivel de ejecución (esto ya no parece ser necesario, pero por si acaso)
- dominio:
init 3
- dominio:
- Cambie al directorio del archivo de ejecución de instalación de NVIDIA
- dominio:
cd ~/Downloads/
- dominio:
- Ejecute el archivo de ejecución
- comando:
./NVIDIA...
(debería ser posible completar con tabulación; de lo contrario, utilícelols
para 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)
- comando:
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
- dominio:
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 -A
una bandera de esta manera:./NVIDIA... -A