¿Necesita identificar la Unidad de procesamiento de gráficos (GPU) en una computadora Linux? Así es como puede identificar la tarjeta gráfica desde la línea de comandos y en GNOME.
Tabla de contenido
El primer paso
Probablemente hayas estado allí. Estás redactado para brindar apoyo a un pariente o colega de trabajo que no sea técnico, y algo te dice que esto no va a ser sencillo. ¡Aún así, ayudas! Rápidamente determina que el problema es probablemente un problema del controlador de pantalla. ¡Oye, esto podría no ser tan malo después de todo! Pero luego su breve destello de esperanza se apaga cuando pregunta: «¿Qué tipo de tarjeta gráfica tienes?»
La expresión de ciervo en los faros que recibe como respuesta lo dice todo. Para apoyar algo, necesita saber qué es. Entonces, ¿cómo se identifica la tarjeta gráfica en una computadora Linux?
Supongamos el peor de los casos y digamos que los controladores de la tarjeta gráfica nunca se instalaron, por lo que ni siquiera puede mirarlos para tener una pista. ¡No importa! Puede resolver este enigma desde la línea de comandos o mediante el interfaz gráfica del usuario (GUI).
lspci y la base de datos de ID de PCI
los Interconexión de componentes periféricos (PCI) es un protocolo común que puede utilizar para comunicarse con periféricos internos, como tarjetas gráficas. los Repositorio de ID de PCI mantiene una base de datos de todos los ID conocidos de los dispositivos PCI. Esto significa que si conoce alguna información sobre el dispositivo, puede buscarla.
Puede usar el comando lspci para listar los Dispositivos PCI instalados en una computadora Linux, así como alguna información sobre ellos.
¿No sería genial si pudiéramos unir la base de datos PCI y el comando lspci? Bueno, en realidad, eso es exactamente lo que sucede cuando ejecuta el comando lspci. Comprueba una copia local de la base de datos PCI para identificar los dispositivos PCI que detecta. Antes de comenzar, conviene actualizar la copia local de la base de datos PCI.
Escriba el comando update-pciids para hacer precisamente eso:
sudo update-pciids
Recuperamos la última versión de la base de datos y ahora podemos usar el comando lspci. Habrá mucha producción, así que la canalizaremos a menos. La opción -v (detallado) le dice a lscpi que nos dé tanta información como pueda. Usaremos sudo para asegurarnos de que la información sea lo más detallada posible.
Escribimos nuestro comando de la siguiente manera:
sudo lspci -v | less
Los resultados aparecen en menos. Si presiona la barra diagonal (/), activa la función de menos búsqueda.
Escriba «VGA» en mayúsculas y presione Entrar.
less busca la cadena «VGA» y muestra las primeras coincidencias que encuentra. A partir de ese punto, puede desplazarse o avanzar página para ver cuántas tarjetas gráficas encontró lspci.
Para este artículo, realizamos nuestra investigación sobre una variedad de distribuciones de Linux que se ejecutan en VirtualBox maquinas virtuales. Las máquinas virtuales, por supuesto, tienen tarjetas gráficas virtuales.
Para que pueda ver un ejemplo de resultados del mundo real, aquí está el resultado de la computadora host (física):
26:00.0 VGA compatible controller: NVIDIA Corporation GP108 [GeForce GT 1030] (rev a1) (prog-if 00 [VGA controller]) Subsystem: Gigabyte Technology Co., Ltd GP108 [GeForce GT 1030] Flags: bus master, fast devsel, latency 0, IRQ 97 Memory at f6000000 (32-bit, non-prefetchable) [size=16M] Memory at e0000000 (64-bit, prefetchable) [size=256M] Memory at f0000000 (64-bit, prefetchable) [size=32M] I/O ports at e000 [size=128] Expansion ROM at 000c0000 [disabled] [size=128K] Capabilities: [60] Power Management version 3 Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [78] Express Legacy Endpoint, MSI 00 Capabilities: [100] Virtual Channel Capabilities: [250] Latency Tolerance Reporting Capabilities: [128] Power Budgeting > Capabilities: [420] Advanced Error Reporting Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 > Capabilities: [900] Secondary PCI Express > Kernel driver in use: nouveau Kernel modules: nouveau
¡Nos dio mucha buena información de inmediato!
La tarjeta es una NVIDIA Corporation GP108 [GeForce GT 1030]y, después de unos segundos con un motor de búsqueda, encontramos el Página de tecnología de NVIDIA para ese dispositivo. Los «[VGA controller]”El texto al final de la primera línea indica que esta es la tarjeta gráfica“ operativa ”. Esa es información útil cuando hay más de una tarjeta instalada en una computadora.
El comando lshw
También puede usar el comando lshw para enumerar el hardware instalado en una computadora Linux. También informa una variedad de tipos, no solo hardware PCI.
Para decirle que informe sobre las tarjetas gráficas que encuentre, usaremos la opción -C (clase) y pasaremos el modificador «mostrar». La opción -numeric obliga a lshw a proporcionar los ID numéricos de los dispositivos, así como sus nombres.
Escriba lo siguiente:
sudo lshw -numeric -C display
Esto es lo que encontró ese comando en la computadora física:
*-display description: VGA compatible controller product: GP108 [GeForce GT 1030] [10DE:1D01] vendor: NVIDIA Corporation [10DE] physical id: 0 bus info: pci@0000:26:00.0 version: a1 width: 64 bits clock: 33MHz capabilities: pm msi pciexpress vga_controller bus_master cap_list rom configuration: driver=nouveau latency=0 resources: irq:97 memory:f6000000-f6ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff ioport:e000(size=128) memory:c0000-dffff
¡Es alentador que ambos encontraron la misma tarjeta!
los [10DE:1D01] los identificadores representan el fabricante (10DE) y el modelo (1D01). Para encontrar la marca y el modelo de inmediato, puede escribir «tarjeta gráfica 10de: 1d01» en un motor de búsqueda.
El comando glxinfo
El comando glxinfo es otro método que puede utilizar. Te da información del Extensión OpenGL para el sistema X Windows. Luego puede buscar algo de esa información para averiguar qué tipo de tarjeta gráfica está instalada en una máquina.
El comando glxinfo ya está presente en Manjaro y Fedora, pero debe instalarlo en Ubuntu. Para hacerlo, escriba el siguiente comando:
sudo apt-get install mesa-utils
Para canalizar la salida de glxinfo a less y usar la opción -B (ID de impresión), escriba lo siguiente:
glxinfo -B | less
La tarjeta gráfica se describe en la línea «Dispositivo».
Esta es la salida de la computadora física:
name of display: :1 display: :1 screen: 0 direct rendering: Yes Extended renderer info (GLX_MESA_query_renderer): Vendor: nouveau (0x10de) Device: NV138 (0x1d01) Version: 19.3.2 Accelerated: yes Video memory: 1987MB Unified memory: no Preferred profile: core (0x1) Max core profile version: 4.3 Max compat profile version: 4.3 Max GLES1 profile version: 1.1 Max GLES[23] profile version: 3.2 OpenGL vendor string: nouveau OpenGL renderer string: NV138 OpenGL core profile version string: 4.3 (Core Profile) Mesa 19.3.2 OpenGL core profile shading language version string: 4.30 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL version string: 4.3 (Compatibility Profile) Mesa 19.3.2 OpenGL shading language version string: 4.30 OpenGL context flags: (none) OpenGL profile mask: compatibility profile OpenGL ES profile version string: OpenGL ES 3.2 Mesa 19.3.2 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
Cuando escribe “NV138” en un motor de búsqueda, la tarjeta gráfica NVIDIA se identifica inmediatamente.
Uso de la GUI para identificar la tarjeta gráfica
Si la computadora es un servidor solo CLI, debe utilizar una de las técnicas que cubrimos anteriormente. Sin embargo, si tiene una GUI (que funciona), es probable que exista una forma gráfica de identificar la tarjeta gráfica. De hecho, esa opción probablemente se encuentre en algún lugar de las herramientas de configuración del escritorio de Linux.
En un escritorio GNOME, abra el cuadro de diálogo «Configuración» y luego haga clic en «Detalles» en la barra lateral. En el panel «Acerca de», busque una entrada «Gráficos». Esto le indica qué tipo de tarjeta gráfica hay en la computadora o, más específicamente, la tarjeta gráfica que está actualmente en uso. Su máquina puede tener más de una GPU.
En la pestaña «Acerca de» de la configuración de GNOME de un host físico, obtenemos el mismo ID de tarjeta «NV138» que vimos anteriormente. Nuevamente, podemos conectar esa información a un motor de búsqueda para encontrar el tipo de tarjeta.
Tarjetas gráficas en portátiles
Muchas computadoras portátiles tienen dos tarjetas gráficas: una del fabricante del unidad Central de procesamiento (CPU) y uno de un proveedor de GPU convencional.
Escribamos el mismo comando lspci de antes, pero esta vez, lo ejecutaremos en una computadora portátil:
sudo lspci -v | less
Como era de esperar, obtenemos una descripción de las tarjetas gráficas en la máquina:
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller]) Subsystem: ASUSTeK Computer Inc. 3rd Gen Core processor Graphics Controller Flags: bus master, fast devsel, latency 0, IRQ 33 Memory at f7400000 (64-bit, non-prefetchable) [size=4M] Memory at d0000000 (64-bit, prefetchable) [size=256M] I/O ports at f000 [size=64] [virtual] Expansion ROM at 000c0000 [disabled] [size=128K] Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit- Capabilities: [d0] Power Management version 2 Capabilities: [a4] PCI Advanced Features Kernel driver in use: i915 Kernel modules: i915 01:00.0 VGA compatible controller: NVIDIA Corporation GF119M [GeForce 610M] (rev a1) (prog-if 00 [VGA controller]) Subsystem: ASUSTeK Computer Inc. GF119M [GeForce 610M] Flags: bus master, fast devsel, latency 0, IRQ 34 Memory at f6000000 (32-bit, non-prefetchable) [size=16M] Memory at e0000000 (64-bit, prefetchable) [size=128M] Memory at e8000000 (64-bit, prefetchable) [size=32M] I/O ports at e000 [size=128] Expansion ROM at f7000000 [disabled] [size=512K] Capabilities: [60] Power Management version 3 Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [78] Express Endpoint, MSI 00 Capabilities: [b4] Vendor Specific Information: Len=14 > Capabilities: [100] Virtual Channel Capabilities: [128] Power Budgeting > Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 > Kernel driver in use: nouveau Kernel modules: nouveau
Esta computadora portátil tiene un GPU Intel Core y una NVIDIA GeForce 610M. Sin embargo, ambas tarjetas tienen el «[VGA controller]”, Que normalmente indica qué GPU está en uso.
Ambos no pueden estar en uso, así que primero intente que funcione la tarjeta del proveedor principal de GPU. Ese es el que el fabricante de la computadora portátil considera predeterminado e incluye en las especificaciones de hardware de la máquina.
¡Una de las técnicas que hemos cubierto aquí seguramente funcionará para usted! Una vez que sepa qué tipo de tarjeta gráfica tiene una computadora o computadora portátil, puede seleccionar el controlador de gráficos apropiado.