我想尝试一个不同的视频显示驱动程序,但我不确定我当前正在使用哪个。有什么简单的方法可以查看我的系统当前使用的驱动程序?
lshw -c video
,并查找带有"configuration"的行。加载的驱动程序以"driver="为前缀。示例输出:
*-display description: VGA兼容控制器 product: Core处理器集成图形控制器 vendor: Intel Corporation physical id: 2 bus info: pci@0000:00:02.0 version: 02 width: 64位 clock: 33MHz capabilities: vga_controller bus_master cap_list rom configuration: driver=i915 latency=0 resources: irq:45 memory:fd000000-fd3fffff memory: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)
lspci -nnk | egrep -i --color 'vga|3d|2d' -A3 | grep 'in use'
正在使用的内核驱动程序:radeon
正在使用的内核驱动程序: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
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使用的是哪一个? - akostadinovlspci | grep
直接将我引导到那里。Lekensteyn 提议使用的 lshw
在 ubuntu 上可以工作,但无法在 lubuntu 上检测到模块文件的名称。 - Antonio Molinarolspci -nnk | grep -i vga -A3 | grep -e 'in use' -e VGA
该命令将显示类似以下内容:00:02.0 显示适配器 [0300]: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller [8086:0416] (rev 06) 正在使用的内核驱动程序:i915 01:00.0 显示适配器 [0300]: NVIDIA Corporation GK106GLM [Quadro K2100M] [10de:11fc] (rev a1) 正在使用的内核驱动程序:nvidia
- brewmanzhwinfo --gfxcard
/usr/lib/nux/unity_support_test --print
optirun
。glxinfo|egrep "OpenGL vendor|OpenGL renderer*"
相似的语法报告活动的GPU。我相信unity_support_test --print
在后台运行OpenGL命令。 - Sun Bearinxi -G
inxi
是一个 Perl 脚本,用于在控制台显示系统信息;至少在 Xubuntu 中默认安装。
sudo apt-get install sysinfo
modinfo
命令。如果您想获取有关i915
驱动程序的更多信息,请运行:modinfo i915
。 - Lekensteyn/var/log/Xorg.0.log
中查找。正在使用的卡片标有一个星号:(--) PCI:*(0:0:2:0) ...
- Lekensteynlshw
报告说该程序必须以root权限运行,但它仍然能够报告显卡信息。因此,细节被省略了,但这些对于了解驱动程序并不重要。 - Lekensteynapt
(或类似工具)安装lshw
。 - Ericsudo lshw -c video
命令时,"configuration"一栏显示"latency=0",而且没有任何关于驱动程序的条目。我已经成功重新安装了英特尔驱动程序多次,并在重新启动之间进行了操作,但无论如何,lshw都不显示任何驱动程序信息。 - user340048fnameORalias=$(lshw -c video 2> /dev/null | awk '/configuration: driver/{print $2}' | cut -d= -f2); { fname=$(modprobe --resolve-alias $fnameORalias); [ "$fname" == "$fnameORalias" ] && echo "$fname" && modinfo $fnameORalias 2> /dev/null; } || { modprobe --resolve-alias $fnameORalias; modinfo $(modprobe --resolve-alias $fnameORalias); }
- kavadias