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

Трябва да идентифицирате графичния процесор (GPU) в компютър с Linux? Ето как можете да идентифицирате графичната карта от командния ред и в GNOME.

Първата стъпка

Вероятно сте били там. Призвани сте да осигурите подкрепа на роднина или колега, който не е технически специалист, и нещо ви подсказва, че това няма да бъде безболезнено. Все пак ти се намесвай! Бързо установявате, че проблемът вероятно е проблем с драйвера на дисплея. Хей, това може да не е толкова лошо в края на краищата! Но след това краткотрайното ви проблясък на надежда се потушава, когато попитате: „Каква графична карта имате?“

Изразът на елен в фаровете, който получавате в отговор, говори много. За да подкрепите нещо, трябва да знаете какво е то. И така, как да идентифицирате графичната карта в компютър с Linux?

Да приемем най-лошия сценарий и да кажем, че драйверите за графичната карта никога не са били инсталирани, така че дори не можете да ги погледнете, за да получите представа. Няма значение! Можете да разрешите тази главоблъсканица или от командния ред, или чрез графичен потребителски интерфейс (GUI).

lspci и базата данни за PCI ID

В Взаимосвързване на периферните компоненти (PCI) стандартът е общ протокол, който можете да използвате за разговор с вътрешни периферни устройства, като графични карти. В PCI ID хранилище поддържа база данни с всички известни идентификатори за PCI устройства. Това означава, че ако знаете някаква информация за устройството, можете да го потърсите.

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

Не би ли било чудесно, ако можем да свържем PCI базата данни и командата lspci заедно? Е, всъщност, точно това се случва, когато изпълните командата lspci. Той проверява локално копие на PCI базата данни, за да идентифицира PCI устройствата, които открива. Преди да започнем, е разумно да актуализирате локалното копие на PCI базата данни.

Въведете командата update-pciids да направя точно това:

sudo update-pciids

В

Най-новата версия на базата данни е извлечена за нас и вече можем да използваме командата lspci. Ще има много продукция, така че ще я насочим към по-малко. Опцията -v (подробно) казва на lscpi да ни даде възможно най-много информация. Ще използваме sudo, за да гарантираме, че информацията е възможно най-подробна.

  Как да синхронизирате Google Drive на Linux с OverGrive

Пишем нашата команда, както следва:

sudo lspci -v | less

В

Резултатите се появяват за по-малко. Ако натиснете наклонената черта (/), активирате функцията за по-малко търсене.

Въведете „VGA“ с главни букви и натиснете Enter.

Тип

по-малко търси низа „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 (клас) и ще предадем модификатора „дисплей“. Опцията -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

Окуражаващо, и двамата намериха една и съща карта!

  Как да намерите вашия IP адрес в Linux

В [10DE:1D01] идентификаторите представляват производителя (10DE) и модела (1D01). За да намерите веднага марката и модела, можете да въведете „графична карта 10de:1d01“ в търсачката.

Командата glxinfo

Командата glxinfo е още един метод, който можете да използвате. Той ви дава информация от OpenGL разширение за системата X Windows. След това можете да потърсите част от тази информация, за да разберете какъв вид графична карта е инсталирана на машината.

Командата glxinfo вече присъства в Manjaro и Fedora, но трябва да я инсталирате в Ubuntu. За да направите това, въведете следната команда:

sudo apt-get install mesa-utils

В

За да пренасочите изхода от glxinfo през по-малко и да използвате опцията -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 се идентифицира незабавно.

Използване на GUI за идентифициране на графичната карта

Ако компютърът е сървър само с CLI, трябва да използвате една от техниките, които разгледахме по-горе. Ако обаче има (работещ) GUI, вероятно има графичен начин да идентифицирате графичната карта. Всъщност тази опция вероятно е някъде във вашите инструменти за настройки на работния плот на Linux.

На работния плот на GNOME отворете диалоговия прозорец „Настройки“ и след това щракнете върху „Подробности“ в страничната лента. В панела „Относно“ потърсете запис „Графика“. Това ви казва какъв вид графична карта е в компютъра или, по-точно, графичната карта, която се използва в момента. Вашето устройство може да има повече от един графичен процесор.

  Как да използвате командата cd в Linux

Настройките на GNOME

В раздела „Относно“ за настройките на GNOME от физически хост получаваме същия идентификатор на карта „NV138“, който видяхме по-рано. Отново можем да включим тази информация в търсачката, за да намерим типа карта.

Настройките на GNOME

Графични карти на лаптопи

Много лаптопи имат две графични карти: едната от производителя на централен процесор (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 GPU и NVIDIA GeForce 610M. И двете карти обаче имат „[VGA controller]” низ, който обикновено показва кой графичен процесор се използва.

И двете не могат да се използват, така че първо се опитайте да накарате картата от основния доставчик на GPU да работи. Това е този, който производителят на лаптопа счита за по подразбиране и включва в хардуерните спецификации на машината.

Една от техниките, които разгледахме тук, със сигурност ще работи за вас! След като разберете кой тип графична карта има компютър или лаптоп, можете да изберете подходящия графичен драйвер.