问题描述
当我执行诸如滚动PDF文件等微不足道的事情时,我的CPU使用率很高。所以我认为我的视频驱动程序没有正确安装。
我想通过检查我当前安装的视频驱动程序的信息来确认,例如是否安装了驱动程序以及它是什么版本。然后我可以决定是否安装新的,如果它不是最新的。
在Windows上,我可以使用设备管理器,如何在Ubuntu Linux上执行此操作?我不希望有这样的GUI解决方案。命令行就足够好了。
最佳解决思路
在Linux中,视频驱动程序有两个部分,即内核部分和X服务器部分。
-
让我们先确定您的硬件。通过在终端中键入
lspci | grep VGA
,您应该看到一条带有图形卡描述的行(即使根本没有配置)。 -
让我们检查加载
find /dev -group video
的正确内核驱动程序。 -
让我们检查一下加载了正确的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
次佳解决思路
我用这个命令看看Xorg目前使用的是什么:
egrep -i " connected|card detect|primary dev|Setting driver" /var/log/Xorg.0.log
第三种解决思路
最简单的方法就是跑步
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
。
第四种思路
这是一个更简单的解决方案,使用GUI而不是命令行。在Ubuntu桌面上,选择:
系统设置>软件和更新(在底部) – >其他驱动程序(最右边的选项卡)。
这是您的视频驱动程序信息列表。
第五种思路
我在这里运行64位Ubuntu 10.04。这是我发现的:
lspci将为您提供已找到设备的列表。通常视频卡被列为”VGA controller”或者某些,在我的系统上它说:
01:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 9800 GTX] (rev a2)
如果您的意思是X.org的视频驱动程序,请参阅/etc/X11/xorg.conf并在”Device”部分查找驱动程序(可能有多个):
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
如果你需要找到driver-file和版本X.org使用的具体位置,请尝试使用cat /var/log/Xorg.0.log并查找类似于LoadModule“’在xorg.conf的Device-section中的驱动程序’的行,在我的情况下:
(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
第六种思路
这适用于任何unix-like操作系统。
首先列出所有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>]
格式的设备
最后一个命令将列出所有可能的功能和正在使用的内核驱动程序。