当前位置: 首页>>技术教程>>正文


我怎样才能找到我的系统中使用什么视频驱动程序?

, ,

问题描述

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

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

最佳解决办法

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


  *-display
       description: VGA compatible controller
       product: Core Processor Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 02
       width: 64 bits
       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)

如果您想了解更多关于加载驱动程序的信息,请运行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完成输出

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

没有任何司机信息。

第三种解决办法

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

/usr/lib/nux/unity_support_test --print

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/337.html,未经允许,请勿转载。