Потрібно ідентифікувати графічний процесор (GPU) у вашій системі Linux? Ось кілька способів, як це зробити, використовуючи командний рядок або графічне середовище GNOME.
Перші кроки до ідентифікації GPU
Напевне, ви колись стикалися з ситуацією, коли необхідно надати технічну підтримку родичам або колегам, і вже відчуваєте, що це буде непросто. Але ви погоджуєтеся допомогти. Швидко з’ясовується, що проблема може бути пов’язана з драйвером дисплея. Здається, все не так вже й погано, але ваш оптимізм тане, коли ви ставите питання: “Яка у вас відеокарта?”.
У відповідь отримуєте розгублений погляд. Щоб надати ефективну допомогу, необхідно знати, з чим саме ви працюєте. Отже, як ідентифікувати відеокарту в системі Linux?
Розглянемо найгірший варіант: драйвери відеокарти не встановлені, і ви не можете подивитися на її налаштування. Це не проблема! Ви можете розв’язати це завдання за допомогою командного рядка або графічного інтерфейсу користувача (GUI).
lspci та база даних PCI ID
Стандарт PCI (Peripheral Component Interconnect) – це звичайний протокол для взаємодії з внутрішніми периферійними пристроями, зокрема відеокартами. Репозиторій PCI ID містить базу даних ідентифікаторів усіх відомих PCI-пристроїв. Маючи інформацію про пристрій, ви можете знайти його в цій базі даних.
Команда lspci виводить перелік PCI-пристроїв, підключених до комп’ютера під керуванням Linux, разом з їхніми характеристиками.
Команда lspci використовує локальну копію бази даних PCI для ідентифікації пристроїв. Перед початком роботи варто оновити локальну копію цієї бази даних.
Для цього виконайте команду sudo update-pciids
:
sudo update-pciids
Тепер, маючи актуальну базу даних, можна скористатися командою lspci. Вона виведе багато інформації, тому ми використаємо “less” для перегляду. Опція “-v” (verbose) забезпечить максимальну деталізацію. Команда “sudo” дозволить отримати повну інформацію.
Введіть наступну команду:
sudo lspci -v | less
Результати з’являться у програмі less. Натисніть “/” щоб активувати пошук.
Введіть “VGA” (великими літерами) і натисніть Enter.
less шукає рядок “VGA” і показує перші результати. Можна переміщатися вперед, щоб переглянути всі відеокарти, знайдені lspci.
Для прикладу, ми провели тести на віртуальних машинах VirtualBox з різними дистрибутивами Linux. Звісно, віртуальні машини використовують віртуальні відеокарти.
Ось вихід з реального (фізичного) комп’ютера:
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]. Пошук в інтернеті одразу дає технічні характеристики цієї карти. “[VGA controller]” наприкінці першого рядка вказує на те, що це активна відеокарта. Це важливо, якщо у вас встановлено кілька відеокарт.
Команда lshw
Команда lshw також дозволяє переглянути встановлене обладнання, включаючи не тільки 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: [email protected]: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 – ще один метод. Вона надає інформацію про GLX (OpenGL Extension to the X Window System). Використовуючи ці дані, можна з’ясувати, яка відеокарта встановлена на комп’ютері.
Команда 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.
Ідентифікація графічної карти через графічний інтерфейс
Якщо ваш комп’ютер – це сервер без графічного інтерфейсу, вам доведеться скористатися методами, описаними вище. Однак, якщо є робочий графічний інтерфейс, зазвичай є графічний спосіб дізнатися, яка відеокарта встановлена. Зазвичай ця опція знаходиться в налаштуваннях робочого столу Linux.
У GNOME відкрийте “Налаштування”, потім “Деталі” на бічній панелі. У розділі “Про систему” знайдіть запис “Графіка”. Там вказано тип відеокарти, яка використовується. Ваш комп’ютер може мати кілька графічних процесорів.
У вкладці “Про систему” GNOME на фізичному хості бачимо той самий ідентифікатор “NV138”, який ми бачили раніше. Цю інформацію можна ввести у пошукову систему для визначення типу карти.
Відеокарти на ноутбуках
Багато ноутбуків мають дві відеокарти: інтегровану від виробника центрального процесора (CPU) та дискретну від основного постачальника графічних процесорів.
Введемо ту саму команду 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]”, але зазвичай активною є дискретна.
Спробуйте ідентифікувати спочатку дискретну відеокарту, оскільки її найчастіше використовують за замовчуванням.
Один із наведених методів обов’язково допоможе вам. Після того, як ви дізнаєтеся тип відеокарти, встановленої на вашому комп’ютері або ноутбуці, ви зможете встановити відповідні графічні драйвери.