Поиск по сайту:

Как проверить, какой графический процессор установлен в Linux


Нужно определить графический процессор (GPU) на компьютере с Linux? Вот как вы можете определить видеокарту из командной строки и в GNOME.

Первый шаг

Вы, наверное, были там. Вас призвали оказывать поддержку родственнику, не являющемуся техническим специалистом, или коллеге по работе, и что-то подсказывает вам, что это не будет безболезненным. Тем не менее, вы входите! Вы быстро определяете, что проблема, скорее всего, связана с драйвером дисплея. Эй, может быть, все не так уж и плохо! Но затем ваша недолговечная надежда угасает, когда вы спрашиваете: «Какая у вас видеокарта?»

Выражение лица оленя в свете фар, которое вы получаете в ответ, говорит о многом. Чтобы что-то поддерживать, нужно знать, что это такое. Так как же определить видеокарту на компьютере с Linux?

Давайте предположим наихудший сценарий и скажем, что драйверы для видеокарты никогда не устанавливались, поэтому вы даже не можете посмотреть на них, чтобы понять. Это не имеет значения! Вы можете решить эту головоломку либо из командной строки, либо через графический интерфейс пользователя (GUI).

lspci и база данных PCI ID

Стандарт Peripheral Component Interconnect (PCI) — это общий протокол, который вы можете использовать для связи с внутренними периферийными устройствами, такими как графические карты. Репозиторий идентификаторов PCI содержит базу данных всех известных идентификаторов устройств PCI. Это означает, что если вы знаете некоторую информацию об устройстве, вы можете найти ее.

Вы можете использовать команду lspci для получения списка устройств PCI, установленных на компьютере с Linux, а также некоторой информации о них.

Было бы здорово, если бы мы могли связать базу данных PCI и команду lspci вместе? Собственно, именно это и происходит, когда вы запускаете команду lspci. Он проверяет локальную копию базы данных PCI, чтобы идентифицировать обнаруженные устройства PCI. Прежде чем мы начнем, целесообразно обновить локальную копию базы данных PCI.

Для этого введите команду update-pciids:

sudo update-pciids

Для нас получена последняя версия базы данных, и теперь мы можем использовать команду lspci. Выходных данных будет много, поэтому мы направим их в less. Параметр -v (подробный) указывает lscpi предоставить нам как можно больше информации. Мы будем использовать sudo , чтобы информация была максимально подробной.

Набираем нашу команду следующим образом:

sudo lspci -v | less

Результаты отображаются в формате less. Если вы нажмете косую черту (/), вы активируете функцию поиска less.

Введите «VGA» заглавными буквами и нажмите Enter.

less ищет строку «VGA» и показывает первые найденные совпадения. С этого момента вы можете прокручивать или листать вперед, чтобы увидеть, сколько графических карт найдено lspci.

Для этой статьи мы провели исследование различных дистрибутивов Linux, работающих на виртуальных машинах VirtualBox. Виртуальные машины, конечно же, имеют виртуальные видеокарты.

Итак, вы можете увидеть пример реальных результатов, вот вывод с главного (физического) компьютера:

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

Это сразу дало нам много полезной информации!

Это карта NVIDIA Corporation GP108 [GeForce GT 1030], и через несколько секунд поисковой системы мы нашли техническую страницу NVIDIA для этого устройства. Текст «[VGA controller]» в конце первой строки указывает, что это «рабочая» видеокарта. Это полезная информация, когда на компьютере установлено более одной карты.

Команда lshw

Вы также можете использовать команду lshw, чтобы вывести список оборудования, установленного на компьютере с Linux. Он также сообщает о различных типах, а не только об оборудовании PCI.

Чтобы сообщить ему о найденных графических картах, мы воспользуемся опцией -C (класс) и передадим модификатор display. Параметр -numeric заставляет lshw предоставлять числовые идентификаторы устройств, а также их имена.

Введите следующее:

sudo lshw -numeric -C display

Вот что эта команда нашла на физическом компьютере:

 *-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

Обнадеживает то, что оба нашли одну и ту же карту!

Идентификаторы [10DE:1D01] представляют производителя (10DE) и модель (1D01). Чтобы сразу найти марку и модель, можно ввести в поисковик «графическая карта 10de:1d01».

Команда glxinfo

Команда glxinfo — еще один метод, который вы можете использовать. Он дает вам информацию из расширения OpenGL для системы X Windows. Затем вы можете найти часть этой информации, чтобы узнать, какая видеокарта установлена на машине.

Команда glxinfo уже присутствует в Manjaro и Fedora, но ее необходимо установить в Ubuntu. Для этого введите следующую команду:

sudo apt-get install mesa-utils

Чтобы направить вывод из glxinfo в less и использовать параметр -B (печатать идентификаторы), введите следующее:

glxinfo -B | less

Видеокарта описана в строке «Device».

Это вывод физического компьютера:

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

Когда вы вводите «NV138» в поисковую систему, видеокарта NVIDIA определяется сразу.

Использование графического интерфейса для идентификации видеокарты

Если компьютер является сервером только CLI, вы должны использовать один из методов, которые мы рассмотрели выше. Однако, если у него есть (работающий) графический интерфейс, вероятно, есть графический способ идентифицировать видеокарту. Фактически, эта опция, вероятно, находится где-то в ваших инструментах настройки рабочего стола Linux.

На рабочем столе GNOME откройте диалоговое окно «Настройки», а затем нажмите «Подробности» на боковой панели. На панели «О программе» найдите запись «Графика». Это говорит вам, какая видеокарта установлена в компьютере, или, точнее, какая видеокарта используется в данный момент. Ваша машина может иметь более одного графического процессора.

На вкладке «О программе» настроек GNOME с физического хоста мы получаем тот же идентификатор карты «NV138», который мы видели ранее. Опять же, мы можем ввести эту информацию в поисковую систему, чтобы найти тип карты.

Видеокарты на ноутбуках

Многие ноутбуки имеют две видеокарты: одну от производителя центрального процессора (ЦП) и одну от основного поставщика графических процессоров.

Давайте введем ту же команду lspci, что и ранее, но на этот раз мы запустим ее на ноутбуке:

sudo lspci -v | less

Как и ожидалось, мы получаем описание видеокарт в машине:

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

Этот ноутбук имеет как графический процессор Intel Core, так и NVIDIA GeForce 610M. Однако обе карты имеют строку «[VGA controller]», которая обычно указывает, какой графический процессор используется.

Они не могут использоваться одновременно, поэтому постарайтесь сначала получить работающую карту от основного поставщика графических процессоров. Это тот, который производитель ноутбука считает стандартным и включает в спецификации оборудования для машины.

Один из методов, которые мы рассмотрели здесь, обязательно сработает для вас! После того, как вы узнаете, какой тип видеокарты установлен на компьютере или ноутбуке, вы можете выбрать соответствующий драйвер видеокарты.

RELATED: Best Linux Laptops for Developers and Enthusiasts