如何在系统中找到正在使用的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)
如果您想了解有关加载的驱动程序的更多信息,请运行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)
您可以使用以下命令查看当前使用的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 --listproviders
和sudo cat /sys/kernel/debug/vgaswitcheroo/switch
。 许多其他有用的信息如何控制电源,输出和卸载等。
打开终端并输入:
sudo apt-get install sysinfo
这是一个方便的小程序,可以告诉你所有你需要了解你的PC。
hwinfo --gfxcard
查找以“Driver:”开头的行您可能必须先安装hwinfo软件包。