如何查看当前安装的视频驱动程序的信息?


67

当我做一些琐碎的事情,例如滚动浏览PDF文件时,我的CPU使用率很高。因此,我认为我的视频驱动程序未正确安装。

我想通过检查当前安装的视频驱动程序的信息来确认这一点,例如是否已安装驱动程序以及该驱动程序的版本。然后,如果不是最新的,我可以决定是否安装新的。

在Windows上,我可以使用设备管理器,如何在Ubuntu Linux上执行该操作?我不希望为此提供GUI解决方案。命令行就足够了。


Answers:


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

1
这是Linux视频驱动程序模型的一部分吗?
smwikipedia

4
如果您在终端中复制粘贴最后四行,然后在问题的末尾添加结果(编辑),则回答问题将变得更加容易。但是请记住不要执行不受信任的命令。也许一些stackoverflow值得信赖的用户可以证明他们阅读并在评论中确认。
shellholic 2011年

5
如果glxinfo命令不可用,请运行sudo apt-get install mesa-utils
JJD

1
grep VGA不会总是显示所有设备。
飞行员

感谢您提醒人们不要盲目执行他们在网上找到的命令。
bartgol

22

最简单的方法是运行

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


19

我使用此命令来查看Xorg当前正在使用什么:

egrep -i " connected|card detect|primary dev|Setting driver" /var/log/Xorg.0.log

7

这是使用GUI而不是命令行的更简单的解决方案。在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”的。 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

4
此答案仅适用于较早的发行版。较新的版本似乎已从xorg.conf移开了
欺骗者2013年

1
我在12.04上,xorg.conf似乎不存在,只有xorg.conf.failsafe和xorg.conf.backup。
Aditya MP

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在这种情况下更有用。
飞行员

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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.