如何找到我的系统正在使用的视频驱动程序?

如何找到我的系统正在使用的视频驱动程序?

我想尝试不同的视频显示驱动程序,但我不确定我当前正在使用哪一个。

有什么简单的方法可以查看我的系统当前正在使用什么驱动程序?

答案1

运行lshw -c video,并查找包含“configuration”的行。已加载的驱动程序以“driver=”为前缀。示例输出:

  *-展示
       描述:VGA兼容控制器
       产品:核心处理器集成图形控制器
       供应商:英特尔公司
       物理 ID:2
       总线信息:pci@0000:00:02.0
       版本:02
       宽度:64 位
       时钟:33MHz
       功能:vga_controller bus_master cap_list rom
       配置:驱动程序=i915延迟=0
       资源:irq:45 内存:fd000000-fd3fffff 内存:d0000000-dfffffff ioport:1800(size=8)

如果你想要有关已加载驱动程序的更多信息,请运行modinfo. 输出modinfo i915

filename:       /lib/modules/2.6.35-24-generic/kernel/drivers/gpu/drm/i915/i915.ko
license:        GPL and additional rights
description:    Intel Graphics
author:         Tungsten Graphics, Inc.
license:        GPL and additional rights
... stripped information for saving space ...
depends:        drm,drm_kms_helper,video,intel-agp,i2c-algo-bit
vermagic:       2.6.35-24-generic SMP mod_unload modversions 

请注意modinfo适用于文件名和别名,不适用于模块名。大多数模块的模块名和文件名都相同,但也有例外。其中之一是nvidia

使用这些命令来显示驱动程序文件名的另一种方法是:

modinfo -F filename `lshw -c video | awk '/configuration: driver/{print $2}' | cut -d= -f2`

加载后,命令lsmod将显示nvidia模块已加载。modinfo nvidia将出错。为什么?因为没有名为“nvidia”的模块,它只是一个别名。要解析别名,您可以使用modprobe --resolve-alias nvidia。或者在一个命令中获取整个 modinfo:

modinfo $(modprobe --resolve-alias nvidia)

答案2

您可以使用以下命令查看当前使用的 vga 内核驱动程序:

lspci -nnk | egrep -i --color 'vga|3d|2d' -A3 | grep 'in use'

ATI / AMD 显卡的示例输出:

  • 如果开源Radeon使用驱动程序:

     Kernel driver in use: radeon
    
  • 如果专有韋爾克斯使用驱动程序:

     Kernel driver in use: fglrx_pci
    

完成输出lspci -nnk | grep -i vga -A3

01:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI Mobility Radeon HD 2400 [1002:94c9]
    Subsystem: Toshiba America Info Systems Device [1179:ff00]
    Kernel driver in use: fglrx_pci
    Kernel modules: fglrx, radeon

你可以通过以下命令查看可用的内核模块lspci -nnk | grep -i vga -A3 | grep 'Kernel modules'

Kernel modules: fglrx, radeon

笔记:但这并不适用于所有情况!

对于 SiS 65x/M650/740 PCI/AGP VGA 显示适配器,没有“内核驱动程序正在使用”行:

lspci -nnk | grep -i vga -A2
01:00.0 VGA compatible controller [0300]: Silicon Integrated Systems [SiS] 65x/M650/740 PCI/AGP VGA Display Adapter [1039:6325]
    Subsystem: ASUSTeK Computer Inc. Device [1043:1612]
    Kernel modules: sisfb

并且可用的sisfb内核模块不是已加载的驱动程序,因为lsmod | grep sisfb没有输出(sisfb被列入黑名单)。在这种情况下sudo lshw -c video | grep Konfiguration不起作用。输出是:

   Konfiguration: latency=0

没有任何驾驶员信息。

答案3

hwinfo --gfxcard

查找以“ Driver: ”开头的行,您可能必须先安装 hwinfo 包。

答案4

我尝试了很多方法都没有成功,但是这个确实有效(Ubuntu 12.10):

/usr/lib/nux/unity_support_test --print

一个原因是我有 Nvidia Optimus 卡,这使得事情变得更加困难,所以我optirun在命令之前添加了。

相关内容