如何在系统中找到正在使用的video驱动程序?

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

查看我的系统当前使用的驱动程序的简单方法是什么?

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

   *-显示
       描述:VGA兼容控制器
       产品:核心处理器集成图形控制器
       供应商:英特尔公司
       身份证:2
       公交信息:pci @ 0000:00:02.0
       版本:02
       宽度:64位
       时钟:33MHz
       function:vga_controller bus_master cap_list rom
       配置: driver = i915 latency = 0
       资源:irq:45内存:fd000000-fd3fffff内存:d0000000-dfffffff ioport:1800(size = 8) 

如果您想了解有关加载的驱动程序的更多信息,请运行modinfomodinfo 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) 

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

 lspci -nnk | grep -i vga -A3 | grep 'in use' 

ATI / AMD图形卡的输出示例:

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

     Kernel driver in use: radeon 
  • 如果使用专有的Fglrx驱动程序:

     Kernel driver in use: fglrx_pci 

使用lspci -nnk | grep -i vga -A3完成输出 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'查看可用的内核模块 lspci -nnk | grep -i vga -A3 | grep 'Kernel modules' 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 lsmod | grep sisfb没有输出( sisfb被列入黑名单)。 在这种情况下也是sudo lshw -c video | grep Konfiguration sudo lshw -c video | grep Konfiguration不起作用。 输出是:

  Konfiguration: latency=0 

没有任何驾驶员信息。

我尝试了许多方法但没有成功,但这对我有用(Ubuntu 12.10):

 /usr/lib/nux/unity_support_test --print 

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

到目前为止,我见过的最好的信息是在nouveau wiki中。 它还可以帮助非nvidia卡: https : //nouveau.freedesktop.org/wiki/Optimus/

这是xrandr --listproviderssudo cat /sys/kernel/debug/vgaswitcheroo/switch 。 许多其他有用的信息如何控制电源,输出和卸载等。

打开终端并输入:

 sudo apt-get install sysinfo 

这是一个方便的小程序,可以告诉你所有你需要了解你的PC。

 hwinfo --gfxcard 

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