Как проверить информацию о текущих установленных видео драйверах?

67

Моя загрузка ЦП высока, когда я выполняю тривиальные вещи, такие как прокрутка файла PDF. Поэтому я думаю, что мой видеодрайвер установлен неправильно.

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

В Windows я мог бы использовать диспетчер устройств, как это сделать в Ubuntu Linux? Я не ожидаю решения с графическим интерфейсом для этого. Командная строка будет достаточно хороша.

smwikipedia
источник

Ответы:

70

В Linux есть две части для видеодрайвера, часть ядра и часть X-сервера.

  1. Давайте сначала определим ваше оборудование. Набрав lspci | grep VGAв терминале, вы увидите строку с описанием вашей графической карты (даже если она вообще не настроена).
  2. Давайте проверим, правильно ли загружен драйвер ядра find /dev -group video.
  3. Давайте проверим правильный драйвер X загружается glxinfo | grep -i vendor.

Если вам нужна дополнительная помощь, я хотел бы получить результаты следующих команд: ( Помните, никогда не доверяйте командной строке, которую люди просят вас выполнить, не зная, что она делает. )

lspci | grep VGA
lsmod | grep "kms\|drm"
find /dev -group video
cat /proc/cmdline
find /etc/modprobe.d/
cat /etc/modprobe.d/*kms*
ls /etc/X11/xorg.conf
glxinfo | grep -i "vendor\|rendering"
grep LoadModule /var/log/Xorg.0.log
shellholic
источник
1
Является ли эта буксировка частью модели видеодрайвера Linux?
smwikipedia
4
Если вы скопируете и вставите последние 4 строки в терминал и добавите результат в конце вашего вопроса (правка), вам будет проще ответить на ваш вопрос. Но помните, чтобы не выполнять ненадежные команды . Возможно, некоторые доверенные пользователи stackoverflow смогут проверить их и подтвердить в комментариях.
Shellholic
5
Если glxinfoкоманда недоступна, запустите sudo apt-get install mesa-utils.
JJ
1
grep VGAне всегда будет показывать все устройства.
Pilot6
Спасибо за напоминание людям не выполнять команды вслепую, которые они находят онлайн.
bartgol
25

Самый простой способ - бежать

lspci -k | grep -EA3 'VGA|3D|Display'

Пример:

00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)
    Subsystem: ASUSTeK Computer Inc. HD Graphics 530
    Kernel driver in use: i915
    Kernel modules: i915
--
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 950M] (rev a2)
    Subsystem: ASUSTeK Computer Inc. GM107M [GeForce GTX 950M]
    Kernel driver in use: nvidia
    Kernel modules: nvidiafb, nouveau, nvidia_375_drm, nvidia_375

Эта команда покажет все видеоустройства PCI и модули ядра, установленные и используемые.

Только VGAэтого недостаточно, потому что мобильные адаптеры Nvidia показаны как, 3Dа некоторые адаптеры AMD - как Display.

Pilot6
источник
19

Я использую эту команду, чтобы увидеть, что сейчас использует Xorg:

egrep -i " connected|card detect|primary dev|Setting driver" /var/log/Xorg.0.log
AX Labs
источник
7

Вот более простое решение, использующее графический интерфейс вместо командной строки. на рабочем столе Ubuntu выберите:

Системные настройки > Программное обеспечение и обновления (внизу) -> Другие драйверы (самая правая вкладка).

Это список информации вашего видео драйвера. Информация моего видео драйвера

Ян Фрэнк
источник
3

Я использую 64-битную Ubuntu 10.04 здесь. Вот что я узнал:

lspci выдаст вам список найденных устройств. Обычно видеокарта указана как «VGA контроллер» или что-то подобное, в моей системе написано:

01:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 9800 GTX] (rev a2)

Если вы имели в виду видеодрайвер X.org, см. /Etc/X11/xorg.conf и найдите «Драйвер» в разделе «Устройство» (их может быть несколько):

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 9800 GTX/9800 GTX+"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 9800 GTX/9800 GTX+"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

Если вам нужно выяснить конкретное расположение файла драйвера и версию X.org, попробуйте cat /var/log/Xorg.0.log и найдите строку, в которой написано что-то вроде LoadModule "'Driver в разделе Device xorg.conf ' , в моем случае:

(II) LoadModule: "nvidia"
(II) Loading /usr/lib/xorg/extra-modules/nvidia_drv.so
(II) Module nvidia: vendor="NVIDIA Corporation"
    compiled for 4.0.2, module version = 1.0.0
    Module class: X.Org Video Driver
(II) NVIDIA dlloader X Driver  195.36.24  Thu Apr 22 19:18:54 PDT 2010
(II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
(II) Primary Device is: PCI 01@00:00:0
esaj
источник
4
Этот ответ относится только к старым дистрибутивам. Новые версии, по-видимому, были удалены из xorg.conf
spuder
1
Я на 12.04 и xorg.conf, кажется, не существует, только xorg.conf.failsafe и xorg.conf.backup.
Адитья депутат
X.org автоматически проверяет все в эти дни, поэтому файл конфигурации xorg.conf отсутствует (если вы его явно не сделали). * Однако часть о проверке журнала X-сервера все еще остается в силе:less /var/log/Xorg.0.log
Stephan Henningsen
2

Это должно работать с любой Unix-подобной операционной системой.

Сначала, чтобы получить список всех устройств PCI, запустите:

lspci -nn

-nnфлаг указывает, lspciчтобы показать вендора PCI и коды устройства как числа и имена.

00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD/ATI] RS400 Host Bridge [1002:5a33] (rev 01)
00:02.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] RS4xx PCI Express Port [ext gfx] [1002:5a34]
00:11.0 IDE interface [0101]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB400 Serial ATA Controller [1002:437a] (rev 80)
00:12.0 IDE interface [0101]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 Serial ATA Controller [1002:4379] (rev 80)
00:13.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 USB Host Controller [1002:4375] (rev 80)
00:13.2 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 USB2 Host Controller [1002:4373] (rev 80)
00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 SMBus Controller [1002:4372] (rev 81)
00:14.1 IDE interface [0101]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 IDE Controller [1002:4376] (rev 80)
00:14.2 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 High Definition Audio Controller [1002:437b] (rev 01)
00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD/ATI] IXP SB4x0 PCI-PCI Bridge [1002:4371] (rev 80)
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation G96 [GeForce 9500 GT] [10de:0640] (rev a1)
02:02.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8100/8101L/8139 PCI Fast Ethernet Adapter [10ec:8139] (rev 10)

Вот в моем случае это:

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation G96 [GeForce 9500 GT] [10de:0640] (rev a1)

Наконец запустить

sudo lspci -vvv -d 10de:0640

sudoи -vvvсделать его более многословным и помогает отобразить все, что он может проанализировать. -dдля устройства в формате[<vendor>]:[<device>]

Последняя команда выведет список всех возможных возможностей и используемого драйвера ядра.

Гаян Виракутти
источник
2
-kполезнее, чем -nnв этом случае.
Pilot6
1

По крайней мере, для драйверов nvidia я обычно использую следующую команду в терминале:

cat /proc/driver/nvidia/version

Который выведет что-то похожее на следующее:

NVRM version: NVIDIA UNIX x86_64 Kernel Module  346.96  Sun Aug 23 22:29:21 PDT 2015
Камиль
источник
1
Это говорит,No such file or directory
opu 웃