Answers:
运行lshw -c video
,然后查找带有“ configuration”的行。加载的驱动程序的前缀为“ driver =”。输出示例:
*-显示 说明:VGA兼容控制器 产品:核心处理器集成图形控制器 供应商:英特尔公司 物理ID:2 巴士资讯:pci @ 0000:00:02.0 版本:02 宽度:64位 时钟:33MHz 功能:vga_controller bus_master cap_list rom 配置:driver = i915延迟= 0 资源:irq:45内存:fd000000-fd3fffff内存:d0000000-dfffffff ioport:1800(大小= 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)
modinfo nvidia_current
对我不起作用。但是lshw -c video
确实向我显示了nvidia的驱动程序详细信息
/var/log/Xorg.0.log
来发现。正在使用的卡上标有星号:`(-)PCI:*(0:0:2:0)...`
sudo lshw -c video
,“ configuration”行显示“ latency = 0”,并且任何地方都没有驱动程序条目。我已经成功安装了几次英特尔驱动程序,两次之间都重新启动,无论如何,lshw不会显示任何驱动程序信息。
您可以使用以下命令查看当前使用的vga内核驱动程序:
lspci -nnk | grep -i vga -A3 | grep 'in use'
ATI / AMD图形卡的示例输出:
完成输出 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
没有任何驾驶员信息。
in use
同时看到i915和nouveau怎么办?我怎么知道X使用哪个?
lspci | grep
让我很努力。lshw
Lekensteyn 的提议正在研究ubuntu时,未能在lubuntu上检测到模块文件的名称。
我尝试了很多方法但都没有成功,但这确实对我有效(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的知识。