Трябва да идентифицирате графичния процесор (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, за да гарантираме, че информацията е възможно най-подробна.
Пишем нашата команда, както следва:
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
Окуражаващо, и двамата намериха една и съща карта!
В [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
Графичната карта е описана в реда „Устройство“.
Това е изходът от физическия компютър:
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 отворете диалоговия прозорец „Настройки“ и след това щракнете върху „Подробности“ в страничната лента. В панела „Относно“ потърсете запис „Графика“. Това ви казва какъв вид графична карта е в компютъра или, по-точно, графичната карта, която се използва в момента. Вашето устройство може да има повече от един графичен процесор.
В раздела „Относно“ за настройките на 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 GPU и NVIDIA GeForce 610M. И двете карти обаче имат „[VGA controller]” низ, който обикновено показва кой графичен процесор се използва.
И двете не могат да се използват, така че първо се опитайте да накарате картата от основния доставчик на GPU да работи. Това е този, който производителят на лаптопа счита за по подразбиране и включва в хардуерните спецификации на машината.
Една от техниките, които разгледахме тук, със сигурност ще работи за вас! След като разберете кой тип графична карта има компютър или лаптоп, можете да изберете подходящия графичен драйвер.